面の境界を取得する際、やはり曲線になる場合があるためスケッチで作るしか
方法が無さそうです。
#FusionAPI_python #Author-kantoku #Description-GetBoundaryCurves #指定した面の境界を取得 import adsk.core, adsk.fusion, traceback _app = adsk.core.Application.get() _ui = _app.userInterface def run(context): try: global _app, _ui des = adsk.fusion.Design.cast(_app.activeProduct) comp = des.rootComponent #面選択 selFilters = 'Faces' sel = Sel('面を選択/ESC-中止', selFilters ) if sel is None: return _ui.activeSelections.clear() edges = sel.entity.edges skt = comp.sketches.add(comp.xYConstructionPlane) [skt.include(edge) for edge in edges] _ui.messageBox('done') except: if _ui: _ui.messageBox('エラー\n{}'.format(traceback.format_exc())) #選択 #param: msg-string, selFilter-SelectionFilters #return: selection def Sel(msg, selFilter): global _ui try: return _ui.selectEntity(msg, selFilter) except: return None
スプリクト実行後、面を指定するだけです。 結果はこんな感じです。
これだけ・・・これだけなんです。
手動ではスケッチの "3Dジオメトリを含める" を全部のエッジで実行した感じです。
先日よくわからなかった、sketchオブジェクトのinclude関数は
こんな感じで使うんだぁ とわかりました。
こちらのObaraさんの回答がヒントになりました。
解決済み: 螺旋(スケッチ)の作成方法 - Autodesk Community
ん~画面上に無く行列を利用して変換した要素が突っ込めると
良いんだけどなぁ。