OSNAP 은 지정점에서의 자동스냅으로 점을 정의합니다
(setq pt2 (osnap pt1 "midp,endp,center")) ; 캐드작업처럼 pt1 클릭시 osnap 중간점 끝점 중심점 기준으로 점을 잡습니다
이런류의 작동은 화면크기 및 pickbox 크기의 영향을 받으므로 미리 적당한 화면조정과 pickbox 크기등의 설정을 조절해 주는 문장을 넣어야 합니다
OSNAP 은 지정점에서의 자동스냅으로 점을 정의합니다
(setq pt2 (osnap pt1 "midp,endp,center")) ; 캐드작업처럼 pt1 클릭시 osnap 중간점 끝점 중심점 기준으로 점을 잡습니다
이런류의 작동은 화면크기 및 pickbox 크기의 영향을 받으므로 미리 적당한 화면조정과 pickbox 크기등의 설정을 조절해 주는 문장을 넣어야 합니다
POLAR 는 한점을 기준으로 각도와 거리를 가진 새로운 점을 생성합니다
문장 형식은 (polar 기준점 각도 길이) 이며 각도는 라디안값 입니다
(setq pr1 (polar pl1 0 len)) ;; pl1 에서 0도로 len 거리의 점을 pr1 으로 저장
(setq po3(polar po2 pi (- xx tt))) ; pi 는 3.14159 값을 가진 고유변수입니다 따라서 각도는 라디안 3.14159 입니다 거리값은 xx 에서 tt를 뺀 값으로 합니다
pi 는 사용자 임의 변수로는 거부되며 오류처리됩니다
0도는 + x 수평방향
pi/2 = 90도 = + y 수직방향
pi = 180도 = -x 수평방향
pi x 1.5 = 270도 = -y 수직방향
(setq a90(/ pi 2)) ; pi 는 180도 이므로 pi의 절반값은 90 도입니다
(setq po5(polar pt a90 yy)) ; pt 에서 90도 yy 거리의 점을 po5 로 저장합니다
(setq p1 (polar p0 (* pi 1.25) dia2)) ; pi 에 1.25 곱한 값을 각도로 합니다 이 각도는 225 도에 해당합니다
null 은 값이 없음을 응답합니다
사용자가 입력요구에 입력없이 그냥엔터하면 그 값은 null 이 됩니다
그냥엔터시 기존값을 적용하는데에 자주 이용합니다
종전 입력값 표기 적용 예제
(if (null ts)(setq ts ts1))(setq ts1 ts) ; ts 의 값이 없으면 ts1 값을 ts 로 저장 있으면 ts1은 ts 값으로 저장
(if (null mori1)(setq mori1 "A"))
(setq mori (getstring (strcat "\n Head letter or Enter =<" mori1 ">: ")))
(if (= "" mori)(setq mori mori1))(setq mori1 mori)
(if (null txt1)(setq txt1 1))
(setq txt (getint (strcat "\n Start NO or Enter =<" (itoa txt1) ">: ")))
(if (null txt)(setq txt txt1)) (setq txt1 txt)
itoa 는 정의된 정수를 문자로 변환합니다
예제의 abc 는 사용자 임의 변수명이며 예제 이전에 정의 되어 있어야 합니다
(itoa abc) ; 정수상태인 abc 를 문자로 변환한 값을 응답합니다
(if (null aryno1)(setq aryno1 4))
; aryno1 값이 존재하지 않으면 정수 4 로 합니다
(setq aryno (getint (strcat "\n 원 등분수 입력 <" (itoa aryno1) "> ")))
; aryno 정수값 입력을 요구하되 명령행에 " 원 등분수 입력 <4> " 를 출력합니다
; 사용자가 희망하는 값이 4 이면 그냥 엔터 하도록 의도합니다
(if (null aryno)(setq aryno aryno1) (setq aryno1 aryno))
; 사용자가 4 를 희망하여 그냥 엔터하면 aryno 를 정수 4로 하고 기억시킵니다
; 이 4 의 값은 사용자가 다른값으로 실행한 이력이 있으면 그 값으로 표현 적용 됩니다
두선 네점의 교차점 구하기 inters (0) | 2022.08.18 |
---|
distance 는 두점간의 3D 거리를 응답하여 줍니다
예제문 사용자 임의 변수명 dist1 점 pt1 점 pt2
점 pt1 pt2 는 이 문장 이전에 미리 정의 되어 있어야합니다
(setq dist1 (distance pt1 pt2)) ; 점 pt1 에서 점 pt2 까지의 3D 거리값을 dist1 으로 합니다
CADBOX AUTOBOX 는 오토캐드에 강력한 기능들을 추가합니다
치수표기 기준 설정 dimvars setting (0) | 2022.08.19 |
---|---|
DELAY 캐드 동작 잠시 멈춤 지연 (0) | 2022.08.06 |
DXF 코드 객체 정보 추출 (0) | 2022.08.05 |
기능과 목적에 따른 리습 문장 예제 입니다
참고하여 자신에게 맞게 리습을 작성바랍니다
링크는 상세 설명 페이지 입니다
기능 목적 | 예제문 |
각도 정의 (두점) https://autocadlisp.tistory.com/4 |
(setq p10 (polar p1 ang d)) |
각도 환산 라디안 도 https://autocadlisp.tistory.com/5 |
( angtos 0.785398 0 4) |
문자를 실수로 변환 https://autocadlisp.tistory.com/6 |
(atof abc) |
실수를 소숫점이 없는 실수로 변환하기 https://autocadlisp.tistory.com/7 |
(setq dre (fix dre) dre (float dre)) |
실수를 정수로 변환 https://autocadlisp.tistory.com/7 |
(setq dre (fix dre) dre (float dre)) |
알림창 띄우기 https://autocadlisp.tistory.com/3 |
(setq mesg (strcat " Pulley1= Ø" (rtos dl 2 2) " Pulley2= Ø" (rtos ds 2 2) " Distance of Center= " (rtos cen 2 2) " Belt length= " (rtos Len 2 2) " " )) (alert mesg) |
오스냅 제어 https://autocadlisp.tistory.com/2 |
(setq osm (getvar "osmode")) (setvar "osmode" 0 ) (그리기나 삽입 실행 문장) (setvar "osmode" osm) |
정수를 실수로 변환 https://autocadlisp.tistory.com/8 |
(setq dre (fix dre) dre (float dre)) |
CadBOX
AutoCAD를 빠르고 편리하게 하는 Autolisp 기능들의 모음집 CadBOX의 내용과 사용법 소개
atbox.tistory.com
도면번호 형식 문자 검색 (0) | 2022.09.05 |
---|---|
블록 존재여부로 작도 삽입 if 문 (0) | 2022.08.19 |
리습 작도전 화면 크기 제어 (0) | 2022.08.19 |
라인타입 로드하기 (0) | 2022.08.13 |
메인리습 서브리습 (0) | 2022.08.08 |
float 는 정수를 실수로 변환하여 줍니다
작성 예제
(setq dre (fix dre) dre (float dre))
실수인 dre 를 정수인 dre로 변환후 다시 정수인 dre 를 실수로 변환합니다
처음 실수 에서 소수점 이하를 제거한 실수로 변환하는 기능 입니다
이 dre 가 나중에 다른 실수와 연산이 되도록 미리 실수로 변환하는 경우 입니다
예제의 dre 는 리습작성자 임의의 변수 이름 입니다
FIX 실수를 정수로 변환 (0) | 2022.07.26 |
---|
FIX 는 실수를 정수로 변환하여 줍니다
작성 예제
(setq dre (fix dre) dre (float dre))
실수인 dre 를 정수인 dre로 변환후 다시 정수인 dre 를 실수로 변환합니다
처음 실수 에서 소수점 이하를 제거한 실수로 변환하는 기능 입니다
이 dre 가 나중에 다른 실수와 연산이 되도록 미리 실수로 변환하는 경우 입니다
예제의 dre 는 리습작성자 임의의 변수 이름 입니다
dre 는 사용자 임의 변수명입니다
CADBOX AUTOBOX 는 오토캐드에 강력한 기능들을 추가합니다
FLOAT 정수를 실수로 변환 (0) | 2022.07.26 |
---|
ALERT 함수는 은 알람(경고)창을 띄워 줍니다
그 알람창을 활용하여 리습의 결과를 알려주는 기능하기도 사용합니다
이 예제문은 아래 사진처럼 캐드 화면에 보여줍니다
(setq mesg
(strcat " Pulley1= Ø" (rtos dl 2 2) " Pulley2= Ø" (rtos ds 2 2) " Distance of Center= " (rtos cen 2 2) " Belt length= " (rtos Len 2 2) " " )
)
(alert mesg)
setq 는 변수 선언 함수 입니다
mesg 는 리습작성자가 임의로 지은 변수 이름입니다
(setq mesg (값 )) ;; 괄호내의 값을 mesg로 한다. 이후 mesg의 결과는 괄호값이 됩니다
strcat 는 나열되는 text 단어들을 하나의 문장으로 만들어 줍니다
rtos 는 실수인 변수 dl 을 2=십진법 2=소숫점두자리 tetx 문자로 변환한 값을 줍니다
alret 는 숫자값이 아닌 문자값을 창으로 표현하므로 그 대상을 " " 로 문자화 해야 합니다
ASSOC 객체의 세부 정보 추출 (0) | 2022.08.05 |
---|---|
ATOI 실수 상태인 문자를 정수로 변환 (0) | 2022.08.05 |