자료실 Q&A
글 수 2,319
||||텍스트 내의 공백을 없애주는 리습이라고 해서
좀 쓰려고 하니, 문자 지정하는 단계를 건너 띕니다. ^^;;
아는게 없는지라... 수정 좀 부탁드립니다. (_ _);;
(defun c:rs(/ sset sl r nt se sent st stl r2 t1 ov nv ne)
(setq sset (ssget "x" (list (cons 0 "TEXT")))) ;text 선택
(setq sl (sslength sset))
(setq r 0)
(repeat sl
(setq nt "")
(setq se (ssname sset r))
(setq sent (entget se))
(setq st (cdr (assoc 1 sent)))
(setq stl (strlen st))
(setq r2 1)
(repeat stl ;text의 contents 값을 돌며 " "가 아닌값만 nt에 더해줌
(setq t1 (substr st r2 1))
(if (/= t1 " ")
(setq nt (strcat nt t1))
);if
(setq r2 (+ 1 r2))
);
(setq ov (assoc 1 sent))
(setq nv (cons 1 nt))
(setq ne (subst nv ov sent))
(entmod ne)
(setq r (+ 1 r))
);repeat
)
많이 길지는 않은데...
구조계산후 (마이다스) 값들을 찾아 ㅡ 없애고 그러면
텍스트에 공백이 남습니다. 이를 지정할 수 있도록
도와주세용~ ^_________^;;;
그럼 겨울철 감기 조심하시고 건강하길 빌면서...
좀 쓰려고 하니, 문자 지정하는 단계를 건너 띕니다. ^^;;
아는게 없는지라... 수정 좀 부탁드립니다. (_ _);;
(defun c:rs(/ sset sl r nt se sent st stl r2 t1 ov nv ne)
(setq sset (ssget "x" (list (cons 0 "TEXT")))) ;text 선택
(setq sl (sslength sset))
(setq r 0)
(repeat sl
(setq nt "")
(setq se (ssname sset r))
(setq sent (entget se))
(setq st (cdr (assoc 1 sent)))
(setq stl (strlen st))
(setq r2 1)
(repeat stl ;text의 contents 값을 돌며 " "가 아닌값만 nt에 더해줌
(setq t1 (substr st r2 1))
(if (/= t1 " ")
(setq nt (strcat nt t1))
);if
(setq r2 (+ 1 r2))
);
(setq ov (assoc 1 sent))
(setq nv (cons 1 nt))
(setq ne (subst nv ov sent))
(entmod ne)
(setq r (+ 1 r))
);repeat
)
많이 길지는 않은데...
구조계산후 (마이다스) 값들을 찾아 ㅡ 없애고 그러면
텍스트에 공백이 남습니다. 이를 지정할 수 있도록
도와주세용~ ^_________^;;;
그럼 겨울철 감기 조심하시고 건강하길 빌면서...
2005.12.12 12:53:52 (*.239.183.49)
(DEFUN C:Tdd(/ text chg i var old new chg)
(if (or(= ntxt nil)(/= (type ntxt) 'INT)) (setq ntxt 0))
(setq ndd (getint (strcat "\n삭제갯수("(rtos ntxt 2 0)")")))
(if (/= ndd nil)
(setq ntxt ndd))
(prompt "\nOld Text")
(while
(setq e (ssget '((-4 . "
(setq n (sslength e) I 0)
(repeat n
(setq var1 (entget (ssname e I)))
(setq text (cdr (assoc 1 var1))
count (strlen text))
(setq newtext (num_chk text))
(setq old (assoc 1 var1)
new1 (cons 1 newtext)
chg (subst new1 old var1))
(entmod chg)
(setq I (1+ I))
)
)
(princ)
)
(defun num_chk(a / na b)
(setq text2 "" newtxt "" na 1)
(repeat count
(setq b (substr a na 1) na (1+ na))
(if (/= b " ")
(setq text2 (strcat text2 b)));if
)
(setq na 1)
(repeat (- (strlen text2) ntxt)
(setq b (substr text2 na 1) na (1+ na))
(setq newtxt (strcat newtxt b))
);re
newtxt
);de
글자지울개수를 0으로하면됨
find 명령 써도 되는데..