给写个lisp程序,要求:鼠标点击cad空间两点,然后在excel中输出这两点的距离值……

给写个lisp程序,要求:鼠标点击cad空间两点,然后在excel中输出这两点的距离值,而且,连续点击n对两点,在excel中横排相邻单元格输出这n对点的各个距离,直至e... 给写个lisp程序,要求:鼠标点击cad空间两点,然后在excel中输出这两点的距离值,而且,连续点击n对两点,在excel中横排相邻单元格输出这n对点的各个距离,直至esc终止(或其他方法终止)程序;当再次启动lisp程序时,输出的距离值紧接着在同一excel表中的相邻下一排列出.谢谢高手相助.
也可以用其他语言编写,像VBA等……(CAD中有个'查询'功能即:工具——查询——距离选项,可以查询空间任意两点的距离;或者di命令也可以查询空间任意两点间的距离,我就想让这个距离值写到excel里面.供编程高手参考,万分感谢。)
展开
 我来答
百度网友653fbcb88
2010-12-21 · TA获得超过102个赞
知道答主
回答量:55
采纳率:0%
帮助的人:0
展开全部
你好,我以前也遇到过这个问题,但是最后没有找到你说的那种方法,我最后也是用了一个lisp,但步骤是直接在CAD里测量所有的线,最后结果会写在一起,复制到excel中选择粘贴就是你要的效果了,比较麻烦,但总归还是解决了连续测线的长度的问题,也只是当时用用,所以后来我就没有再研究了,lisp的代码我放在下面,希望对你有用
(defun C:TT(/ a b zero x y pt i j)
(setq a (getpoint "选择原点:\n"))
(setq b (list 0 0 0))
(while (not (= b nil))
(setq b (getpoint "选择测端点:\n"))
(if (not (= b nil))
(setq x (abs (- (car a) (car b)))))
(if (not (= b nil))
(setq y (abs (- (cadr a) (cadr b)))))
(if (not (= b nil))
(setq pt (cons (list x y) pt))
)
)

(setq pt (reverse pt))
(princ"\n X方向的距离统计\n")
(setq i 0)
(repeat (length pt)
(princ (* 0.001 (nth 0 (nth i pt))))
(princ "\n")

(setq i (+ i 1))
)
(princ"\n Y方向的距离统计\n")
(setq j 0)
(repeat (length pt)
(princ (* 0.001 (nth 1 (nth j pt))))
(princ "\n")
(setq j (+ j 1))
)
(princ)
)
geraint868
2010-12-16 · TA获得超过1652个赞
知道小有建树答主
回答量:1568
采纳率:100%
帮助的人:980万
展开全部
想法很好,也能实现,不过我对lisp没研究。建议去askcad论坛里的CAD二次开发版块来提问。

另外:可以研究一下CAD工具里面的数据提取功能(Auto-CAD2008及以上的版本),对你的问题应该有帮助。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式