TOP PAGE > 記事閲覧
文字と文字を結合させる(lisp)
投稿日 | : 2015/08/31(Mon) 10:10 |
投稿者 | : アルサポ |
参照先 | : |
先週、掲載した「文字の内容に追加記入をする(lisp)」を
http://r-support.org/bbs/patio.cgi?read=25&ukey=0
少し改良して、文字と文字を結合させるLISPを作成してみました。
使い方は、まず文字を選択します。
次に結合させたい文字を選択する(連続で選択できます)と、
最初に選択した文字に次々と文字が結合されます。
(defun C:TextJoin (/ mainTxt entMainTxt joinTxt entJoinTxt txt)
(setq mainTxt (entsel "\n文字列を選択:"))
(setq entMainTxt (entget (car mainTxt)))
;繰り返して処理を行う
(while (/= (setq joinTxt (entsel "\n結合する文字列を選択:")) nill)
(setq entJoinTxt (entget (car joinTxt))) ;結合する文字を取得
(setq txt (strcat (cdr (assoc 1 entMainTxt)) (cdr (assoc 1 entJoinTxt)))) ;文字を結合
(setq entMainTxt (subst (cons 1 txt) (assoc 1 entMainTxt) entMainTxt))
;結合した文字は消去する
(command "_ERASE" joinTxt "")
(entmod entMainTxt)
);while
(princ)
)