성심 성의껏 질문을 작성하여 주세요, 대충하시면 답변도 대충작성합니다.^^
- 제목 작성시 금지어
만들어주세요? 해주세요? 안되는데 이렇게 변경해주세요? 등등
- 특정분과 질문은 제목에 분과삽입 [건축]
좋은예) [분과]무엇에 대해 문의합니다. /[분과]B로 바꾸는 방법을 알고싶습니다.
- 말머리 필수
① CAD 종류 : AutoCad
② VERSION :2010
③ 운영 체제 :win 7
④ 질문내용 및 스크린샷(이미지 및동영상)
(defun c:lta1 (/ dsc ss n k en ltlist dsc1 ltn_h ltn_c )
(setvar "cmdecho" 0)
(setq dsc (getvar "dimscale"))
(setq ss (ssget (list (cons 0 "line,lwpolyline,circle"))))
(setq k 0)
(setq n (sslength ss))
(repeat n
(setq en (ssname ss k))
(setq ltlist (entget en))
(setq k (1 + k))
)
(setq
ltn_h (ssget ltlist (list (cons 6 "HIDDEN")))
ltn_c (ssget ltlist (list (cons 6 "CENTER")))
)
(if ltn_h
(progn
(setq dsc1 (* dsc 0.5))
(command "change" ltn_h "" "p" "lt" "HIDDEN" "s" dsc1 "")
)
)
(if ltn_c
(progn
(command "change" ltn_c "" "p" "lt" "CENTER" "s" dsc "")
)
)
(princ)
)
;;;
실행을 시키면 "error: 잘못된 함수: 1" 라는 문구가 뜹니다.
원인이 무엇인지 궁금합니다.
(LISP/DWG) - DWG 첨부시 보다 정확한 답변을 얻을수 있습니다.
※ 유의사항
- ①말머리 : 말머리를 달아야 구분이 쉽겠죠^^
- ②Screenshot : 이해를 돕기위해 삽입요망.
- ③파일 첨부 : 상위버전에서 테스트할 파일이 아니면 가급적 하위버전으로 저장후 첨부.
해당리습/해당파일(DWG) 도 같이 첨부하여 주세요.
- ④제 목 : 질문 내용 반영(개략적인 내용), 예) 해치를 만들고 싶어요, pline을 연결할려면?
- ⑤질문글 삭제금지 : 질문후 댓글이 달린글은 삭제금지.
여러 리플러들이 소중한 시간을 내어서 고민한후 댓글을 작성한 이상 "강력조치" 토록 하겠음.
※ 정답만이 댓글은 아닙니다. 그 답이 맞던 틀리던 그건 그 댓글로서 존중되어야 합니다.
회원님들이 글을 읽었다는것과 댓글을 달았다는건 그만큼 관심을 가지고 있고 또 그 답을 해주기 위해
검색도 해보고 도움말도 보고 고민도 하는 일련의 과정을 거치면서 나오기 때문이죠.
이에 대한 고마움과 감사함을 모르는 테러행위(?)는 없었으면 합니다.
첫댓글 (setq k (1 + k)) 이구문에서 발생한 에러입니다.
올바른 표현법
(setq k (1+ k)) 혹은 (setq k (+ 1 k)) 입니다.
1이라는 함수는 없으면 + 함수 1+ 함수를 사용하시면 됩니다.
감사합니다.
말씀하신대로 수정하니 "error: 잘못된 함수: 1" 라는 문구는 안뜹니다만...."error: 인수가 너무 많습니다." 라고 뜹니다..ㅠㅠ 산 넘어 산이네요..
(ssget ltlist (list (cons 6 "HIDDEN")))
ssget 구문이 잘못 되어 있네요 저부분에 ltlist를 넣을수 없어요
ssget 함수를 여기가서 http://cafe.daum.net/archimore/GmRN/54 확인해 보시구요
반복문 부터 문제가 있어보여요
요소속성을 가져오는것만 반복하고 끝나네요?
(repeat n
(setq en (ssname ss k))
(setq ltlist (entget en))
(setq k (1 + k))
)
감사합니다. ssget 구문을 잘못 사용했네요.
http://cafe.daum.net/archimore/GmRN/54 참조해서 해결했습니다.
SOMA님, 초이님 감사합니다.