Lisp用于插入4个块wi
你好提前感谢您的阅读和帮助。
我想用下面的方法制作一个lisp(autocad)来插入4个块。
https://image.ibb.co/iynhk6/LISP_OR_DYNBLOCK.png
https://image.ibb.co/iynhk6/LISP_OR_DYNBLOCK.png
蓝点是我将选择的点。
红点是块插入点。
它不一定是一个工作的lisp,只要一些有用的lisp代码也会很好。再次感谢! 我没有时间帮你写完整的代码,
但起初glace看起来像是
(getpoint)
(命令“_insert”“blockname”“S”“1”“”“”)
其中XY可以通过以下方式操作:
(setq test (getpoint))
(setq newtest (mapcar '+ test (list 1.000 1.000 0.000) ;change x y z by given mapcar values.
并使用newtest作为块的插入点 你调查过明瑟斯特吗?
-大卫 我已经研究了Minsert,但需要分解块以进行blockcount。
此外,它只允许插入一个块。
感谢您的回复!
我想自己写点东西,但我是个新手 要开始,请执行以下操作:
(defun C:CADTUTOR ( / )
(initget (+ 1))
(setq inspt (getpoint "\nSelect insertionpoint for first block: "))
(initget (+ 1 2 4))
(setq offpt (+ 0.12 (getreal "\nOffset distance for secondblock: ")))
(if (and (/= inspt nil) (/= offpt nil))
(progn
(command "-INSERT" "BlockA" "S" "1" (mapcar '+ inspt (list 0.000 0.000 0.000)) "0")
(command "-INSERT" "BlockA" "S" "1" (mapcar '+ inspt (list 0.000 offpt 0.000)) "0")
(command "-INSERT" "BlockB" "S" "1" (mapcar '+ inspt (list 0.025 (/ (- offpt 0.12) 2) 0.000)) "0")
(command "-INSERT" "BlockB" "S" "1" (mapcar '+ inspt (list 0.975 (/ (- offpt 0.12) 2) 0.000)) "0")
)
(progn
(princ "Missing variables...")
)
)
(princ)
)
红色部分为1m-0.025 cm。。。假设你的方块长1米,宽12厘米?
页:
[1]