あるソリッドの姿勢と位置をアニメーションのように少しづつ移動させ、その軌跡を描こうと考えています
(スイープやロフトのように平面が移動した軌跡ではありません)。
立体がスイープできればよいのですが、どうもそのような機能が見当たりません。
そこで次のような手順を考えました。
1:ソリッドAを作る
2:ソリッドAをコピー、ペーストしソリッドA'を作る
3:ソリッドA'を「配置」で姿勢、位置を変更する
4:ソリッドA’をコピー、ペーストしソリッドA''を作る
5:ソリッドA''を「配置」で姿勢、位置を変更する
6:ソリッドA''をコピー、ペーストしソリッドA'''を・・・・・・
という手順です。
これをいちいち手動で繰り返すのは大変なので、スクリプトレコーダーで操作を記録、
再生させようとしました。ところが手順3は記録されるものの、
手順2が記録されません。何か特別な操作が必要なのでしょうか?
ご存知の方がいらっしゃいましたら、ご教示願います。
ソリッドのコピー&ペーストを自動化するには
Re: ソリッドのコピー&ペーストを自動化するには
少し調べてみました。
How to deep copy with python script?
viewtopic.php?t=11014
上記で開発者の方が回答している様に
とするとアクティブなドキュメントのアクティブなオブジェクトをコピーできました(WIndows版のv0.16で確認)。
ドキュメント名(例."MyDoc")とオブジェクト名(例."MyBox")を指定してコピーしたい場合は以下の様になります。
copyObject()の2番目の引数をTrueとするとディープコピー(履歴ごとコピー)、Falseとするとシャローコピー(履歴をコピー元と共有)となる様です。
このメソッド自体はv0.16からの比較的新しいものらしく、GUI操作では(まだ?)マクロとして記録されるところまで作りこまれていない様でした。
How to deep copy with python script?
viewtopic.php?t=11014
上記で開発者の方が回答している様に
Code: Select all
App.ActiveDocument.copyObject(App.ActiveDocument.ActiveObject, True)
ドキュメント名(例."MyDoc")とオブジェクト名(例."MyBox")を指定してコピーしたい場合は以下の様になります。
Code: Select all
myDoc=App.getDocument("MyDoc")
myDoc.copyObject(myDoc.getObject("MyBox"), True)
このメソッド自体はv0.16からの比較的新しいものらしく、GUI操作では(まだ?)マクロとして記録されるところまで作りこまれていない様でした。
Re: ソリッドのコピー&ペーストを自動化するには
ありがとうございます。
これで作業手順が簡略化できそうです。
これで作業手順が簡略化できそうです。