티스토리 뷰
반응형
아는 지인의 요청으로 리습을 간단하게 만들어 보려고 합니다. 아래와 같은 철판에서 강제로 오프셋을 주고 띄운뒤 100mm 선을 그려주는 리습?을 하고 싶어하는 분이 있어서, 고민끝에 제가 할 수 있는 범위내에서 만들어보도록 했습니다.
리습기본 명령어와 여러가지 변수를 활용해서 만들기 시작했죠.
오랫만에 리습을 건드는 것이라 명령어를 많이 잊어버렸네요. ㅠ.ㅠ
수평 모서리 한 점을 누르면 노란색 선이 100 그려지는 함수 그냥 'DDD'라고 만들었네요.
(defun c:ddd (/ ent pt pointx pointy upgap endx newstart newend)
; 수평 horizontality
(setq pt (getpoint "\nSelect Edge Point : "))
(setq pt2 (getpoint "\n Direction Point : "))
(setq os (getvar 'osmode))
(setvar 'osmode 0)
(princ "\n")
(setq pointx1 (car pt))
(setq pointy1 (cadr pt))
(setq pointx2 (car pt2))
(setq pointy2 (cadr pt2))
(princ pointx1)
(princ pointy1)
(princ "\n")
(princ pointx2)
(princ pointy2)
(princ "\n")
(if (> pointx1 pointx2) (setq endx (- pointx1 100)) )
(if (< pointx1 pointx2) (setq endx (+ pointx1 100)) )
(if (> pointy1 pointy2) (setq upgap (- pointy1 20)) )
(if (< pointy1 pointy2) (setq upgap (+ pointy1 20)) )
(setq newstart (list pointx1 upgap ))
(setq newend (list endx upgap))
(princ newstart)
(princ "\n")
(princ newend)
(princ "\n")
(command "line" newstart newend "")
(setvar 'osmode os)
)
실제 실행하면 되는 코드입니다.
새로는 다시 EEE라고 만들어봤어요. 약간 로직을 수정하니 되네요.
(defun c:eee (/ ent pt pointx pointy upgap endx newstart newend)
; 수평 horizontality
(setq pt (getpoint "\nSelect Edge Point : "))
(setq pt2 (getpoint "\n Direction Point : "))
(setq os (getvar 'osmode))
(setvar 'osmode 0)
(princ "\n")
(setq pointx1 (car pt))
(setq pointy1 (cadr pt))
(setq pointx2 (car pt2))
(setq pointy2 (cadr pt2))
(princ pointx1)
(princ pointy1)
(princ "\n")
(princ pointx2)
(princ pointy2)
(princ "\n")
(if (> pointy1 pointy2) (setq endy (- pointy1 100)) )
(if (< pointy1 pointy2) (setq endy (+ pointy1 100)) )
(if (> pointx1 pointx2) (setq upgap (- pointx1 20)) )
(if (< pointx1 pointx2) (setq upgap (+ pointx1 20)) )
(setq newstart (list upgap pointy1 ))
(setq newend (list upgap endy))
(princ newstart)
(princ "\n")
(princ newend)
(princ "\n")
(command "line" newstart newend "")
(setvar 'osmode os)
)
캐드관련 일을 하는 분들은 어떻게든 반복되는 일을 줄여보려고 노력합니다.
autolisp 그리고 DCL 그리고 visualLisp 그리고 더 해서 autohot키를 이용해서 많은 좋은 작품들이 가능하다고 생각합니다.
오늘은 조기퇴근해서 가족들과 행복한 하루 되시길....
반응형
'IT tech Coding > AutoLisp' 카테고리의 다른 글
[lisp] 특정레이어만 빼고 Layer 끄기 등 레이어 관련 리습 공유 (0) | 2022.03.14 |
---|---|
오토리습(autolisp) WB 명령으로 블록 쉽게 저장해 보자 (0) | 2022.02.15 |
lisp 명령어 탐구생활, lisp으로 캐드의 지겨운 반복 벗어나 보자! (1) | 2022.01.11 |
라인을 폴리라인으로 만드는 간단 리습(Lisp) Pedit 대용 (0) | 2020.05.17 |
오토리습으로 원하는 동작이 안될때 이것을 꼭 살펴보세요~ (1) | 2020.03.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- #InstallForge
- ajax오류메시지
- 엑셀보호
- 도면자동생성
- 뫄프로그래밍
- isset을 적용해야 하는 이유
- 스크립트작성기초
- 캐드자동작도
- json파일형태보기
- 구글드라이브API
- chatGPT3.5파이썬버전
- sql문장 날짜계산
- 코딩튜토리얼
- General error: 2031
- 오블완
- 파이썬코드줄바꿈방법
- 엑셀셀보호
- 효율적코딩방법
- 티스토리챌린지
- json파일편하게보는법
- #프로그램설치
- 테크에능한여성
- 프로그래머생활
- 엑셀입력보호
- #파이썬패키징
- 코딩효율성
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 오토핫키가이드
- Bootstrap 5
- 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 |
글 보관함