人気ブログランキング |

Rhino+

Rhinoceros plugin開発日記
by rhino-plus
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Link
最新の記事
bbpl バグ修正
at 2013-12-26 14:28
bansen バグ修正
at 2013-12-26 14:22
53_offc (offse..
at 2012-10-18 15:19
以前の記事
ブログパーツ
夢見る外国為替
検索
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

<   2010年 11月 ( 8 )   > この月の画像一覧


delp(delete points)

コマンドの中でも頻繁に使う「削除」ですが、特定のオブジェクトのみ削除することも多いと思います。前回delesを作成しましたがこのプログラムを応用して他のオブジェクトも削除するプログラムに変更したいと思います。

*************************************************

Sub delp
<---①ここはコマンドの定義です。好きな名前を入れてください

Dim Object,arrObjects2,LockedObjects,allObjects,preLockedObjects

preLockedObjects = Rhino.LockedObjects

allObjects = Rhino.SelectedObjects
Rhino.command "selnone"

If Not IsNull(allObjects) Then
allObjects = Rhino.NormalObjects
If IsNull(NormalObjects) Then
Rhino.print "There are no objects"
Exit Sub
End If
End If

Rhino.Command "'_SelPt"
 <---②ここでポイントのみ選択
Rhino.Command "'_Invert"
 <---③反転選択にてポイント以外のオブジェクトを削除できるようにします。

arrObjects = Rhino.SelectedObjects
If Not IsNull(arrObjects) Then
Rhino.LockObjects arrObjects
End If


arrObjects2 = Rhino.GetObjects("Select delete points",1 )
<---④ここが重要です。ポイントを選択するのですが「、1」がポイントのみを選択する呪文になります。下の画像のvalueがこの数値に対応しています。
詳しくはライノセラスeditscriptのHelp項目GetObjectsを参考にしてください。Helpはライノセラスのコマンドラインでeditscriptと打ちこんで立ち上がったダイアログよりHelpを呼び出せます。


If IsArray(arrObjects2) Then
Rhino.DeleteObjects arrObjects2
End If

LockedObjects = Rhino.LockedObjects

If Not IsNull(LockedObjects ) Then Rhino.unLockObjects LockedObjects

If Not IsNull(preLockedObjects) Then
Rhino.LockObjects preLockedObjects
End If

End Sub

delp
<---⑤ここはコマンドの定義です。好きな名前を入れてください。

*************************************************

どうですか?
少しの変更で新らしいコマンドが作成できます。②を「'_SelCrv」に変更して④を「'4」にすることでカーブを削除するコマンドになります。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ


d0189213_7355314.jpg


by rhino-plus | 2010-11-30 07:27 | 06_delp

clc(Change layer color)

作業中にレイヤの色を変えることがあります。毎回どの色にしようか迷ってしまいます。そんな迷いからこのコマンドは解放してくれます。

ついつい嬉しくて右クリックを連打してしまいます。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ

by rhino-plus | 2010-11-15 09:42 | 08_clc

nl(new layer)

新規レイヤ作成を行うと色を変更しませんか?そんなちょっとした作業時間を無くすコマンドです。色は自動でランダムに指定されます。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ

by rhino-plus | 2010-11-15 09:39 | 04_nl

rott(Rotation text)

テキストをテキスト平面で180度回転させます。
事前選択ならばグループになったテキストも実行できます。またテキスト以外を選択してもテキストのみ回転してくれます。

テキストの数が多くなるとプログラムが一生懸命仕事をしている様子が見られます。「何事もコツコツと」でも言っているかのようなコミカルな動きが好きです。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ

by rhino-plus | 2010-11-09 09:23 | 03_rott

txcp(Text center point)

テキストを回転させたい時があります。しかしテキストを上から見ると見えなくなります。そのガイドとしてテキスト中心にポイントを作成してテキストの位置がわかるようになればと思いました。

しかし作成中に問題が。プログラムの中でbounding boxコマンドを使用しているのですが英語環境ではうまく動きません。調べると日本語と英語でローカル座標設定のオプション文字が違うことが判明(日本語は_A 英語は_C)。
いろいろと工夫してうまく条件分岐してどちらでも動くようになりました。

あまり使用しないコマンドではありますが、イザという時にはどうぞ。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ

by rhino-plus | 2010-11-09 09:22 | 02_txcp

deles(Delete except surface)

形状を作成していると思わぬ微小カーブが作成されることがあります。削除するにもサーフェイスを非表示にしてカーブを選択してからと面倒です。
それならば囲み選択でサーフェイス(ポリサーフェイス)以外を簡単に削除するコマンドを作ろうと思いました。

最初ライノスクリプトを使って簡単なコマンドはできたのですが動作がいまいちでしたのでサーフェイスとポリサーフェイスを最初にロックさせてからそれ以外を囲み選択できるように修正。これならユーザーが視覚的にアイテムを選択して削除できるのでわかりやすくなります。
おまけとして最初からロックされているアイテムは除外するようにしました。

ダウンロードは創造社HPの左下のRhino+リンクからどうぞ

by Rhino-plus | 2010-11-04 11:34 | 01_deles

プログラムの公開に関して

Rhino+では基本的にプログラムを公開しています。

EditScriptでソースを変更すれば新しいコマンドも作成できます。
ユーザーの中には「こういうコマンドを作りたい」という思いはあっても実際プログラム作成の問題などで断念する場合も多いようです。私も最初はプログラムのことはまったくわかりませんでした。しかしサンプルプログラムの1行を変えてコマンドを作成しているうちに理解できるようになりました。
その時に思ったことが「もっと実務で使うサンプルプログラムがあれば」ということでした。
ということで、プログラムも公開しています。

自分で作成したコマンドが動くのは快感ですよ。
d0189213_126792.jpg


by Rhino-plus | 2010-11-04 11:32 | お知らせ

Rhino+ブログ

Rhino+の開発ブログです。

開発状況やRhino+テストバージョンの公開などユーザーとの情報交換の場になればいいと考えています。

Rhino+へは創造社HPの左下のRhino+リンクからどうぞ


d0189213_11444026.jpg


by rhino-plus | 2010-11-02 06:43 | お知らせ