找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1936|回复: 18

[编程申请] 简单编程申请,面积标注并用图案填充范围。

[复制链接]
发表于 2015-4-25 11:22:08 | 显示全部楼层 |阅读模式
悬赏50D豆已解决
本帖最后由 lizhgang.jin 于 2015-4-25 11:23 编辑

要求:点击多段线围成的范围内部,可连续点击,标注连续点击范围总面积(默认)或选择单独标注每一块范围面积,标注后自动填充图案到每一块标注范围中,不同范围填充边界要和计算面积一样。
捕获.JPG
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2015-4-25 11:22:09 | 显示全部楼层
lizhgang.jin 发表于 2015-4-27 20:53
请修改一下加个累加吧

  1. (defun c:tt (/ p e area hatch txt tarea)
  2.   (setq tarea 0.0)
  3.   (while (and (setq p (getpoint "\nPick Point: "))
  4.               (setq e (bpoly p)) ;_无法形成闭合边界时退出
  5.          )
  6.     (setq area        (vlax-curve-getarea e)
  7.           tarea        (+ tarea area)
  8.           hatch        (xdrx_hatch_make e)
  9.           txt        (xdrx_text_make
  10.                   p
  11.                   (rtos area 2 3) ;_面积数
  12.                   5.0 ;_文字高度
  13.                   0.0
  14.                 ) ;_当前字体样式
  15.     )
  16.     (xdrx_hatch_setpattern hatch "CROSS") ;_填充样式名称自己修改
  17.     (xdrx_hatch_setscale hatch 10.0) ;_自己根据填充样式设置一个合适比例才可以成功
  18.     (xdrx_text_setvermode txt 1)
  19.     (xdrx_text_sethozmode txt 4)
  20.     (xdrx_text_setalignmentpoint txt p)
  21.     (entdel e)
  22.   )
  23.   (and (not (zerop tarea))
  24.        (setq p (getpoint "\nTotle Area Position: "))
  25.        (xdrx_text_make
  26.          p
  27.          (rtos tarea 2 3) ;_面积数
  28.          5.0 ;_文字高度
  29.          0.0
  30.        )
  31.   )
  32.   (princ)
  33. )

点评

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

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2015-4-25 12:52:21 来自手机 | 显示全部楼层
点击生成范围在图不规范时不成功的几率很高,生不成边界后面的步骤也无法完成
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2015-4-25 17:38:04 | 显示全部楼层
还是自己先生成填充,程序去找填充,这样能保险些。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-25 21:42:26 | 显示全部楼层
虽然我不会编程可这些功能CAD里都有,我理解就是用程序把它窜起来就差不多了,我的思路是,先点选范围内一点建立边界+然后填充边界范围+然后选择汇总面积标注(默认)或每个边界单标面积+在边界内自动标注面积。具体怎么实现我是外行,所以求助。

点评

主要是你点击一点,不一定能正确生成边界,这个和具体画图人,具体图有关,习惯不好的,可能就生成不了。  详情 回复 发表于 2015-4-26 01:03
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2015-4-26 01:03:47 | 显示全部楼层
lizhgang.jin 发表于 2015-4-25 21:42
虽然我不会编程可这些功能CAD里都有,我理解就是用程序把它窜起来就差不多了,我的思路是,先点选范围内一 ...

主要是你点击一点,不一定能正确生成边界,这个和具体画图人,具体图有关,习惯不好的,可能就生成不了。

点评

编程不考虑这个,大多数图都可以生成边界,只有少数图不行,不行的我们手工处理一下。大多数情况下是可以的,麻烦按可以生成的写个程序,少数不行的我单独手工处理。  详情 回复 发表于 2015-4-26 19:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-26 19:23:20 | 显示全部楼层
XDSoft 发表于 2015-4-26 01:03
主要是你点击一点,不一定能正确生成边界,这个和具体画图人,具体图有关,习惯不好的,可能就生成不了。 ...

编程不考虑这个,大多数图都可以生成边界,只有少数图不行,不行的我们手工处理一下。大多数情况下是可以的,麻烦按可以生成的写个程序,少数不行的我单独手工处理。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-26 19:27:56 | 显示全部楼层
点击范围线内一点量面积的CAD插件网上有很多,也是生成边界,唯一的不足就是不能自动填充标注范围的图案。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-26 19:29:41 | 显示全部楼层
常青藤工具里面有个面积统计也有选范围内一点,标注面积的功能,也是没有填充图案。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

发表于 2015-4-26 20:12:17 | 显示全部楼层
我也需要用到这个小程序,大神帮帮忙
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2015-4-26 20:36:26 | 显示全部楼层
本帖最后由 st788796 于 2015-4-26 20:38 编辑

需加载XDAPI
  1. (defun c:tt (/ p e area hatch txt)
  2.   (while (and (setq p (getpoint "\nPick Point: "))
  3.               (setq e (bpoly p))
  4.          )
  5.     (setq area        (vlax-curve-getarea e)
  6.           hatch        (xdrx_hatch_make e)
  7.           txt        (xdrx_text_make
  8.                   p
  9.                   (strcat "S=" (rtos area 2 2) "\u+33a1")
  10.                   5.0;_文字高度
  11.                   0.0
  12.                 );_当前字体样式
  13.     )
  14.     (xdrx_hatch_setpattern hatch "CROSS");_填充样式名称自己修改
  15.     (xdrx_text_setvermode txt 1)
  16.     (xdrx_text_sethozmode txt 4)
  17.     (xdrx_text_setalignmentpoint txt p)
  18.     (entdel e)
  19.   )
  20.   (princ)
  21. )


xdrx_setpropertyvalue 对 Hatch 的属性修改无效果! 只能用 xdrx_hatch 类函数

点评

需要达到的效果,和为何要编这个程序。  详情 回复 发表于 2015-4-27 11:10
程序我试用了,还是不行呀,连面积标注都是乱码,填充也没有成功。先填充还是后填充不重要,关键是填重就行了。继续等待。  详情 回复 发表于 2015-4-27 10:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-27 10:47:29 | 显示全部楼层
本帖最后由 lizhgang.jin 于 2015-4-27 10:57 编辑

程序我试用了,面积标注有乱码,填充改自己样式名称后 成功。不能连续点范围i,然后标注汇总后面积,只能单标。期待改进!

没有效果

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

使用道具 举报

 楼主| 发表于 2015-4-27 10:49:11 | 显示全部楼层
本帖最后由 lizhgang.jin 于 2015-4-27 11:00 编辑

希望可连续点击范围,如这几块都是土方那么我就连续点击这几块,然后标注这几块的总面积并按点击的范围都填充上图案。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2015-4-27 11:06:23 | 显示全部楼层
lizhgang.jin 发表于 2015-4-27 10:49
希望可连续点击范围,如这几块都是土方那么我就连续点击这几块,然后标注这几块的总面积并按点击的范围都填 ...

根据注释部分自己修改
  1. (defun c:tt (/ p e area hatch txt)
  2.   (while (and (setq p (getpoint "\nPick Point: "))
  3.               (setq e (bpoly p)) ;_无法形成闭合边界时退出
  4.          )
  5.     (setq area        (vlax-curve-getarea e)
  6.           hatch        (xdrx_hatch_make e)
  7.           txt        (xdrx_text_make
  8.                   p
  9.                   (rtos area 2 2) ;_面积数
  10.                   5.0 ;_文字高度
  11.                   0.0
  12.                 ) ;_当前字体样式
  13.     )
  14.     (xdrx_hatch_setpattern hatch "CROSS") ;_填充样式名称自己修改
  15.     (xdrx_hatch_setscale hatch 10.0) ;_自己根据填充样式设置一个合适比例才可以成功
  16.     (xdrx_text_setvermode txt 1)
  17.     (xdrx_text_sethozmode txt 4)
  18.     (xdrx_text_setalignmentpoint txt p)
  19.     (entdel e)
  20.   )
  21.   (princ)
  22. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

 楼主| 发表于 2015-4-27 11:10:24 | 显示全部楼层

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 15:36 , Processed in 0.214134 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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