dushi996 发表于 2010-2-17 11:57:00

[求助]自动给圆心连线的小程序

<p>哪位高手可以帮我编写一个给圆心自动连线的小程序。我是做园林设计的,需要对同一种树木进行圆心连线并统计数量,能不能编写一个LISP程序,让我只需要点选圆的边缘就可以自动捕捉圆心,并与下一个点选的圆的圆心自动连线。最后将我点到的圆累计自动计数。</p><p></p><p>例如:我连线了7棵国槐的圆心,最后点击停止后,CAD会自动出现“7”这个数字写在后面。</p><p></p><p>跪谢各位高手啦!</p>

caoyin 发表于 2010-2-17 13:16:00

<p>;;身边没有安装CAD,楼主自行测试一下看看行不行:</p><p>(defun c:TT (/ I E)<br/>&nbsp; (setq I 0)<br/>&nbsp; (while (setq E (entsel))<br/>&nbsp;&nbsp;&nbsp; (setq E (cdr (assoc 10 (entget (car E))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I (1+ I)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (if (&gt; I 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_non" E)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.LINE" "_non" E)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (command "")<br/>&nbsp; (princ I)<br/>&nbsp; (princ)<br/>)</p>

ljttjl 发表于 2010-2-17 16:43:00

dushi996 发表于 2010-2-20 14:29:00

<p>非常感谢2楼版主的lisp小程序,经过测试已经能满足我的要求了,节省了太多我的时间。大大提高了工作效率。</p><p>万分感激,涕零!</p><p>不知道版主有没有可能再帮我稍微改进一下这个小程序呢,如果可以那就太完美了!不好意思,给版主您添麻烦了!</p><p>现在,我点选完成后,数量值只在命令栏中出现。能不能在结束点选时,这个数量自动就写在模型空间里呢?</p><p>比如我点选了7棵树,当点完了最后一棵树之后,再点一下右键,或者点击另外一点(非物体上),这个“7”就写在上面了,就像3楼楼主那样,不过我只需要数量即可啦!</p><p>期待版主的回复!</p>

caoyin 发表于 2010-2-21 09:29:00

(defun c:TT (/ I E LST P)<br/>&nbsp; (setq I 0)<br/>&nbsp; (while (setq E (entsel))<br/>&nbsp;&nbsp;&nbsp; (setq E&nbsp;&nbsp; (car E)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LST (cons E LST)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (redraw E 3)<br/>&nbsp;&nbsp;&nbsp; (setq E (cdr (assoc 10 (entget E)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I (1+ I)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (if (&gt; I 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_non" E)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.LINE" "_non" E)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; (command "")<br/>&nbsp; (if (setq P (getpoint "\n指定文字插入点: "))<br/>&nbsp;&nbsp;&nbsp; (command "_.TEXT" P "" "" (itoa I))<br/>&nbsp; )<br/>&nbsp; (foreach X LST (redraw X 4))<br/>&nbsp; (princ)<br/>)

dushi996 发表于 2010-2-22 16:56:00

<p>太感谢版主了,好用!</p><p>你写的lisp让现在我的工作效率提高了很多啊!</p><p>赞赞赞!~\(≧▽≦)/~</p>

hsx5233408 发表于 2012-4-29 17:51:24

我也赞一个,是否可以更上一层楼,指点第一点后,其余框选后一次性连接成功,期待哦

梦醒才知原是梦 发表于 2012-5-2 17:21:04

学习中~~~~~~~~

AMTONNY 发表于 2012-5-3 10:26:53

呵呵,楼主想法不错哦,有创意

sky899150 发表于 2024-3-27 09:55:07

caoyin 发表于 2010-2-17 13:16
;;身边没有安装CAD,楼主自行测试一下看看行不行:(defun c:TT (/ I E)&nbsp; (setq I 0)&nbsp; (while...

大师这个程序在用户坐标系下 连线就会偏很远呢 有解决办法不
页: [1]
查看完整版本: [求助]自动给圆心连线的小程序