>컴퓨터 튜토리얼 >컴퓨터 지식 >CAD Lisp 스크립트 수정

CAD Lisp 스크립트 수정

王林
王林앞으로
2024-01-12 14:15:051204검색

cad lisp 스크립트 수정

(DEFUN C:J()

(PRINC "n결합할 주석을 선택해주세요:)")

(SETQ S 선택 세트 (SSGET '((0 . "DIMENSION"))) m 0)은 AutoCAD에서 "DIMENSION" 유형의 모든 기본 요소를 선택하고 선택 결과를 S에 저장하는 데 사용되는 LISP 코드입니다. . 이 코드의 목적은 모든 차원 개체를 가져오는 것입니다.

T 주석 수(sslength S 선택 세트) ZS 총 수 및 0 T 정렬 주석 0). 이 문장에서 T는 시대와 일치하지 않는 세부 사항의 수를 나타냅니다. 선택 세트 S의 요소 수는 sslength 함수를 통해 계산할 수 있습니다. 0은 정렬되지 않은 주석을 나타냅니다. 시대에 맞지 않는 것을 나타냅니다. 얼마나 많은 세부 사항이 올바르게 표시되어 있습니까?

(while(

"(setq a (entget (ssname S 선택 세트 m)) m (1+ m))" 이 코드 줄은 선택 세트 S에서 m번째 요소의 속성을 얻는 데 사용되는 Lisp 언어의 표현식입니다. , m 값에 1을 더합니다.

(if (member (cdr (assoc 70 a)) '(1 33 129 161)))

(setq ZS 총합 (+ (cdr (assoc 42 a)) ZS 총합)) 이 코드 줄은 LISP 언어의 표현식입니다. 해당 기능은 변수 ZS의 총합 값을 현재 값에 목록 a의 키 42와 관련된 값으로 업데이트하는 것입니다. 이 코드 줄을 실행하기 전에 변수 ZS total sum 및 list a가 정의되고 올바른 값이 할당되었는지 확인해야 합니다. 이 코드 줄을 통해 ZS의 총합을 동적으로 업데이트할 수 있습니다.

T 정렬 주석(1+ T 정렬 주석)))

)

(PRINC (STRCAT "총 " (itoa T 주석) " 주석이 선택되었으며 n 총 " (itoa T alignment Annotations) " 정렬 주석이 추가에 참여했으며 총계는 " (RTOS ZS total sum 2) "입니다. ."))

);디펀 종료

LISP CAD 2차 개발 및 수정

(defun c:dz (/oce1 n1 zn h1 sxh1 p1)

(vl-load-com)

(setq oce1 (getvar "cmdecho"))

(setvar "cmdecho" 0)

(setq ms(vla-get-modelspace

(vla-get-activedocument (vlax-get-acad-object))는 현재 활성화된 AutoCAD 문서를 가져오는 데 사용되는 AutoLISP 코드입니다. vlax-get-acad-object 함수를 통해 AutoCAD 응용 프로그램 객체를 얻은 다음 vla-get-activedocument 메서드를 사용하여 현재 활성 문서 객체를 얻습니다. 이 코드는 AutoCAD에서 프로그램에 현재 열려 있는 문서를 작동하는 데 사용할 수 있습니다.

)

)

(만약 qz

()

(setq qz "")

)

(hz라면

()

(setq hz "")

)

(initget "c")

(setq nqz (getstring (strcat "n 접두사 /c(비어 있음): " )))

(조건

((= nqz "c") (setq qz ""))

(T (if (/= nqz "")(setq qz nqz)))

)

(setq hz "")

(if (not (setq n1 (getint "n시작 시퀀스 번호를 입력하세요 : ")))

(setq n1 1)

)

(setq zn 1)

(if (not (setq h1 (getreal "n 텍스트 높이를 지정하세요 : ")))

(setq h1 2.5)

)

(setq sxh1 (strcat qz (itoa n1) hz))는 Lisp 코드의 일부입니다. 해당 기능은 세 개의 문자열을 연결하여 새 문자열을 형성하는 것입니다. 그 중 qz, n1, hz는 각각 접두사, 숫자, 접미사를 나타내는 변수이다. strcat 함수와 itoa 함수를 사용하면 숫자 n1을 문자열로 변환하고 접두사와 접미사를 연결하여 최종적으로 새로운 문자열 sxh1을 얻을 수 있습니다. 이러한 작업은 프로그래밍에서 쉽게 생성할 수 있습니다

(setq p1 (getpoint "n삽입 지점을 지정하세요: "))

(while (/= p1 nil)

(setq p1 (vlax-3d-point p1))

(setq txt(vla-addtext

ms

sxh1

p1

h1

)

)

(setq

n1 (+ n1 zn)

sxh1(strcat qz(itoa n1) hz)

p1(getpoint "n다음 삽입 지점을 지정하십시오: ")

)

)

(setvar "cmdecho" oce1)

(vlax-release-object ms)

(프린스)

)

위 내용은 CAD Lisp 스크립트 수정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 docexcel.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제