Sponsored links

【AutoLISP サンプル】テキストの内容を変更

Sponsored links
AutoLISP
Sponsored links
Jagaimo
Jagaimo

テキスト/マルチテキストを選択すると、テキストの内容が変わるAutoLISPコマンドです。

Sponsored links

コマンドの内容

コマンドを実行すると、テキスト/マルチテキストを選択するように促されます。

空振りクリックミス対策として、テキスト/マルチテキスト以外を選択したり、何もない所をクリックすると処理が進まずに、テキスト/マルチテキストを選択するように促し続けます。

テキスト/マルチテキストを選択すると、その内容が変更されます。

コマンド実行例です。
テキスト xxxxxx が2つあります。

コマンドを実行してこのテキストをクリックすると、コマンド名 MyName では文字を”私の名前” コマンドYourNameでは文字を”あなたの名前”に変更します。

文字を変更する処理は、JagaimoLispTxChと名付けてオリジナル関数としてまとめました。
なので、この一行で1つのコマンドができます。

(defun c:MyName () (JagaimoLispTxCh “私の名前“))

コマンド名新しい文字列を入れ替えて、類似コマンドを簡単にたくさん作ることができます。

AutoLISP サンプル

;/////////////////////////////////////////
;JagaimoLisp コマンド関数
;テキストチェンジ var.20210312
;---------------------------------------

(defun c:MyName () (JagaimoLispTxCh "私の名前"))
(defun c:YourName () (JagaimoLispTxCh "あなたの名前"))

;/////////////////////////////////////////

;=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
;JagaimoLisp関数 【JagaimoLispTxCh】テキストチェンジ
;----------------------------------------------
;<引数> NewTx  入れたいテキストの内容
;テキストかマルチテキスト選択でNewTxに変更
;=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
(defun JagaimoLispTxCh (NewTx / Objs Obj Flg Ent0 Ent)
  
     (setq Objs (ssget "_I" '((0 . "TEXT,MTEXT"))))
	(if Objs 
	    (setq Obj (ssname Objs 0))
		(progn
		    (setq Obj nil Flg "No")
			(while Flg
			     (while (null Obj)
                (setq Obj 
                      (car 
                        (entsel "\nSelect a TEXT/MTEXT: ")
                      );car
                );setq
			      );while null Obj
     
			     (setq Ent0 (cdr(assoc 0 (entget OBJ))))
     
			     (if (or (= "TEXT" Ent0)(= "MTEXT" Ent0))
			         (setq Flg nil)
			         (setq Flg "No" Obj nil)
			     );if
			);while Flg
		);progn	
	);if
  
  (setq Ent (Entget Obj))		
  	(setq Ent (subst (cons 1 NewTx )(assoc 1 Ent) Ent))
	    (entmod Ent)
  (princ "\n=========== JagaimoLISP.com ===========")
(princ));defun
  
;=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+

参考記事

共通する部分を自作関数にする方法についての記事です。

Comments