ラベル Import の投稿を表示しています。 すべての投稿を表示
ラベル Import の投稿を表示しています。 すべての投稿を表示

2017年8月10日

Rhinocerosでバッチ処理

複数のファイルを一括処理

先日、そういう案件があって、AutoCADのScriptと一緒だと思って、
やってみたら少しハマったのでメモ的に残しておきます。

RhinocerosではMacroと呼びます。
書き方自体はAutoCADと一緒です。
ダイアログが出ないようにハイフン付きのコマンドを使います。
http://docs.mcneel.com/rhino/5/help/ja-jp/information/rhino_scripting.htm

ファイルのパスは_SetWorkingDirectoryコマンドで作業フォルダを指定します。
あるいはフルパスで指定したほうがよいです。
実行はマクロエディタからが簡単です。

下のマクロは
テンプレートを開いてpdfをインポート、25%にスケールして、全体を起こして、dwgとして保存して、全体ズーム、3dm保存。スクリーンキャプチャを撮る(ログとして)













2017年5月19日

Grasshopper : テキストファイルの読み込み


勉強を進めようという前にごく基本的なデータの取り込みで少しハマりました...。
単純な座標データの取り込みなんですが、やってみるとなかなか思い通りにいかないもんです。
Grasshopper 0.9.0076

Read File Component

読み込むだけなら Read File で簡単にできるのですが、そのあとの整形・変換が注意ポイントです。

Split Text Component

Read File で取り込むと1行ずつの文字列のリストになります。
座標データなので各カラムを分割して数値に直す必要があります。
文字列の分割には Split Text を使いますが、"セパレータ文字"を指定するところで注意です。
※1列目はインデックス番号


使いやすいようにとセパレーター(区切り文字:Delimiter)を Value List にしてみたのですが、これが問題で書き方によって認識したりしなかったりします...。



カンマとスペースはダブルクォーテーションで囲む。
タブは通常プログラムコードではエスケープして ¥t と書くのですが使えないようです。
{tab} というGrasshopper上の特殊文字の指定も認識しません。
結局、Panelでタブ(エスケープしないで)を接続したら機能しました。

区切り文字にタブは向かないということなのでしょう...。




GhPython Component

取り込みと整形・リスト化にPythonを使う方法も試しました。

こちらも区切り文字(Delimiter)を指定できるようにしたのですが、
ここでは Value List でシングルクォーテーションで囲った¥t が使えます。
{tab}も使えます。
逆にダブルクォーテーションで囲った¥t はダメでした。



IronPython.Runtime.List

Pythonを使う時、ちょっとわかりづらいのがPythonのリストを直接出力できないということです。
そのまま出力しようとするとIronPython.Runtime.List というリストになって、データとして認識しません。
forumの過去スレを調べて解決しましたが、初心者にはわかりづらいポイントですね。

DataTreeで出す方法







点として出す方法