asos2000 发表于 2022-7-6 11:13:50

使用lisp创建块

使用代码创建块的可能性有多大?
我希望避免插入图形以在dimstyle中使用块。
DimstyleBlocks。图纸

TimSpangler 发表于 2022-7-6 11:28:23

以下是创建实体,然后创建块和插入的示例。
 
这应该有助于你理解它。
帧调用。lsp

asos2000 发表于 2022-7-6 11:37:51

例行程序不起作用
im使用CAD2007

Lee Mac 发表于 2022-7-6 11:44:08

最近的这条线索应该可以帮助您:
 
http://www.cadtutor.net/forum/showthread.php?t=45495

fixo 发表于 2022-7-6 11:58:00

 
试试看

(defun C:add_dimblocks ()
(if (not (tblsearch "block" "EC-Arrow"))
(progn
(entmake '((0 . "BLOCK")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(100 . "AcDbBlockReference")
(2 . "EC-Arrow")
(10 0 0 0)
(70 . 0)
)
)
(entmake '((0 . "SOLID")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(100 . "AcDbTrace")
(10 0 0 0)
(11 -15 -3.75 0)
(12 -15 3.75 0)
(13 0 0 0)
(39 . 0)
)
)

(entmake
'((0 . "ENDBLK")
(100 . "AcDbBlockEnd")
(8 . "0")
)
)
)
)

(if (not (tblsearch "block" "EC_TICK"))
(progn
(entmake '((0 . "BLOCK")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(100 . "AcDbBlockReference")
(2 . "EC_TICK")
(10 0 0 0)
(70 . 0)
)
)
(entmake '((0 . "LINE")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(62 .
(100 . "AcDbLine")
(10 0 -6.25 0)
(11 0 5 0)
)
)
(entmake '((0 . "LINE")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(62 .
(100 . "AcDbLine")
(10 5 0 0)
(11 -5 0 0)
)
)
(entmake '((0 . "LINE")
(100 . "AcDbEntity")
(67 . 0)
(8 . "0")
(62 . 7)
(100 . "AcDbLine")
(10 -5 -5 0)
(11 5 5 0)
)
)
(entmake '((0 . "ENDBLK")
(100 . "AcDbBlockEnd")
(8 . "0")
)
)
)
)
(princ)
)

 
~'J'~

asos2000 发表于 2022-7-6 12:05:10

谢谢FIXO

fixo 发表于 2022-7-6 12:15:41

不客气
干杯
 
~'J'~
页: [1]
查看完整版本: 使用lisp创建块