CAD용 Lisp 프로그램 작성 방법을 스스로 배우십시오.
CAD에서 Lisp를 직접 프로그래밍하는 방법
숨기기와 표시라는 두 가지 명령을 만들었습니다.
간단히 작성했지만 모든 기능이 다 들어있지는 않습니다. 그냥 해보고 사용해 보세요
다음 코드를 복사하여 acad.lsp를 생성합니다. CAD 설치 디렉터리의 첫 번째 레이어 폴더에 넣으면 자동으로 로드됩니다.
; 명령줄에 hidesel 명령을 입력한 다음 그래픽 요소를 선택하면 선택되지 않은 요소가 숨겨진 레이어
로 변경됩니다.(defun C:hidsel(/ all; 모든 기본 요소
xs; 숨겨진 기본 요소
yc;프리미티브 숨기기
남닷)
(setvar "CMDECHO" 0) 명령 에코 끄기
(명령 "_layer" "n" "레이어 임시 숨기기"""")(명령 "_layer" "off" "레이어 임시 숨기기" """)
(setvar "CMDECHO" 1)
(setq all (ssget "x")) 모두 선택
(setq xs (ssget)); 숨겨지지 않은 기본 요소 선택
(setq n -1 yc all) 숨겨진 프리미티브를 작동합니다
(반복(s길이 xs)
(setq n (+ n 1))
(setq nam (ssname xs n)) N번째 프리미티브의 이름을 반환합니다
(setq yc (ssdel nam yc))
)
(setq N -1);hide
(반복(sslength yc)
(setq N (+ n 1))
(setq nam (ssname yc n)) N번째 프리미티브의 이름을 반환합니다
(setq dat (entget nam));DAT는 N번째 요소 데이터를 저장합니다
(entmod (subst (cons 8 "일시적으로 숨겨진 레이어") (Assoc 8 dat) dat)) yc 컬렉션 숨기기
)
(setq all nil xs nil yc nil n nil nam nil dat nil) 점유된 데이터 지우기
(프린스)
)
;모든 프리미티브 표시
(defun c:shoal(/all n nam dat)
(setq all (ssget "x")) 모두 선택
(setq N -1);hide
(반복(전체 길이)
(setq N (+ n 1))
(setq nam (ssname all n)) N번째 프리미티브의 이름을 반환합니다
(setq dat (entget nam));DAT는 N번째 요소 데이터를 저장합니다
(entmod (subst (cons 8 "0") (Assoc 8 dat) dat)) yc 컬렉션 숨기기
)
(setvar "CMDECHO" 0)
(COMMAND "PURGE" "LA" "레이어 임시 숨기기" "Y" "Y" "")
(setvar "CMDECHO" 1)
(setq all nil n nil nam nil dat nil) 점유된 메모리 데이터 지우기
(프린스)
)
CAD에서 Lisp의 기능은 무엇인가요? 어떻게 사용하는지 자세히 알면 가산점을 받을 수 있나요? Lisp 자체는 CAD에 속하는 개발 프로그램으로 몇 가지 간단한 기능 계산을 제공하고 나머지는 모두 오토캐드의 그리기 기능을 위한 것입니다. Lisp 프로그램은 데이터베이스의 저장 프로시저와 유사하며 일괄적으로 CAD 그래픽을 처리하고 그릴 수 있습니다.
Lisp를 배우는 것은 매우 간단합니다. 몇 가지 주요 명령의 사용법만 익히면 됩니다. 또한 Lisp 자체에는 꽤 많은 기능이 있으므로 외울 필요가 없습니다.
LISP 로드
1. APPLOAD 명령을 사용한 다음 로드하려는 LISP 파일을 찾아 로드할 수 있습니다.
2 파일 관리자에서 ACAD의 그래픽 창으로 LISP 파일을 드래그하거나 로드할 수 있습니다
3. 명령줄을 사용한 후 ("c:\temp\xxx.lsp" 로드) 경로 이름을 실제 경로로 입력하세요.
또 다른: LSP 프로그램의 경우(defun 뒤에 오는 것은 명령 또는 함수입니다. 일반적으로 프로그램에는 프롬프트가 있어야 합니다. 그렇지 않은 경우 식별자 c: 뒤에 오는 단어는 ACAD에서 사용할 수 있는 명령이며 입력할 수 있습니다. COMMAND: 바로 뒤에 실행할 수 있습니다.
여러 CAD에서 LISP 언어로 프로그래밍하는 방법
AutoLISP 언어는 일반 LISP 언어를 기반으로 하며 CAD 응용 프로그램에 적합한 많은 기능으로 확장된 프로그래밍 언어입니다. 느리고 비밀을 유지하기 어려운 해석적 가치 언어입니다. 모든 텍스트 편집 소프트웨어로 편집할 수 있으며 일반 텍스트 형식으로 저장할 수 있습니다. 예:
(setq i 1); 즉, 코드 i의 값은 1
입니다.(명령 "CIRCLE" '(0 0) 100); 명령은 좌표 원점에 반경 100의 원을 그립니다.
AutoLISP 언어의 모든 구성 요소는 함수 형식으로 제공되며 명령문 개념이나 기타 문법 구조가 없습니다. AutoLISP 프로그램을 실행한다는 것은 일부 기능을 실행한 다음 다른 기능을 호출하는 것입니다. 예:
(setq pt1 (getpoint"n가운데 삽입점을 선택해주세요"))
(명령 "CIRCLE" pt1 100); 반경이 100인 원을 그리도록 이 삽입점을 명령합니다
AutoLISP는 데이터와 프로그램을 통일된 테이블 구조로 표현하므로 프로그램을 데이터로 처리할 수 있고, 데이터도 프로그램으로 실행할 수 있습니다.
예: 직선, 시작점 좌표'(0 0), 끝점 좌표'(1000 0), 레이어 0, 색상 1 [빨간색] 이것은 직선의 일부 데이터이며 이를 실행하고 변환하는 방법입니다. 프로그램 코드는 다음과 같습니다:
(entmake (list '(0 . "LINE") '(8 . "0") '(62 . 1) '(10 0 0) '(11 1000 0)))
데이터를 시각적으로 볼 수도 있고, AutoCAD의 명령줄에 붙여넣어 위에서 원하는 직선을 그릴 수도 있습니다.
AutoLISP 언어에서 프로그램 실행 과정은 함수 값을 처리하는 과정이며, 함수 값을 처리하는 과정에서 함수의 기능이 구현됩니다. AutoCAD에서는 모든 객체가 무수한 점으로 구성되어 있다고 볼 수 있으며, 각 점은 고유한 좌표를 가지고 있으며 이러한 점의 값을 계산하고 얻은 값을 기반으로 판단을 내리는 것입니다.
AutoLISP 언어의 주요 제어 구조는 재귀적입니다. 재귀를 사용하면 프로그래밍이 간단하고 이해하기 쉬워집니다. 예:
(setq &k1 (entsel)) 개체 선택
(setq &k1 (car &k1)); 그래픽 요소 추출
(setq #g1 (entget &k1)) 속성 목록 가져오기
(setq c0 (cdr (assoc 0 #g1))) 기본 이름 가져오기
위 내용을 하나씩 적어보면 다음과 같습니다.
(setq c0 (cdr (assoc 0 (entget (car (entsel)))))) 간단하고 이해하기 쉽습니다
autolisp는 간단하고 쉽기 때문에 빠르게 시작할 수 있습니다. 프로그램을 작성한 후에는 그리기 효율성이 크게 향상될 수 있습니다. 유명한 [Tianzheng] 플러그인은 그리기에 좋은 도우미입니다.
autolisp 프로그램에도 좌표 추출 등의 단점이 있는데, 이 경우에는 일반 좌표 1과 -1의 좌표 값이 동일하지만, 그래픽의 위치가 달라서 좌표 계산이 어려우므로 좌표 값을 추출하려면 VLAX 함수를 사용하는 것이 가장 좋습니다.
위 내용은 CAD용 Lisp 프로그램 작성 방법을 스스로 배우십시오.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











기사는 Windows 레지스트리 편집, 예방 조치, 백업 방법 및 잘못된 편집의 잠재적 문제에 대해 설명합니다. 주요 이슈 : 부적절한 변화로 인한 시스템 불안정성 및 데이터 손실의 위험.

Windows 설정에서 Drive Health 경고는 무엇을 의미하며 디스크 경고를받을 때 어떻게해야합니까? 이 PHP.CN 튜토리얼을 읽고이 상황에 대처할 수있는 단계별 지침을 얻으십시오.

기사는 시작, 중지, 서비스 재시작 및 안정성 모범 사례를 포함하여 시스템 건강을위한 Windows 서비스 관리에 대해 논의합니다.

이 기사는 ENE.Sys를 RealTek 고화질 오디오 드라이버 구성 요소로 식별합니다. 오디오 하드웨어 관리에있어 기능을 자세히 설명하고 오디오 기능에서 중요한 역할을 강조합니다. 이 기사는 또한 사용자가 정당성을 확인하도록 안내합니다

이 기사는 시스템 설정을 관리하기 위해 Windows에서 그룹 정책 편집기 (GPEDIT.MSC)를 사용하는 방법을 설명하고 일반적인 구성 및 문제 해결 방법을 강조합니다. gpedit.msc는 Windows 홈 에디션에서 사용할 수 없다고 제안합니다.

기사에서는 회복 및 대량 변경을 포함하여 Windows의 파일 유형에 대한 기본 앱 변경에 대해 설명합니다. 주요 이슈 : 내장 벌크 변경 옵션 없음.

MSConfig가 Windows의 선택적 시작으로 계속 되돌아가는 문제에 대해 의문을 제기합니까? 필요한 경우 일반 시작으로 전환하는 방법은 무엇입니까? 이 php.cn 게시물에 설명 된 방법을 사용하여 자신에게 맞는 방법을 찾으십시오.

"WMI (Windows Metadata and Internet Services)와의 연결을 설정할 수 없음"을 볼 수 있습니다. 이벤트 뷰어의 오류. Php.cn 의이 게시물은 Windows 메타 데이터 및 인터넷 서비스 문제를 제거하는 방법을 소개합니다.
