帮助制作divide lisp plz
大家好我用autocad设计灌溉布局景观,我想用lisp进行在线分割,我也想插入块,我想逐块更改,这样容易实现
---------------------------------------------
微笑就像积木一样
请帮帮我
谢谢 Divide或Measure命令都不是您想要的? 我的意思是分开赞扬
div然后输入,然后选择对象,然后块的名称,然后段的数量
它的长柄
我想学习如何使Lisp程序或有人给我Lisp程序的捷径
thx给你 您可以编写宏并使其暂停以获取块的名称和段数。如果块名始终是相同的,或您经常使用的特定块名,请专门为其创建一个宏,并使其仅暂停段数。
忘了我说的吧。见下文。Alanjt是炸弹! 这完全是垃圾,但在回家之前我有几分钟要消磨,我很无聊。。。。
(defun c:DAC (/ ss point curve num dist lgth)
(and
(princ "\nSelect object(s) to divide along curve: ")
(setq ss (ssget ":L"))
(setq point (getpoint "\nBase point for objects: "))
(setq curve (car (entsel "\nSelect curve to divide: ")))
(wcmatch (cdr (assoc 0 (entget curve))) "LINE,LWPOLYLINE,ARC")
(setq num (getint "\nNumber of objects: "))
(setq num (1+ num))
(setq dist 0.0)
(or (not (vl-catch-all-error-p (setq lgth (vl-catch-all-apply 'vla-get-length (list (vlax-ename->vla-object curve))))))
(not (vl-catch-all-error-p (setq lgth (vl-catch-all-apply 'vla-get-arclength (list (vlax-ename->vla-object curve))))))
)
;(setq lgth (vla-get-length (vlax-ename->vla-object curve)))
(while (< dist (- lgth (/ lgth num)))
(vl-cmdf "_.copy" ss "" point (vlax-curve-getpointatdist curve (setq dist (+ dist (/ lgth num)))))
) ;_ while
) ;_ and
(princ)
) ;_ defun 你好
但是我不知道怎么写宏thx
当我把这个代码放到thx上时
这就是我能做的
除法-回车
选择要分割的对象:我可以选择直线。普林。弧。发射型计算机断层扫描仪
输入段数或{block}:block enter
输入要插入的块的名称:ir enter(将被固定)
将块与对象对齐?{是/否}:是输入
输入段数:10输入(将更改)
谢谢 您不必编写宏,只需使用上面为您编写的LISP例程alanjt即可。如果您不知道如何使用LISP例程,请转至论坛的CADTutor AutoCAD FAQ部分,并查看“自定义”下的内容。阅读题为“如何使用AutoLISP例程?”的文章。 你好
抱歉的评论
我做到了,我把它转换成lisp,但alanjt没有正确编写代码,它没有给我任何帮助,只是选择对象和数字,没有块或块的名称
你知道有什么方法可以帮我写我想要的代码吗
你怎么写代码?
我想lisp它问我slect对象,如直线或pline或ect和固定块名称,并问我关于数字只
thx寻求帮助 因此,您需要的是LISP例程,而不是宏。我懂了。你说你对alan的代码有问题吗?我现在唯一能做的就是下载lisp例程,在我的电脑上运行,看看会发生什么。 我从没说过它会做你想做的事。我只是在玩,我想我会发布它。然而,我发布的内容可以很容易地修改为插入一个块,而不仅仅是复制选定的对象。为什么不自己试试呢。
页:
[1]
2