ページ

2010年7月22日木曜日

稀に役立つスクリプト(その1)

2本のエッジが交差または最も近接している場所にガイドポイントを描くスクリプトです。電線や配管などのモデルを作る際に、「この2本の間を最短距離で繋ぎたいんだけど」という場合に使います。

2本のエッジを選択した状態で「Ruby コンソール」に以下を入力して下さい。

m=Sketchup.active_model
s=m.selection
e=m.active_entities
p=Geom.closest_points s[0].line,s[1].line
p.each {|i| e.add_cpoint i}

1行目:変数mにModelクラスを登録。
2行目:変数sにSelectionクラスを登録。
3行目:変数eにEntitiesクラスを登録。
4行目:変数pに近接点の座標(2個)を登録。
(2本のLineクラスを元にGeomクラスのclosest_pointsメソッドで算出させる)
5行目:その座標にガイドポイントを描く。

画像を拡大表示しないとわかりませんが、マゼンタの2点が最近接点です。

僕はこの処理を下記の様に1行にまとめてテキストファイルに保存しています。
model=Sketchup.active_model;(Geom.closest_points model.selection[0].line,model.selection[1].line).each {|i| model.active_entities.add_cpoint i}

この様な、ツールバーやメニューに常駐させるほどの使用頻度ではないシンプルなスクリプトを多数、1個のテキストファイルにまとめ、必要に応じてその中の1行だけをコピペする、という使い方もお奨めです。ちょっと複雑なプラグインを開発する際の辞書代わりにもなります。

0 件のコメント:

コメントを投稿