找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: god

[原创]:如图示的两条多义线,如何得到两者之间的面积

[复制链接]

已领礼包: 6530个

财富等级: 富甲天下

发表于 2003-2-27 09:34:42 | 显示全部楼层
这段程序缺输出部分,当系统变量cmdecho关闭时,command结果将不在命令行回显,程序应该在(entdel(entlast))之后加上
(princ (getvar "area"))
(princ)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-2-27 21:21:54 | 显示全部楼层
借鉴楼上诸位的意见,写了如下程序,2002下能用.

(defun c:ww1 (/ pt ename vlaobject )
  (if (bpoly (getpoint "\n内部点: "))
    (progn     
      (vl-load-com)
      (setq ename     (entlast)
            vlaobject (vlax-ename->vla-object ename)          
      )
      (princ (vlax-curve-getArea vlaobject))
      (entdel ename)
    )
  )
  (princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 17:05:52 | 显示全部楼层
n你先BOUNDARY一下。再看面积不就可以了啊 。
多的话在aa加起来啊!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-5 19:11:52 | 显示全部楼层
(princ "\noa,测量实体面积/周长!Writen by lyc")
(defun c:oa (/ ss1 ss a n d  x m b va nu1 c e f g nu times per)
(princ "\n请选择你要测量的实体!")
(setvar "cmdecho" 0)
(setq a (ssget))
(setq n (sslength a))
(setq e (ssname a 0))
(setq f (entget e))(setq g (assoc 0 f))
(setq va1 (cdr g))
(setq nu1 0)
(if (= "LWPOLYLINE" va1 ) (setq nu1 (+ nu1 1)))
(if (= nu1 0) (setq c a) (progn (command "EXPLODE" a) (setq c (ssget "p"))) )
(setq nu 0)
(setq x (ssname c 0))
(setq m (entget x))(setq b (assoc 0 m))
(setq va (cdr b))
(if  ( = "LWPOLYLINE" va ) (setq nu (+ nu 1)))
(if (= nu 1) (command "pedit" c "j" "all" "" "") (command "pedit" c "y" "j" "all" "" ""))
(setq ss1 (ssget "l"))
(setq ss (ssname ss1 0))
(command "area" "o" ss)
(setq d (getvar "area"))(setq per (getvar "Perimeter"))
(princ "\n该实体的面积:")
(princ d)
(princ "\n  周长:")
(princ per)
(princ "\n 请点取屏幕上一点,输出面积 and 周长")
(setq th (getvar "textsize") )
(command "text" "j" "mc" (getpoint) th 0 (strcat "面积:  " (rtos d 2 4) "  周长: " (rtos per 2 4)  ))
(princ)
)

选择边界,无论是LWP,ARC,LINE,,但要把边界多余的线裁掉
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-6 09:55:41 | 显示全部楼层
这句还是不能执行
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-6 19:44:38 | 显示全部楼层
楼上的程序怎么都不能实现呢?!麻烦发一个最终的结果上来,多谢了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-6 20:00:37 | 显示全部楼层
试试签名栏下的“面积标注”程序:
http://www.xdcad.net/forum/showthread.php?s=&threadid=272117
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-6 21:27:06 | 显示全部楼层
[PHP]
(defun c:my()
(command "-boundary" pause "" )
(command "area" "o" "l"  )
(command "erase" "l" "" )
(prompt "\n the area is ")
(getvar "area")
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 16:15:22 | 显示全部楼层
郁闷,还是没找到能计算包括spline线在内所围成的面积......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-7 19:19:53 | 显示全部楼层
这样就可以求spline的了吧
[PHP]
(defun c:my1()
(command "-boundary" pause "" "y")
(command "region" "l" "")
(command "area" "o" "l"  )
(command "erase" "l" "" )
(prompt "\n the area is ")
(getvar "area")
)
[/PHP]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-8 09:31:48 | 显示全部楼层
楼上的程序可以满足了。如果我想求若干封闭曲线的总面积,其中线型有很多中,比如line,arc,circle,spline,ellipse......不知能否通过程序来实现?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-8 16:28:48 | 显示全部楼层
是框选的所有封闭面积吗
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-8 18:23:13 | 显示全部楼层
假如只是一点点的点击封闭区域内的话,倒也比较容易,这个以前有编过
主要是帮同学算公路的挖填面积
假如要框选的话,用这种思路来编,就得先判别出所有的封闭区域,然后找出每个区域内的一点来求,这个寻找所有封闭区域再求面积的程序我编过,不过思路比较乱,程序不太稳定,就不献丑了
或许有更好的方法来求解这个问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-9 08:56:52 | 显示全部楼层
对阿,是框选的,包括所有线型,谁能提供一个阿?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-9-10 12:27:46 | 显示全部楼层
功能真强大,超出我的想象了
谢谢搂住
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-28 15:46 , Processed in 0.218125 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表