티스토리 뷰
반응형
오토캐드의 꽃이라고 할 수 있는 리습을 연습합니다.
레이져편집을 하거나 반복되는 작업을 편하게 할 수 있는 리습은 정말 캐드의 꽃이라고 할 수 있지요....
물론 캐드라는 것이 너무 방대해서 리습도 하나의 작은 개념이라고 할수도 있지만, 캐드의 고급사용자가 되기 위해서는 반드시 리습을 아는 것과 모르는 것은 업무속도가 엄청 차이가 날 것입니다.
처음 리습을 접하는 분들에겐 그냥 소스를 활용해서 사용해도 좋을 것 같아서 공유해 봅니다.
객체의 하단 중앙을 잡아주는 리습입니다. 많이 미흡하지만, 혹시 필요한 분들을 위해서 공유합니다.
(defun c:mc(/ objs entname vlentname minpoint maxpoint lowleftpoint lowleftpointx lowleftpointy lowleftpointxlist lowleftpointylist uprightpoint uprightpointx uprightpointy uprightpointxlist uprightpointylist min max llp urp)
(setq objs (ssget))
(setq n 0)
(repeat (sslength objs)
(setq entname (ssname objs n))
(setq vlentname (vlax-ename->vla-object entname))
(vla-getboundingbox vlentname 'minpoint 'maxpoint)
(setq lowleftpoint (vlax-safearray->list minpoint))
(setq lowleftpointx (car lowleftpoint))
(setq lowleftpointxlist (cons lowleftpointx lowleftpointxlist))
(setq lowleftpointy (cadr lowleftpoint))
(setq lowleftpointylist (cons lowleftpointy lowleftpointylist))
(setq uprightpoint (vlax-safearray->list maxpoint))
(setq uprightpointx (car uprightpoint))
(setq uprightpointxlist (cons uprightpointx uprightpointxlist))
(setq uprightpointy (cadr uprightpoint))
(setq uprightpointylist (cons uprightpointy uprightpointylist))
(setq n (1+ n))
)
(setq lowleftpointxlist (vl-sort lowleftpointxlist '<))
(setq lowleftpointylist (vl-sort lowleftpointylist '<))
(setq uprightpointxlist (vl-sort uprightpointxlist '>))
(setq uprightpointylist (vl-sort uprightpointylist '>))
(setq centerpt (/ (+ (nth 0 lowleftpointxlist) (nth 0 uprightpointxlist)) 2) )
(setq llp (list centerpt (nth 0 lowleftpointylist))) ; /2로 나눠 중심을 잡는다.
(setq urp (list (nth 0 uprightpointxlist) (nth 0 uprightpointylist)))
(princ centerpt)
(command "._move" objs "" llp pause)
)
오토리습을 연구해서 더 편리한 작업환경을 만들어 보세요~
반응형
'IT tech Coding > AutoLisp' 카테고리의 다른 글
라인을 폴리라인으로 만드는 간단 리습(Lisp) Pedit 대용 (0) | 2020.05.17 |
---|---|
오토리습으로 원하는 동작이 안될때 이것을 꼭 살펴보세요~ (1) | 2020.03.24 |
autolisp, 오토리습으로 가능한 또다른 세상~ (1) | 2020.03.12 |
[autolisp] 객체를 원하는 만큼 이동하는 리습문장 (0) | 2020.01.01 |
[AutoLisp] Text 두개의 문자를 합치는 방법 (2) | 2019.12.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- #InstallForge
- json파일형태보기
- 프로그래머생활
- chatGPT3.5파이썬버전
- ajax오류메시지
- json파일편하게보는법
- 파이썬코드줄바꿈방법
- 구글드라이브API
- 뫄프로그래밍
- 엑셀보호
- 캐드자동작도
- 오토핫키가이드
- Bootstrap 5
- 티스토리챌린지
- 효율적코딩방법
- 오블완
- 엑셀셀보호
- 엑셀입력보호
- #프로그램설치
- 도면자동생성
- #파이썬패키징
- General error: 2031
- 테크에능한여성
- sql문장 날짜계산
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 스크립트작성기초
- 코딩튜토리얼
- isset을 적용해야 하는 이유
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- 코딩효율성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함