cad高手,请看过来!!!求一个实现如下功能的lisp程序 10
cad高手,你们好!帮我个忙。我在学习cad绘图,现在有好多房间要进行面积标注,cad本身没有自带面积自动标注功能。用手工标注费时费力,我就想借助lisp程序进行自动标注...
cad高手,你们好!
帮我个忙。我在学习cad绘图,现在有好多房间要进行面积标注,cad本身没有自带面积自动标注功能。用手工标注费时费力,我就想借助lisp程序进行自动标注。但是由于现在还学的不太深入,搞了很久也没有搞明白。
我想弄一个自动标注程序,需要功能如下:在屏幕上点取若干个点,对 这些点以直线围成的封闭区域 计算出面积,然后提示 输入字体大小 等参数,及在屏幕上拾取标注点,程序自动标注出面积 多少m2.
请你传个这样的程序给我,好吗。 十分感谢
cad学徒 展开
帮我个忙。我在学习cad绘图,现在有好多房间要进行面积标注,cad本身没有自带面积自动标注功能。用手工标注费时费力,我就想借助lisp程序进行自动标注。但是由于现在还学的不太深入,搞了很久也没有搞明白。
我想弄一个自动标注程序,需要功能如下:在屏幕上点取若干个点,对 这些点以直线围成的封闭区域 计算出面积,然后提示 输入字体大小 等参数,及在屏幕上拾取标注点,程序自动标注出面积 多少m2.
请你传个这样的程序给我,好吗。 十分感谢
cad学徒 展开
3个回答
展开全部
朋友 我不知道你到底是遇到什么麻烦,但是你要是想算面积的话那就很简单,一个小小的AA命令就能解决。要是标注的话那就更不是问题,连续标注可以减少很多麻烦,就不用一个个的去点击了,很是方便快捷。但是你想要加载程序的话,我这也有,功能很多,要的话Q我:565588349,还有在CAD里面算面积也是有局限性的,要是有复杂曲线或是多段线还有样条曲线组成的闭合图框那么是算不了的,一般情况下,计算纯线段组成的封闭框面积是很容易的,首先你先创一个边界,然后AA命令就OK了。
天正软件
2024-08-02 广告
2024-08-02 广告
天正软件可以解决以下问题:1. 提供设计标准化:天正软件专注于勘察设计领域,为用户提供标准化、信息化、智能化的解决方案,以提高设计效率、优化设计流程、降低成本。2. 提高绘图效率:天正软件提供了一系列专业绘图工具,能够帮助设计师快速绘制图纸...
点击进入详情页
本回答由天正软件提供
展开全部
(defun C:arb ()
(setvar "cmdecho" 0)
(setvar "gridmode" 0)
(setvar "lwdisplay" 1)
(setvar "orthomode" 0)
(command "dimscale" 1)
(setq f_line (tblsearch "layer" "inside"))
(if (= f_line nil)
(command "layer" "n" "inside" "c" 90 "inside" "p" "n" "inside" "")
)
(setq b_line (tblsearch "layer" "diam"))
(if (= b_line nil)
(command "layer" "n" "diam" "c" 10 "diam" "")
)
(command "layer" "s" "inside" "")
(command "area")
(command (setq w1 (getpoint "\n Continue to select")))
(command (setq w2 (getpoint "\n Continue to select")))
(while (or (/= (car w2) (car w1)) (/= (cadr w2) (cadr w1)))
(command (setq w2 (getpoint "\n Continue to select")))
)
(command "")
(putout)
)
(defun putout ()
(setq a (getvar "area"))
(setq b (getpoint "\n Please select the tagging point"))
(command "layer" "s" "diam" "")
(command "text" "m" b "2.5" "" a "")
)
(prin1)
尼玛 编了半个小时编出来的....
(setvar "cmdecho" 0)
(setvar "gridmode" 0)
(setvar "lwdisplay" 1)
(setvar "orthomode" 0)
(command "dimscale" 1)
(setq f_line (tblsearch "layer" "inside"))
(if (= f_line nil)
(command "layer" "n" "inside" "c" 90 "inside" "p" "n" "inside" "")
)
(setq b_line (tblsearch "layer" "diam"))
(if (= b_line nil)
(command "layer" "n" "diam" "c" 10 "diam" "")
)
(command "layer" "s" "inside" "")
(command "area")
(command (setq w1 (getpoint "\n Continue to select")))
(command (setq w2 (getpoint "\n Continue to select")))
(while (or (/= (car w2) (car w1)) (/= (cadr w2) (cadr w1)))
(command (setq w2 (getpoint "\n Continue to select")))
)
(command "")
(putout)
)
(defun putout ()
(setq a (getvar "area"))
(setq b (getpoint "\n Please select the tagging point"))
(command "layer" "s" "diam" "")
(command "text" "m" b "2.5" "" a "")
)
(prin1)
尼玛 编了半个小时编出来的....
追问
你好,我试了下你的程序,运行程序后 ,只是一直提示我 continue to select,好像不能停止点的选择,更不能自动计算出面积 自动标注了。
麻烦你再修改下程序,调试一下。
追答
我忘给你说这个程序操作了,你点选面积是点选闭合面积,比如说有7个点,点的时候就是1,2,3,4,5,6,7,1最后要回到1号点,这时候程序就知道你面积闭合了,就进入下一步了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
又一头驴,吃草中毒了,AA呀
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询