1
1

More than 1 year has passed since last update.

PythonでFusion360でexportしたstlファイルの単位をmm→mに変換する

Last updated at Posted at 2022-08-22

問題点

Gazebo上で自分で作ったオブジェクトを出現させるときはstlファイルを読み込ませる必要がある。
Fusion360でstlファイルを出力する時はmm単位、ROSやGazeboはm単位であるため、mmからmに変換する必要があるが、フリーソフトを使ったり、Windowsにしか対応してない方法が多かったので、Ubuntu単体で変換できる方法を模索したところ、Pythonのnumpy-stlライブラリを使うことで解決できた。

追記

調べてみたところFusion360で直接メートル系に変換できました。無知で申し訳ない。。。
「メッシュで保存」→「単位のタイプ」でメートルを選択してください。
スクリーンショット (1).png
スクリーンショット (2).png

自分は今まで「ファイル」→「エクスポート」で出力する方法しか知らなかったため、ためになりました。
以下の方法は、すでにmmで出力してしまった際に修正する方法として活用してください。

インストール

pip install numpy-stl

スクリプト


from stl import mesh

# 変換したいstlファイル名
file_name = "sample.stl"
#出力ファイル名
output_file_name = "sample_m.stl"

mesh = mesh.Mesh.from_file(filename=file_name)

# 0.001倍することでmmからmに変換
mesh.x = mesh.x * 0.001
mesh.y = mesh.y * 0.001
mesh.z = mesh.z * 0.001

mesh.save(output_file_name)


1
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1