找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1575|回复: 11

[已解决] 多条多段线构成的封闭曲线的面积

[复制链接]

已领礼包: 108个

财富等级: 日进斗金

发表于 2017-3-6 20:56:47 | 显示全部楼层 |阅读模式
悬赏20D豆已解决
本帖最后由 Kllies 于 2017-3-7 10:16 编辑

两条或两条以上的多段线构成的闭合的区域的面积(能选择标注亩/平方米/公顷),谢谢。
123.gif

最佳答案

查看完整内容

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

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-3-6 20:56:48 | 显示全部楼层

点选标注面积.gif

不只适合多段线,LINE,ARC,ELLIPSE,*POLYLINE

  1. (defun c:tt ()
  2.   (defun _callback (dynpt)
  3.     (xdrx_setpropertyvalue ml "lastvertex" dynpt)
  4.   )
  5.   (defun _dimmake ()
  6.     (xd::text:init 1)
  7.     (xd::dim:init)
  8.     (if (not (setq blk (xdrx_object_get "block" "_dot")))
  9.       (setq blk (xdrx_document_makeablock "_dot"))
  10.     )
  11.     (setq ml (xdrx_mleader_make
  12.                p
  13.                p
  14.                (strcat "S="
  15.                        (rtos #area
  16.                              2
  17.                              (getvar "dimdec")
  18.                        )
  19.                        d
  20.                )
  21.                (* 3.5
  22.                   (xd::var:getratio)
  23.                )
  24.              )
  25.     )
  26.     (setq scl (xd::var:getratio))
  27.     (xdrx_setpropertyvalue
  28.       ml
  29.       "dogleglength"
  30.       (* 2 scl)
  31.       "scale"
  32.       (xd::var:getscaleratio)
  33.       "landinggap"
  34.       (* 2 scl)
  35.       "arrowsize"
  36.       (* 1.5 scl)
  37.       "ArrowSymbolId"
  38.       blk
  39.     )
  40.     (xdrx_pointmonitor "_callback")
  41.     (getpoint)
  42.     (xdrx_pointmonitor)
  43.   )
  44.   (xd::doc:checkversion '> "17.0" "")
  45.   (xdrx_begin)
  46.   (xdrx_initget "P G M")
  47.   (initget "P G M")
  48.   (if (not
  49.         (setq ge (getkword "\n单位格式[平方米(P)/公顷(G)/亩(M)]<亩>:"))
  50.       )
  51.     (setq ge "M")
  52.   )
  53.   (if
  54.     (and (setq p (getpoint "\n拾取封闭区域内一点<退出>:"))
  55.          (setq
  56.            ss (xdrx_geom_bpoly
  57.                 p
  58.                 '((0 . "*POLYLINE,LINE,ARC,ELLIPSE,ARC,CIRCLE"))
  59.               )
  60.          )
  61.     )
  62.      (progn
  63.        (if (xdrx_getpropertyvalue (entlast) "area")
  64.          (progn
  65.            (xdrx_entity_delete (entlast))
  66.            (cond
  67.              ((= ge "M")
  68.               (setq #area (/ #area 666.666667)
  69.                     d     "亩"
  70.               )
  71.              )
  72.              ((= ge "P")
  73.               (setq d "平")
  74.              )
  75.              ((= ge "G")
  76.               (setq #area (/ #area 10000.0)
  77.                     d     "公顷"
  78.               )
  79.              )
  80.            )
  81.            (_dimmake)
  82.          )
  83.        )
  84.      )
  85.   )
  86.   (xdrx_end)
  87.   (princ)
  88. )


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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-3-6 21:57:30 | 显示全部楼层
楼主,这种画图习惯可不好,你的图中,为什么不把他们处理成一条封闭的多段线,也方便日后的编辑。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 108个

财富等级: 日进斗金

 楼主| 发表于 2017-3-6 22:13:45 | 显示全部楼层

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

使用道具 举报

已领礼包: 108个

财富等级: 日进斗金

 楼主| 发表于 2017-3-6 22:16:29 | 显示全部楼层

有时候从别人手里拿到的图就是这种样子的。不过我自己也有这种坏习惯。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2017-3-6 22:24:52 | 显示全部楼层

自己改系统变量

(getvar "dimdec")

程序是读的dimdec的设置

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

使用道具 举报

已领礼包: 108个

财富等级: 日进斗金

 楼主| 发表于 2017-3-6 22:30:10 | 显示全部楼层

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

使用道具 举报

已领礼包: 8989个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2019-5-6 23:57:25 | 显示全部楼层
多条多段线构成的封闭曲线的面积
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2019-5-16 22:56:09 | 显示全部楼层
(defun c:tt()
  (setvar "cmdecho" 0)
  (initget 7)
  (setq n (getint "\n选择输出的单位<1亩/2平方米/3公顷>:"))
  (while (> n 3) (alert "输入有误") (setq n (getint "\n选择输出的单位<1亩/2平方米/3公顷>:")))
  (setq hz (getdist "\n输入字高<2>"))
  (if hz nil (setq hz 2))
  (setq p1 (getpoint "\n选择内部点"))
  (while p1
  (command "_BOUNDARY" p1 "")
  (command "_area" "o" (setq en (entlast)))
  (setq area (getvar "area"))
  (cond ((= n 1)(setq area1 (rtos (/ area 0.5 3 1000) 2 2) txt (strcat area1 "亩")))
        ((= n 2)(setq area1 (rtos area 2 2) txt (strcat area1 "平方米")))
        ((= n 3)(setq area1 (rtos (/ area 10000) 2 2) txt (strcat area1 "公顷")))
        )
  (command "text" "non"p1 hz 0 txt)
    (command "_erase" en "")
    (setq p1 (getpoint "\n选择内部点")))
  (princ)
  )
       
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 14:50 , Processed in 0.455613 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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