LPP(레이어이름 일괄 문자추가) 반대 기능 요청
페이지 정보
작성자 나현 작성일 23-08-14 16:00 조회 3,102 댓글 6본문
안녕하세요, 항상 정말 정말 감사히 잘 쓰고 있습니다!!
레이어 정리시 LPP를 사용하여 레이어에 일괄적으로 문자를 붙일 수 있어서 편리한데요!
반대로 "공통된 문자"를 일괄적으로 제거할 수 있는 기능이 추가되면 좋겠다고 생각이 들어 요청드립니다!
예를들어,
공통 삭제 문자에 "A-"를 입력하면,
A-CEN > CEN
A-CON > CON
.
.
.
이런식으로 공통된 접미사or 접두사를 제거해주는 기능이 있다면 무척 좋을 것 같습니다!
검토후 반영이 가능하시다면 힘써주세요!
항상 감사드립니다! (^^)(_ _)
레이어 정리시 LPP를 사용하여 레이어에 일괄적으로 문자를 붙일 수 있어서 편리한데요!
반대로 "공통된 문자"를 일괄적으로 제거할 수 있는 기능이 추가되면 좋겠다고 생각이 들어 요청드립니다!
예를들어,
공통 삭제 문자에 "A-"를 입력하면,
A-CEN > CEN
A-CON > CON
.
.
.
이런식으로 공통된 접미사or 접두사를 제거해주는 기능이 있다면 무척 좋을 것 같습니다!
검토후 반영이 가능하시다면 힘써주세요!
항상 감사드립니다! (^^)(_ _)
댓글목록 6
이자더님의 댓글
이자더 작성일
감사합니다.
구문을 쓰는 방식이 저와 거의 유사하세요^^
이자더님의 댓글
이자더 작성일v4.65 반영
이자더님의 댓글
이자더 작성일네. 4.65 는 다음 버전입니다.
zwcad사용자님의 댓글
zwcad사용자 작성일(defun c:rpslay ( / idx lay lst pre sel suf )
(setq pre (pslay:getstring "\n제거할 레이어 접두사 <없으면 엔터>: ")
suf (pslay:getstring "\n제거할 레이어 접미사 <없으면 엔터>: ")
)
(if (and (not (= "" pre suf)) (setq sel (ssget (list (cons 8 (strcat pre "*" suf))))))
(repeat (setq idx (sslength sel))
(or (member (setq lay (cdr (assoc 8 (entget (ssname sel (setq idx (1- idx))))))) lst)
(setq lst (cons (pslay:renamelayer lay (substr lay (1+ (strlen pre)) (- (strlen lay) (strlen pre) (strlen suf)))) lst))
)
)
)
(princ)
)
(defun pslay:renamelayer ( old new / lay )
(cond
( (tblsearch "layer" new)
(prompt (strcat "\n" new " already exists, cannot rename " old "."))
)
( (wcmatch (strcase old t) "0,defpoints,*|*")
(prompt (strcat "\nCannot rename " old "."))
)
( (and (setq lay (tblobjname "layer" old))
(setq lay (entget lay))
(entmod (subst (cons 2 new) (assoc 2 lay) lay))
)
(prompt (strcat "\n [" old "] 레이어가 [" new "]로 변경되었습니다"))
new
)
)
)
(defun pslay:getstring ( msg / rtn )
(while (and (/= "" (setq rtn (getstring t msg))) (wcmatch rtn "*[\\<>/?\":;*|`,=`]*"))
(princ (strcat "\nLayer name cannot contain the characters \\<>/?\":;*|,=`"))
)
rtn
)
XICAD의 LST (모든 켜 목록 작성) 과 함께 사용하면 편리합니다