if while cond repeat 등의 조건을 설정하는 함수 작성법입니다

 

 

(>  aaa bbb) ; 조건 bbb 보다 aaa 가 큰 경우

 

(<  aa bb) ; bb 보다 aa 가 작은 경우

 

(= ccc ddd) ; 조건 ccc 와 ddd 가 같은 경우

 

(<= eee fff) ; 조건 fff 가 eee 와 같거나 큰경우

 

(>= ee ff) ; ee 가 ff 보다 크거나 같은 경우

 

(= ggg nil) ; 조건 ggg 값이 nil (오류) 인 경우

 

(= hhh "") ; 사용자 입력 hhh 문자값이 그냥엔터로 값이 없는 경우

 

(/= cd nil) ; nil아니면 참 응답

 

 

 

 

 

리습으로 자동 작성된 요소들을 BLOCK 화하면 여러모로 편리합니다

 

작성된 다수의 객체들을 block 화하는 예제문 입니다

 

예제는 block 의 이름 bname 과 삽입점 pt 가 그리고 객체작성용 점들이 사전에 정의 되어 있어야 합니다

  (command "line" p2 p3 "")   (setq e1 (entlast))  
  (command "line" p3 p5 "")   (setq e2 (entlast)) 
  (command "line" p9 p14 "")  (setq e3 (entlast))  
  (command "line" p5 p7 "")   (setq e4 (entlast))  
  (command "line" p13 p14 "") (setq e5 (entlast)) 
  (command "line" p9 p8 "")   (setq e6 (entlast))   
  (command "line" p8 p2 "")   (setq e7 (entlast))    
  (command "line" p7 p2 "")   (setq e8 (entlast))   
  (command "line" p13 p8 "")  (setq e9 (entlast))  
  (command "-block" bname pt e1 e2 e3 e4 e5 e6 e7 e8 e9  "")

 

리습 자동작도 객체 블록화 다른 방법 입니다

 

 (setq elast(entlast))  ; 마지막 객체 기억
 (command "line" ps3 ps4 ^c)

 (command "chprop" "L" "" "C" "8" "") 
 (command "arc" pr2 phc pr1)
 (command "arc" pr1 "e" pd1 "a" 45) ; 자동 작성문
 (setq enext (entnext elast) ; 마지막 객체 다음 객체를 시작 객체로

            ss (ssadd))  ; 선택 셋트 시작

 (while enext (setq ss (ssadd enext ss) enext (entnext enext)) )  ; 객체 모음 종료

 (command "-block" blkname pt ss "") ; block 화

 

 

 

ssadd 참고

(setq ss (ssadd)) ;  null 인 선택집합 ss 정의. 

(ssadd e1 ss) ; ss 에 e1 추가

 

 

 

 

CADBOX  AUTOBOX 는 오토캐드에 강력한 기능들을 추가합니다

 

사용자가 다수 선택한 다양한 객체들중에 특정 객체의 종류의 객체들을 따로 추출하여 저장하는 예제문입니다

 

 

블록들만 추출

    (ssget) ; 사용자가 다양한 방법으로 다수 객체 선택 선택완료후 엔터입력으로 선택완료
    (setq ssblock (ssget "p" '((0 . "INSERT") )) )    ; insert 는 블록을 의미  

 

원들만 추출

(ssget)

(setq sscir (ssget "p" '((0 . "CIRCLE"))) )

 

 

 

치수들만 추출

(ssget)

(setq ssdim (ssget "p" '((0 . "dimension"))) )

 

 

 

점들만 추출

(ssget)

(setq sspnt (ssget "p" '((0 . "point"))) )

 

 

 

문자들만 추출

(ssget)

(setq sstxt (ssget "p" '((0 . "text"))) )

 

 

 

치수리더들만 추출

(ssget)

(setq ssled (ssget "p" '((0 . "leader"))) )

 

 

공차들만 추출

(ssget) 

(setq sstol (ssget "p" '((0 . "TOLERANCE"))) )

 

 

 

 

라인들만 추출

(ssget) 

(setq ssline (ssget "p" '((0 . "LINE"))) )

 

 

 

 

서브리습의 괄호에 변수명을 넣고 추후 서브리습 호출시 실수값을 병기하면 그 값으로 연산한 값을 얻습니다



예제 서브리습은 1도를 라디안으로 환산합니다
사용자 임의 변수명 dorad ildo
(defun dorad (ildo) (* pi (/ ildo 180.00)))


다른 리습문에서 dorad 호출시 값을 병기하면 ildo 값으로 연산합니다

(dorad 15.0) ; 서브리습 dorad 를 호출하되 15.0 값을 ildo 로 하여 연산시킵니다
; 이 리습 진행은 15도를 라디안각도로 환산한 값을 응답합니다

다른리습에서 다른 각도의 연산값을 얻습니다
(dorad 45.0); 45도의 라디안값 얻기

반복되는 라디안 환산을 간편화 합니다







 

+ Recent posts