意味がよくわからないかもしれませんが、「rhinoscriptsyntaxで生成したプレビューオブジェクトは、コンポーネントを経る時点で破棄される」とい暗黙の仕様があるようで(おそらくメモリリークを防ぐため、メモリをセーブするため)、その認識が甘かったために昨日の諸々のエラーを誘発していたようです。Rhino.Geometryのデータではなく、rhinoscriptsyntaxやコンポーネントの入力オブジェクトを使う場合は、実行しているコンポーネントに入力する必要がある、、、、、、ということで、コードの書き方、スタイルをすこし変更します。
world.proc()
というところに、毎回 site オブジェクトを入力するようにします。つまり
world.proc(site)
として、毎回 site オブジェクトを入力します。proceess コンポーネントに site 入力ポートをつくります。スタジオモジュールのsetBoundary も
def proc(self,site):
su.SetBoundary(site)
とproc関数をコールするごとにセットします。
修正版をdropboxに置きます。他の人も参考にしてください。
rev_150609_shibuya.gh, rev_150609_shibuya.3dm
後に熊谷さんのものもアップします。studio_utility_1_0 も更新します。
※type hint をオブジェクトにあわせて明示するように変更していましたが、↑に注意すればtype hint はすべて標準の “ghdoc Object when geometry (…” で問題ありません。
Comments are closed.