找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2356|回复: 25

[LISP程序]:计算任意封闭图形面积的LISP小程序

[复制链接]
发表于 2004-7-30 12:25:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
;CCCCCCCCCCCCCCCCCC  (Written by Golden-shine 2003.1.12)   CCCCCCCCCCCCCCCCC
;CCC    计算任意封闭图形面积的LISP小程序(不能计算“岛”)
(defun c:MJ (/ A P P1 oldcmdecho )
    (setq A 0.0 P 0.0 )
    (setq oldcmdecho (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (if (setq p1 (getpoint "\n选择闭合区域内任意一点"))
       (progn
       (command "boundary"  p1 "" )
       (command "._area" "_O" "L")
       (setq A (getvar "area"))
       (setq P (getvar "Perimeter"))
         )
      )
       (princ "\n块面积 = ")(princ A)
       (princ " 块周长 = ")(princ P)
       (command "erase" "L" "")
      (setvar "cmdecho" oldcmdecho)
(princ)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-30 14:40:41 | 显示全部楼层
很不错,
点面积比area命令还方便呢!
还能创造面域!
如果楼主能修改一下,
所点的面积可以相加或者相减就更好啦!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-30 20:58:07 | 显示全部楼层
楼主可以再修改一下,能支持比例尺就更好了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-31 07:18:44 | 显示全部楼层
最初由 自由的鱼 发布
[B]楼主可以再修改一下,能支持比例尺就更好了! [/B]

试试:

http://www.xdcad.net/forum/showthread.php?threadid=225057
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-7-31 19:45:08 | 显示全部楼层
最初由 梦断江南 发布
[B]
试试:

http://www.xdcad.net/forum/showthread.php?threadid=225057 [/B]


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

使用道具 举报

发表于 2004-8-2 11:19:05 | 显示全部楼层
原创的,不错,我的想法与你的一模一样。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-2 16:31:25 | 显示全部楼层
不错,能够求有样条曲线组成的闭合区域的话会更好。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-3 16:15:17 | 显示全部楼层
奇怪的是,直接用boundary命令的对话框可以生成样条曲线组成的闭合区域的面域,而用你的程序会出错,怎么也搞不明白
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-8-5 08:34:03 | 显示全部楼层

Re: [LISP程序]:计算任意封闭图形面积的LISP小程序

最初由 ljg516 发布
[B]...  计算任意封闭图形面积的LISP小程序(不能计算“岛”)... [/B]

求 去除孤岛的面积
http://www.xdcad.net/forum/showt ... hlight=%C3%E6%BB%FD
或先HATCH再求面积.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-5 15:34:42 | 显示全部楼层
又一个计算面积的程序,回头我把我的源程序贴出来给大家讨论。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-5 16:12:31 | 显示全部楼层
最初由 它山之石 发布
[B]又一个计算面积的程序,回头我把我的源程序贴出来给大家讨论。 [/B]

我看你回了好几次头拉(开玩笑), 贴出来再说吧?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 11:28:44 | 显示全部楼层
最初由 梦断江南 发布
[B]楼上发个图来看看 [/B]

随便用spline画几个封闭的图形,然后用楼主的程序,以下是运行后的提示,但直接用boundary就不会有这个问题
mj

选择闭合区域内任意一点
请回答“是”或“否”。
; 错误: 函数被取消
无法导出多段线边界。是否创建面域?? <Y>

已提取 1 个环。


已创建 1 个面域。

BOUNDARY 已创建 1 个面域
命令: 指定对角点:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 14:14:55 | 显示全部楼层
封闭图形面积相加CAD本身就可以完成,相减好像还不行,
哪位大虾,写一个给小弟看看,谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-8-6 14:19:42 | 显示全部楼层
最初由 shisj 发布
[B]
随便用spline画几个封闭的图形,然后用楼主的程序,以下是运行后的提示,但直接用boundary就不会有这个问题
mj

选择闭合区域内任意一?.. [/B]

你把这一行代码(command "boundary" p1 "" )用下面的替换就可以解决了。 (command "boundary" "A" "O" "R" "" p1 "")   但是,这个程序没有解决孤岛面积扣除的问题,用起来不大方便。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 21:17 , Processed in 0.201406 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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