2013.08.04 17:35
안녕하세요
제가 면적 리습을 사용하는데 CAD2010 버젼과 2014 버젼에서는 작동을 안합니다.
객체를 선택하면 선택한 객체의 면적이 덱스트로 표시해줌니다.
그런데 꼭 CAD2010 버젼과 2014 버젼 에서는 오류가 난다고 하는데 전문가 분께서 봐주시기 바랍니다.
(defun c:AS (/ z ss sno no tno sum x entity etype num h pt ent_sum )
(setvar "cmdecho" 0)
(setq sno 0)
(setq ss (ssget))
(setq sno (sslength ss))
(setq no 0)
(setq sum 0.0)
(setq tno 0)
(command "area" "0,0" "")
(setq ent_sum 0)
(repeat sno
(setq x (ssname ss no))
(setq etype (cdr (assoc 0 (entget x))))
(if (or (= etype "POLYLINE")(= etype "LWPOLYLINE"))
(progn
(command "area" "e" x)
(setq ent_sum (getvar "area"))
)
(progn
(setq tno (1- tno))
(setq ent_sum 0)
)
)
(setq sum (+ sum ent_sum))
(setq tno (1+ tno))
(setq no (1+ no))
)
(setq tno (itoa tno))
(setq sum (/ sum 1000000))
(setq sum (rtos sum 2 2))
(princ "\nAdding ")
(princ tno)
(princ " \nTexts: ")
(princ "\nThe Result is: ")
(princ sum)
(princ " ")
(princ "\nDo You Want Write it into the DWG? <y> ")
(setq z (strcase (getstring)))
(if (or (= z "") (= z "Y"))
(progn
(setq pt (getpoint "\nText Point: "))
(setq h (getvar "textsize"))
(prompt "\nText Height: ")
(princ H)
(princ " : ")
(setq z (getdist))
(if z
(setq h z)
)
(command "text"
(setq z pt)
(setq z h)
(setq z 0.0)
(setq z sum)
)
)
)
(setvar "cmdecho" 1)
(setvar "blipmode" 1)
(prin1))
무엇이 문제 일까요
제가 프로그램을 만들줄 아는 언어는 VB/VBA, .NET 정도 밖에 없습니다.
올려주신 리습언어는 저도 모릅니다.
따라서 고캐드 리습 질문방 같은 곳에 문의하셔야 할듯합니다.
http://www.gocad.co.kr/qa_lisp