这是正确的。你的Lisp程序给了我很大的进步。非常感谢。 我复活这个线程,因为我需要相同的Lisp程序,但我不能让它为我的块工作。你知道怎么解决这个问题吗???我不太懂abt lisp谢谢
我想粘贴3种类型的块(A、B、C)
(defun _insert(p bn ang ds)
; Author pBe
; http://www.cadtutor.net/forum/showthread.php?66836-Inseret-a-group-of-blocks-in-array-with-a-defined-series&p=457386&viewfull=1#post457386
(vlax-invoke
(vlax-get
(vla-get-ActiveLayout
(vla-get-activedocument
(vlax-get-acad-object)))
'Block)
'InsertBlock
p
bn
1
1
1
0)
(polar p ang ds)
)
(defun c:test()
; Author pBe
; http://www.cadtutor.net/forum/showthread.php?66836-Inseret-a-group-of-blocks-in-array-with-a-defined-series&p=457386&viewfull=1#post457386
(setq blk (getstring T "\nPaste Block Names: "))
(setq blk (mapcar 'vl-symbol-name (read (strcat "("blk")"))))
(setq pt(getpoint "\nPick Insertion point:"))
(if (not dist)
(setq dist 1.00))
(setq dist (cond
((getdist
(strcat "\nEnter Distance <"
(rtos dist 2 2)
">: ")))
(dist)))
(if (not angl)
(setq angl 0.00))
(setq angl (cond
((getangle
(strcat "\nEnter Angle <"
(angtos angl 0)
">: ")))
(angl)))
(foreach
bn
blk
(setq pt (_insert pt bn angl dist)))
)
粘贴块名称:A B C A B C
如果用户写错了块名,或者当前图形中不存在块,该怎么办?
谢谢你的回复,所以我们等待你的解决方案。
第二,请读这个,还有这个,是他写的Lisp程序,不是我
再次感谢您的回复
因此,您应该保留或添加例程的作者名称,或者至少发布与代码相关的链接,就像您在第15号帖子中所做的那样
我不会有任何解决方案,因为该代码不属于您,并且永远不会出于任何原因跨过pBe的脚趾。 我没有加上我作为作者的名字。并且没有将代码复制到另一个线程。我用同样的思路回答
无论如何,我编辑了这篇文章来添加pBe的名字
再一次,我没有添加我作为作者的名字。pBe是该lisp及其修改的100%所有者。我只是到处收集
对于主持人来说,我是否犯了错误和/或在任何地方表明我是Lisp程序的作者?
作者没有把他的名字写在例行公事上,这不是你的责任,但如果你知道作者的名字,在你的帖子中提及它是一种常见的礼貌,只是为了表示信任,并明确表示你发布的代码不是你的。
顺便说一句:如果你们想让自己写的代码得到认可,你应该把你的名字放在标题里。
真的
其实这并不是真的,只要我写的代码有助于操作(以我自己的方式),那么对我来说就足够了 谢谢Cad64
谢谢pBe
页:
1
[2]