특정 설정을 하면 도면을 열때마다 설정값과 다를때 경고창 표시 기능 추가 가능여부
페이지 정보
작성자 캐드테스터 작성일 23-11-13 15:10 조회 5,427 댓글 8본문
혹시 기능 추가 가능한지 확인만 해주세요
어떤 특정창에 특정한 명령어(예:LTS)를 입력후
숫자를 넣는 칸을 만들어서 입력(예:1)하면
아무 도면이나 킬때 마다 설정 값과 다르면 경고창을
뜨도록 만들수있나요?
이유는 특정 도면이 너무 무거워서 새로그리기로 하나 만든 다음에
일부만 복사 붙여넣기로 가져가서 SVS같은 작업을 했는데 LTS 설정을
못 가져가더라고요
* 기본 설정을 LTS는 1로 설정해놔서 새로 그리기를 하면 저 설정으로 잡혀요
일단 대충 확인만 해주세요
# 추가한 이미지는 참고만 하라고 그림판으로 대충 편집해서 넣어놨어요
댓글목록 8
이자더님의 댓글
이자더 작성일참고로... 여러 도면의 선축척은 MSL 의 스크립트 명령으로 바꿀 수 있습니다.
이자더님의 댓글
이자더 작성일
있긴 하지만, 이 것은 개인적인 용도에 국한되는 기능이라서.. 제가 만들어 드릴 수는 없고,
올려 드린 함수에서 alert 이라는 문자를 prompt 로 바꾸면, 명령창에서만 보이게 되므로, 성가실게 되지는 않을 텐데...
이미 xicad 를 깔면, 맨 처음에 도면의 선축척이 보이도록 해 놓았기에.. 결국 중복되는 기능이므로, 그렇게 사용하실거면, 삭제를 하시는 것이 좋습니다.
zwcad사용자님의 댓글
zwcad사용자 작성일
(defun c:MYLTS ()
(setq path-lts "C:\\xicad\\Lisp\\alertlts.lsp")
(load path-lts)
)
(defun c:LTSEDIT ()
(setq path-lts "C:\\xicad\\Lisp\\alertlts.lsp")
(vl-mkdir (vl-filename-directory path-lts))
(setq ltscale-value (getreal "\nLTSCALE 입력 : "))
(setq fn (open path-lts "w"))
(write-line (strcat "(if (/= (getvar 'LTSCALE) " (rtos ltscale-value 2 1) ")") fn)
(write-line (strcat " (alert (strcat \" 설정값과 도면이 다름. 도면값: \" (rtos (getvar 'LTSCALE) 2 1)))") fn)
(write-line "(princ)" fn)
(write-line ")" fn)
(close fn)
(prompt (strcat "\n" path-lts "을 생성하였습니다."))
(princ)
)
연습 삼아 간단하게 수정해보았습니다
LTSEDIT으로 LTS값을 수정하고 필요할때만 MYLTS로 불러오시면 됩니다
조금이나마 사용하기 좋게 수정해 보려고 하긴 했는데
XICAD의 기본 출력 메세지와 MSL 기능을 이용하시는게 제일 편리할것 같습니다
이자더님의 댓글
이자더 작성일의도를 잘 이해하지는 못했지만...
아래 문장을 복사해서
../xicad/Lisp/_Onekey.lsp 파일을 메모장으로 열어서 넣어 시면 되세요.
** 아래 문장에서 물음표 ? 를 원하시는 숫자로 바꾸어야 합니다.
(if (/= (getvar 'LTSCALE) ?)
(alert (strcat " 설정값과 도면이 다름. 도면값: " (rtos (getvar 'LTSCALE) 2 1)))
)