AutoLisp

[AutoCAD]AutoLisp 강좌 예제 - AutoCAD DXF 객체정보 확인하기

데브프로그라 2024. 2. 23. 22:24
반응형

AutoCAD의 모든 객체는 DXF 정보를 가지고 있다.

AutoLisp으로 객체의 DXF 정보를 가져올 수 있는 방벙은

명령: (entget(car(entsel "메시지 입력")))  이와 같이 사용할 수 있다.

그렇다면, Line, Arc, Circle, Text, Polyline 등의 DXF 정보를 확인해 본다.

 

AutoCAD Command에 아래와 같이 입력하여 각 객체들을 선택한다.

명령: (entget(car(entsel "객체선택:")))

 

폴리선 (Polyline 선택)
객체선택:((-1 . <도면요소 이름: 21765ecfe20>) (0 . "LWPOLYLINE") (330 . <도면요소 이름: 21765ecc9f0>) (5 . "2D2") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 2) (100 . "AcDbPolyline") (90 . 4) (70 . 1) (43 . 2.0) (38 . 0.0) (39 . 0.0) (10 50.0 50.0) (40 . 2.0) (41 . 2.0) (42 . 0.0) (91 . 0) (10 150.0 50.0) (40 . 2.0) (41 . 2.0) (42 . 0.0) (91 . 0) (10 150.0 150.0) (40 . 2.0) (41 . 2.0) (42 . 0.0) (91 . 0) (10 50.0 150.0) (40 . 2.0) (41 . 2.0) (42 . 0.0) (91 . 0) (210 0.0 0.0 1.0))

원 (Circle 선택)
객체선택:((-1 . <도면요소 이름: 21765ecfea0>) (0 . "CIRCLE") (330 . <도면요소 이름: 21765ecc9f0>) (5 . "2DA") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle") (10 222.774 108.733 0.0) (40 . 42.2738) (210 0.0 0.0 1.0))

문자 (Text 선택)
객체선택:((-1 . <도면요소 이름: 21765ecfed0>) (0 . "TEXT") (330 . <도면요소 이름: 21765ecc9f0>) (5 . "2DD") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbText") (10 203.385 7.43968 0.0) (40 . 35.0701) (1 . "Sample") (50 . 0.0) (41 . 0.9) (51 . 0.0) (7 . "EHWA1") (71 . 0) (72 . 0) (11 0.0 0.0 0.0) (210 0.0 0.0 1.0) (100 . "AcDbText") (73 . 0))

선 (Line 선택)
객체선택:((-1 . <도면요소 이름: 21765ecfeb0>) (0 . "LINE") (330 . <도면요소 이름: 21765ecc9f0>) (5 . "2DB") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbLine") (10 285.704 146.803 0.0) (11 387.753 63.8647 0.0) (210 0.0 0.0 1.0))

호 (Arc 선택)
객체선택:((-1 . <도면요소 이름: 21765ecfee0>) (0 . "ARC") (330 . <도면요소 이름: 21765ecc9f0>) (5 . "2DE") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbCircle") (10 328.159 132.058 0.0) (40 . 88.5253) (210 0.0 0.0 1.0) (100 . "AcDbArc") (50 . 0.0898822) (51 . 2.66975))

 

다중문자(MText 선택)
객체 선택: ((-1 . <도면요소 이름: 1daa3893e50>) (0 . "MTEXT") (330 . <도면요소 이름: 1daa38969f0>) (5 . "2D5") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbMText") (10 2179.99 1759.34 0.0) (40 . 2.5) (41 . 1865.76) (46 . 0.0) (71 . 1) (72 . 5) (1 . "Sample MText") (7 . "EHWA1") (210 0.0 0.0 1.0) (11 1.0 0.0 0.0) (42 . 22.4531) (43 . 3.33333) (50 . 0.0) (73 . 1) (44 . 1.0))

타원(Ellipse 선택)
객체 선택: ((-1 . <도면요소 이름: 1daa3893ec0>) (0 . "ELLIPSE") (330 . <도면요소 이름: 1daa38969f0>) (5 . "2DC") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbEllipse") (10 2187.71 1751.85 0.0) (11 9.14956 -0.119904 0.0) (210 0.0 0.0 1.0) (40 . 0.300349) (41 . 0.0) (42 . 6.28319))

 

위의 정보는 AutoCAD의 DXF Code를 참조하여 확인해야 한다.

예를 들어

도면요소 이름 : 객체의 고유번호

0 : 객체 이름

8 : 레이어

10 / 11 : 좌표위치

(DXF Code 보여준 Command Line)

반응형

/* 코드복사 버튼 */ pre { position: relative; overflow: visible; } pre .copy-button { opacity: 0; position: absolute; right: 8px; top: 4px; padding: 6px 18px; color: rgb(255, 255, 255); background: rgba(255, 223, 0, 0.6); border-radius: 5px; transition: opacity .3s ease-in-out; } pre:hover .copy-button { opacity: 1; } pre .copy-button:hover { color: #eee; transition: all ease-in-out 0.3s; } pre .copy-button:active { color: #33f; transition: all ease-in-out 0.1s; } .copy-message:before { content: attr(copy-message); position: absolute; left: -95px; top: 0px; padding: 6px 18px; color: #fff; background: rgba(255, 223, 0, 0.6); border-radius: 5px; } /* 코드복사 버튼 END */