ようやく、Python3 が3ds maxでも使えるようになるようです。
CG系のツールは、長らくPython2系が使われてきたので、これは大きな一歩ですね。
あとは、同じオートデスク製品である、Mayaの次期バージョンがどうなるのか楽しみですね。
2017年7月3日
MayaでShapeファイルを読み込む
Shapeファイル(ESRI Shapefile)を直接mayaに読み込めれば、
DEMから作ったメッシュの位置合わせが簡単になるかもと思ったので、PyMelでやってみました。
調べてみるとpyshpというモジュールが公開されていて、非常に簡単にShapeファイルをパースできます。
https://pypi.python.org/pypi/pyshp
compatible with Python 2.4-3.x.と書いてありますがmayapy(2.7.x)でも動きました。
Map3DやCivil3Dが無くてもとりあえずなんとかなりそうですね。
DEMから作ったメッシュの位置合わせが簡単になるかもと思ったので、PyMelでやってみました。
調べてみるとpyshpというモジュールが公開されていて、非常に簡単にShapeファイルをパースできます。
https://pypi.python.org/pypi/pyshp
compatible with Python 2.4-3.x.と書いてありますがmayapy(2.7.x)でも動きました。
Map3DやCivil3Dが無くてもとりあえずなんとかなりそうですね。
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で出す方法
点として出す方法
2017年3月12日
html to pdf
画像とちょっとしたテキストをまとめた文書をたくさん作りたかったので、
自動処理するための簡単な方法を探してみました。
WORDでVBA?と思ったのですが、WORD持ってない...。
書き出す情報はExcelにまとめてあるのでExcel VBAでExcel文書を作るという手もあるかと思ったのですが...。
でもそもそも、そんな高度なものを作るつもりはないので簡単なのはHTMLという結論でです。
そうして出来上がった文書を他へ出すならHTMLより印刷しやすいPDFが便利です。
ということでHTMLをPDFに変換するソフトが必要になりました。
wkhtmltopdf
一番簡単に使えそうなのはこれですかね。
http://wkhtmltopdf.org/URLからPDFを生成したり、ローカルのHTMLファイルも変換できます。
ダウンロードしてインストール、パスを通した後、PCの再起動が必要でした。
コマンドプロンプトから簡単に変換できます。
wkhtmltopdf test1.htm test1.pdf
大量にあってもバッチファイルを用意すれば簡単です。
pdfkit
Pythonからはpdfkitを使うと便利です。https://pypi.python.org/pypi/pdfkit
2017年1月29日
formZ バージョンアップ
年末恒例のキャンペーンでformZをバージョンアップしました。
"ファミリープランに入ればformZ9もゲットできる" との案内に乗ってみようと思ったのですが、いつもの"出る出る詐欺"の可能性が高いので、結局ファミリープランはパスすることにしました。(っていうかファミリープラン高すぎ!)
ちなみにformZ9の最大の目玉はPythonスクリプティング環境です。
現状のFSLは面倒すぎてユーザーが増えなかったのが失敗ですよね...。
Pythonなら勉強しやすいし外部のライブラリも利用できる。今度は使う人が増えると思います。
forumで"ちょい見せ"されてます。(上図)
"ファミリープランに入ればformZ9もゲットできる" との案内に乗ってみようと思ったのですが、いつもの"出る出る詐欺"の可能性が高いので、結局ファミリープランはパスすることにしました。(っていうかファミリープラン高すぎ!)
ちなみにformZ9の最大の目玉はPythonスクリプティング環境です。
現状のFSLは面倒すぎてユーザーが増えなかったのが失敗ですよね...。
Pythonなら勉強しやすいし外部のライブラリも利用できる。今度は使う人が増えると思います。
forumで"ちょい見せ"されてます。(上図)
2017年1月15日
京都市避難所マップ
京都に移住して1年ちょっと。
1月。関西ではやはり阪神大震災の慰霊や教訓にしようというテレビ番組が多くなります。
ということで京都市が公開しているデータを使って市内の避難所を地図にプロットしてみようと思いました。
単純にプロットするだけならPythonのfoliumというライブラリが便利だとQiita記事で読んでいたので、テストしてみると、40行足らずのコードでcsvデータからleafletというオープンソースマップにマーカーを配置できました。
ただし、マーカーが多すぎるのか重くてズームがきかない...。
仕方なくGoogle Maps APIでやりなおしてみたら、使えそうな地図になりました。
これをMyMapに保存できれば簡単に公開できそうなんだけどなぁ...。
と思っていたら、マイマップにはCSVファイルを読み込んでマーカーを配置する機能がありました!
Google すごいな...。
京都市避難所マップ
登録:
投稿 (Atom)










