帮我看看这个程序(求封闭区域的面积的)
本帖最后由 作者 于 2005-9-2 14:47:17 编辑 <br /><br /> <P>下面的小程序功能为:求一个封闭区域的面积<BR>代码:<BR>(defun c:cxa()<BR> (setvar "cmdecho" 0)<BR> (setq pt (getpoint "\n 请在要计算面积的封闭区域内指定一个点 :"))<BR> (setq ss (ssadd))<BR> (while pt<BR> (setvar "cecolor" 1)<BR> (command "bpoly" pt "")<BR> (setq a (entlast))<BR> (if (/= a nil)<BR> (progn<BR> (command "area" "o" a)<BR> (setq b (getvar "area"))<BR> (redraw 3)<BR> (princ (strcat "\n 选区面积=" (rtos b)))<BR> (setq ss (ssadd a ss))<BR> )<BR> )<BR> (setq pt (getpoint "\n 继续选取点 :"))<BR>)<BR>(command "erase" ss "")<BR>(setvar "cecolor" "bylayer")<BR>(prin1)<BR>)<BR><BR><BR>(prompt "\n ***<<c:cxa>>*** 程序设计作者:ZG*CHEN")<BR>(prompt "\n 查询封闭区域面积。命令:cxa")<BR>(prin1)<BR><BR>---------------------------------------------------------------<BR>zg*chen </P><P>是不是有什么问题,帮我编译一下,我生成文件怎么运行不了????</P>
<P>我的QQ是:28792959,kewyst@163.com</P> <P>有三处错误,以下程序纠正了错误。</P>
<P>(defun c:cxa( / ss pt a b)<BR> (setvar "cmdecho" 0)<BR> (setq pt (getpoint "\n 请在要计算面积的封闭区域内指定一个点 :"))<BR> (setq ss (ssadd))<BR> (while pt<BR> (setvar "cecolor" "red") ;;;要设置成这样<BR> (command "bpoly" pt "")<BR> (setq a (entlast))<BR> (if (/= a nil)<BR> (progn<BR> (command "area" "o" a)<BR> (setq b (getvar "area"))<BR> (redraw a 3) ;;;亮显要指明实体<BR> (princ (strcat "\n 选区面积=" (rtos b)))<BR> (setq ss (ssadd a ss))<BR> )<BR> )<BR> (setq pt (getpoint "\n 继续选取点 :"))<BR>)<BR>(command "erase" ss "")<BR>(setvar "cecolor" "bylayer")<BR>(prin1)<BR>)</P>
<P><BR>(prompt "\n ***<<c:cxa>>*** 程序设计作者:ZG*CHEN") ;;;你的右)格式错误<BR>(prompt "\n 查询封闭区域面积。命令:cxa")<BR>(prin1)</P> <P><A name=54571><FONT color=#000066><B>zsh8012</B></FONT></A>(帮主)您好!你能再改改此程序吗?实现如下的功能:</P>
<P>(1)多个不相交不包含的封闭多边形,各面积“相加”进行统计。</P>
<P>(2)如有两个互包含封闭多边形,进行统计面积“减掉”被包含那个封闭多边形的面积</P> <P>过几天给你</P> 能不能将面积值直接标到区域里呢? <P>试试这个:</P>
<P><A href="http://bbs.mjtd.com/forum.php?mod=viewthread&tid=39447" target="_blank" >http://bbs.mjtd.com/forum.php?mod=viewthread&tid=39447</A></P> <p>能否将总面积之和取3位小数标注在图内指定地点啊</p> <p>还没见过能支持孤岛的源程序。</p>
<p>武汉天喻的intecad在R14版就能实现了,不知道怎样实现的?</p> {:1_1:}2018里面只有填充,没有文字
页:
[1]