LISPでのダイナミックブロックの編集

LISPでのダイナミックブロックの編集

kosuke-irabe
Observer Observer
623件の閲覧回数
2件の返信
メッセージ1/3

LISPでのダイナミックブロックの編集

kosuke-irabe
Observer
Observer

 

当方、AutoCAD 2024です。

 

ストレッチアクションを持つダイナミックブロックを編集するためのLISPコマンドを作りたいのですが

ダイナミックブロックのパラメーターのdxfデータの取り出し方法とその編集方法が分からないため、ご教示いただきたいです。

 

何をしたいかご説明させていただきますと

数百〜数千という数のブロックをinsertする業務があります。この業務を行うにあたり、excel上でコマンドを作成し、コマンドラインに貼り付けて、ブロックをinsertする形を取っています。

 

ダイナミックブロックでも同様の作業行いたいです。excelで作るコマンドの中に前述のLISPコマンドを忍ばせて、運用したいと考えています。

 

よろしくお願いします。

 

 

0 件のいいね
解決済み
624件の閲覧回数
2件の返信
返信 (2)
メッセージ2/3

N.H1971
Advisor
Advisor
解決済み

LISPでダイナミックブロックのパラメータを操作する場合、下記サイトにある「Set Dynamic Block Property Value」で可能です。
http://www.lee-mac.com/dynamicblockfunctions.html#setdynamicpropvalue

 

使い方は、(LM:setdynpropvalue VLAオブジェクト パラメータ名 変更値) なので、
例えば、あるダイナミックブロックの「L1」というパラメータを3000にしたい場合、LISPでブロックを挿入し、その直後に
(LM:setdynpropvalue (vlax-ename->vla-object (entlast)) "L1" 3000)
とすれば、L1が3000に変更されます。



H N
AUG-JP Staff
AUG-JP

メッセージ3/3

kosuke-irabe
Observer
Observer

N.H1971さん

 

コメントありがとうございます。

教えていただいたURLをご参考にさせていただき、コマンドを作ることができました。

VisualLISPは苦手意識あったので、とても勉強になりました。ありがとうございます。