77077 发表于 2016-4-29 13:20:27

网络上搜集的Entmake函数

做个小标记,方便调用~~~(defun 3DFace (p1 p2 p3 p4)
(entmakex (list (cons 0 "3DFACE")
                  (cons 10 p1)
                  (cons 11 p2)
                  (cons 12 p3)
                  (cons 13 p4))))


(defun Arc (cen rad sAng eAng)
(entmakex (list (cons 0 "ARC")
                  (cons 10cen)
                  (cons 40rad)
                  (cons 50 sAng)
                  (cons 51 eAng))))


(defun AttDef (tag prmpt def pt hgt flag)
(entmakex (list (cons 0 "ATTDEF")
                  (cons 10   pt)
                  (cons 40hgt)
                  (cons 1   def)
                  (cons 3 prmpt)
                  (cons 2   tag)
                  (cons 70 flag))))


(defun Circle (cen rad)
(entmakex (list (cons 0 "CIRCLE")
                  (cons 10 cen)
                  (cons 40 rad))))


(defun Ellipse (cen maj ratio)
(entmakex (list (cons 0 "ELLIPSE")
                  (cons 100 "AcDbEntity")
                  (cons 100 "AcDbEllipse")
                  (cons 10 cen)
                  (cons 11 maj)
                  (cons 40 ratio)
                  (cons 41 0)
                  (cons 42 (* 2 pi)))))


(defun Insert (pt Nme)
(entmakex (list (cons 0 "INSERT")
                  (cons 2 Nme)
                  (cons 10 pt))))


(defun Line (p1 p2)
(entmakex (list (cons 0 "LINE")
                  (cons 10 p1)
                  (cons 11 p2))))


(defun LWPoly (lst cls)
(entmakex (append (list (cons 0 "LWPOLYLINE")
                        (cons 100 "AcDbEntity")
                        (cons 100 "AcDbPolyline")
                        (cons 90 (length lst))
                        (cons 70 cls))
                  (mapcar (function (lambda (p) (cons 10 p))) lst))))


(defun M-Text (pt str)
(entmakex (list (cons 0 "MTEXT")         
                  (cons 100 "AcDbEntity")
                  (cons 100 "AcDbMText")
                  (cons 10 pt)
                  (cons 1 str))))


(defun Point (pt)
(entmakex (list (cons 0 "POINT")
                  (cons 10 pt))))


(defun Polyline (lst)
(entmakex (list (cons 0 "POLYLINE")
                  (cons 10 '(0 0 0))))
(mapcar
    (function (lambda (p)
                (entmake (list (cons 0 "VERTEX") (cons 10 p))))) lst)
(entmakex (list (cons 0 "SEQEND"))))


(defun Solid (p1 p2 p3 p4)
(entmakex (list (cons 0 "SOLID")
                  (cons 10 p1)
                  (cons 11 p2)
                  (cons 12 p3)
                  (cons 13 p4))))               


(defun Text (pt hgt str)
(entmakex (list (cons 0 "TEXT")
                  (cons 10pt)
                  (cons 40 hgt)
                  (cons 1str))))


(defun Trce (p1 p2 p3 p4)
(entmakex (list (cons 0 "TRACE")
                  (cons 10 p1)
                  (cons 11 p2)
                  (cons 12 p3)
                  (cons 13 p4))))

(defun xLine (pt vec)
(entmakex (list (cons 0 "XLINE")
                  (cons 100 "AcDbEntity")
                  (cons 100 "AcDbXline")
                  (cons 10 pt)
                  (cons 11 vec))))


(defun Layer (Nme)
(entmake (list (cons 0 "LAYER")
               (cons 100 "AcDbSymbolTableRecord")
               (cons 100 "AcDbLayerTableRecord")
               (cons 2 Nme)
               (cons 70 0))))


(defun Layer (Nme Col Ltyp LWgt Plt)
(entmake (list (cons 0 "LAYER")
               (cons 100 "AcDbSymbolTableRecord")
               (cons 100 "AcDbLayerTableRecord")
               (cons 2Nme)
               (cons 70 0)
               (cons 62 Col)
               (cons 6 Ltyp)
               (cons 290 Plt)
               (cons 370 LWgt))))

wzg356 发表于 2016-4-29 17:30:44

整理的很工整

wide 发表于 2016-4-29 18:11:53

不错,为楼主点赞。

wkq004 发表于 2016-4-29 23:37:30

本帖最后由 wkq004 于 2016-4-29 23:42 编辑

这个能全点
entmake创建图元必要条件(慢慢更新)
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=92482&fromuid=338795
页: [1]
查看完整版本: 网络上搜集的Entmake函数