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 의 값은 사용자가 다른값으로 실행한 이력이 있으면 그 값으로 표현 적용 됩니다

 

 

 

 

 

'i 함수' 카테고리의 다른 글

두선 네점의 교차점 구하기 inters  (0) 2022.08.18

 

 

distance 는 두점간의 3D 거리를 응답하여 줍니다 

 

예제문 사용자 임의 변수명  dist1  점 pt1 점  pt2

 

점  pt1 pt2 는 이 문장 이전에 미리 정의 되어 있어야합니다

 

(setq dist1 (distance pt1 pt2))  ; 점 pt1 에서   점 pt2 까지의 3D 거리값을 dist1 으로 합니다

 

 

 

 

 

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

 

 

 

'D 함수' 카테고리의 다른 글

치수표기 기준 설정 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

 

'리습 예제 1부' 카테고리의 다른 글

도면번호 형식 문자 검색  (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 는 리습작성자 임의의 변수 이름 입니다

 

 

 

 

 

 

'F 함수' 카테고리의 다른 글

FIX 실수를 정수로 변환  (0) 2022.07.26

 

 

FIX 는 실수를 정수로 변환하여 줍니다

 

 

작성 예제

 

(setq dre (fix dre) dre (float dre))

 

실수인 dre 를 정수인 dre로 변환후 다시 정수인 dre 를 실수로 변환합니다

 

처음 실수 에서 소수점 이하를 제거한 실수로 변환하는 기능 입니다

 

이 dre 가 나중에 다른 실수와 연산이 되도록 미리 실수로 변환하는 경우 입니다

 

예제의 dre 는 리습작성자 임의의 변수 이름 입니다

 

dre 는 사용자 임의 변수명입니다

 

 

 

 

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

 

 

 

 

'F 함수' 카테고리의 다른 글

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 는 숫자값이 아닌 문자값을 창으로 표현하므로 그 대상을 " "  로 문자화 해야 합니다

 

 

 

 

'A 함수' 카테고리의 다른 글

ASSOC 객체의 세부 정보 추출  (0) 2022.08.05
ATOI 실수 상태인 문자를 정수로 변환  (0) 2022.08.05

+ Recent posts