海外の公開されているcatiaのマクロ(国内は、ほぼ無いけど)もそうなんですが、
Fusion360のスクリプトも結構、読みにくいものが多い気がするんです。
とあるサイトで公開されていたものの一部なんですが
・・・ line1 = adsk.core.Line3D.create(adsk.core.Point3D.create(33, 3, 0), adsk.core.Point3D.create(37, 3, 0)) line2 = adsk.core.Line3D.create(adsk.core.Point3D.create(37, 3, 0), adsk.core.Point3D.create(37, 7, 0)) line3 = adsk.core.Line3D.create(adsk.core.Point3D.create(37, 7, 0), adsk.core.Point3D.create(33, 7, 0)) line4 = adsk.core.Line3D.create(adsk.core.Point3D.create(33, 7, 0), adsk.core.Point3D.create(33, 3, 0)) line5 = adsk.core.Line3D.create(adsk.core.Point3D.create(33, 3, 2), adsk.core.Point3D.create(37, 3, 2)) line6 = adsk.core.Line3D.create(adsk.core.Point3D.create(37, 3, 2), adsk.core.Point3D.create(37, 7, 2)) line7 = adsk.core.Line3D.create(adsk.core.Point3D.create(37, 7, 2), adsk.core.Point3D.create(33, 7, 2)) line8 = adsk.core.Line3D.create(adsk.core.Point3D.create(33, 7, 2), adsk.core.Point3D.create(33, 3, 2)) ・・・
まぁインデントがそろっていて綺麗なんですが、ひたすら座標値を指定して
線を作っているだけなんですよね。
オブジェクトのプロパティやメソッドだって理解してれば、
こんな感じにしてしまっても良いと思う。
・・・ lin3d = adsk.core.Line3D pnt3d = adsk.core.Point3D line1 = lin3d.create(pnt3d.create(33, 3, 0), pnt3d.create(37, 3, 0)) line2 = lin3d.create(pnt3d.create(37, 3, 0), pnt3d.create(37, 7, 0)) line3 = lin3d.create(pnt3d.create(37, 7, 0), pnt3d.create(33, 7, 0)) line4 = lin3d.create(pnt3d.create(33, 7, 0), pnt3d.create(33, 3, 0)) line5 = lin3d.create(pnt3d.create(33, 3, 2), pnt3d.create(37, 3, 2)) line6 = lin3d.create(pnt3d.create(37, 3, 2), pnt3d.create(37, 7, 2)) line7 = lin3d.create(pnt3d.create(37, 7, 2), pnt3d.create(33, 7, 2)) line8 = lin3d.create(pnt3d.create(33, 7, 2), pnt3d.create(33, 3, 2)) ・・・
もっとも、"lineX" の変数名に意味が有るとは思えないからリストにしても
良いだろうし、座標値見れば四角を2回描きたいのだろうと思うので、
それなりの関数用意しても良いように感じるんですよ。何度も行うのであれば。
”人の事、指摘出来る程のもの書いてるのか?" って言われると辛い。