Sponsored links

【AutoLISP コマンド操作】同じ位置にコピー&ペースト

Sponsored links
基礎編
Sponsored links

別の図面の全く同じ場所にコピー&ペーストしたい!

という時に便利なコマンドです。

Sponsored links

予備知識

コマンドの内容

AutoCADコマンドのCOPYBASE[基点コピー]は、選択した図形を基点と一緒に、クリップボードにコピーするコマンドです。
そして、PASTECLIP[貼り付け]は、コピーした図形を基点に貼り付けるコマンドです。

今回は、基点コピー、貼り付け、どちらも基点に同じ点(0,0,0)を設定し、全く同じ場所や他の図面やレイアウトの同じ位置にコピペするコマンドを作ります。

ここで作る自作コマンドの名前は、
基点(0,0,0)コピーをCC
(0,0,0)貼り付けをVV
にします。

AutoLISP プログラム

(defun c:CC ()
 (command-s "._COPYBASE" "0,0") 
(princ))

;================================

(defun c:VV ()
 (command-s "._PASTECLIP" "0,0") 
(princ))

AutoLISP の解説

CC

(defun c:CC ()

コマンドの名前をCCに設定

(command-s “._COPYBASE” “0,0”)

コマンドCOPYBASEを開始して、基点0,0でコピーしてクリップボードに保存します。

(princ))

コマンドCCの定義終了です。

VV

(defun c:VV()

コマンドの名前をVVに設定

(command-s “._PASTECLIP” “0,0”)

コマンドPASTECLIPを開始して、クリップボードにある直前にコピーした図形を基点0,0で貼り付けします。

(princ))

コマンドVVの定義終了です。

カスタマイズ例

PASTECLIP[貼り付け]の代わりにPASTEBLOCK[ブロック貼り付け]を使うと、ブロックとして張り付けされます。

ブロック貼り付けをするとややこしいブロック名になるので、AutoLISPに慣れてきたらついでに名前を付ける工程を入れると使いやすくなると思います。

まとめ

  • COPYBASE[基点コピー]とPASTECLIP[貼り付け]、同じ点を基点にすることで、同じ場所、別図面やレイアウトの同じ位置にコピー&ペーストすることができる。

Comments