오토 리습 객체 관련 함수
캐드 화면상에서 객체 선택을 요청하고 선택한 객체의 정보 (DXF 코드)를 커멘드 창에 출력한다.
( entget ( ssname ( ssget ) 0))
자동 리스프 중 빈번히 쓰이면서 유용한 함수들을 포함하는 예제 다.
선택한 객체의 DXF 코드 중 62 번의 값을 3으로 변경하는 함수 (색 변경)
( defun는의 colorchange ()
( setq sset ( ssget ))
( setq N 0)
( 반복 ( sslength의 sset)
( setq SNAME ( ssname의 sset의 N))
( setq의 ENT ( entget의 SNAME))
( entmod ( SUBST ( 죄수 62 3) ( ASSOC 62 ENT) ENT))
( setq의 N ( 1 + N))
)
( 공주 역 )
)
ssget
(setq 선택 세트 (ssget))선택을 요청한 후 저장
(선택 세트를 setq (ssget "P"))
전에 만들어진 선택을 설정 저장
(선택 세트를 setq (ssget "L"))
마지막으로 작성된 객체를에 설정 저장
(선택 세트를 setq (ssget "W"pointlist1의 pointlist2))
선택 윈도우
(선택 세트를 setq (ssget "F"pointlist1의 pointlist2))
팬스
(선택 세트를 setq (ssget "WP"pointlist1의 pointlist2))
다각형
(setq 선택 세트 (ssget "X"))
모든
(setq 선택 세트 (ssget "I"))
pickfirst 값이 활성 (1) 일 경우 해당 선택 후 명령
ssget 필터
(선택 세트 setq (ssget '((0. "텍스트"))))유저에 선택을 요청하며 텍스트 만 선택 할수 있음
(선택 세트 setq (ssget "P" '((0. "선"))))
에서 라인을 설정 이전 만
(선택 세트 setq (ssget "W"PT1의 PT2 '((8. "floor9"))))
포인트리스트 윈도우 선택 층 "floor9"
(선택 세트를 setq (ssget "X" '((0. "원"))))
도면에있는 모든 원 선택
(선택 세트를 setq (ssget "I" '((0. "라인") (62. 5))))
선택된 객체 중 색상이 5 (파랑) 값을 가지는 라인
ssget 관계 연산자 (관계 연산)
(ssget "X" '((0. "원") (-4. "> =") (40. 2)))정수, 실수, 포인트, 백터 (?)의 경우 관계 연산이가는하다.
ssget 논리 연산
(ssget "X" '((-4. "<OR")
(-4. "<AND") (0. "ciecle") (40. 1) (-4. "AND>")
(-4. "OR>")))
(setq <또는 '(-4. "<OR") or>'(-4."OR> "))
(ssget "X"(목록 '(0. "원") <or는 최고 기간 도중 '(40. 30) '(40. 90) or>))
필터리스트 표현주의
nentsel???
(setq 응답
(+; 추가
(* (자동차 (n 번째 0 매트릭스)) (CADR의 edata)), M00 * X
(* (자동차 (n 번째 1 매트릭스)) (caddr의 edata)), M10 * Y
(* (자동차 (n 번째 2 매트릭스)) (cadddr의 edata)), M20 * Z
(차 (n 번째 3 행렬)); M30
)
)
도를 라디안으로 변환
(defun는 학위 -> 라디안 (numberOfDegrees)(* PI (/ numberOfDegrees 180.0)))Converts dataType
(atof string) 문자열 -> 실수(atoi string) 문자열 -> 정수(itoa int) 정수 -> 문자열Converts unit
(cvunit value from-unit to-unit)Command: (cvunit 1 "minute" "second")60.0Command: (cvunit 1 "gallon" "furlong")nilCommand: (cvunit 1.0 "inch" "cm")2.54Command: (cvunit 1.0 "acre" "sq yard")4840.0Command: (cvunit '(1.0 2.5) "ft" "in")(12.0 30.0)Command: (cvunit '(1 2 3) "ft" "in")(12.0 24.0 36.0)
잘 안쓰는의 AutoLISP
(acad_colordlg colornum [flag] )
color선택 대화상자를 띄운다.
선택색상의 번호 리턴
colornum = 창이열렸을떼 기본값
flag = nil 일경우 byBlock, byLayer비할성화
(acad_strlsort list)
알파벳순으로 정렬
(grdraw from to color [highlight])
두점을 연결하는 백터를 그린다.
라인이아님.
(grvecs vlist [trans])
grdraw와 비슷.
댓글 없음 :
댓글 쓰기