设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 118|回复: 2

[教学] 多边形(拓扑造区)应用实例(二)

[复制链接]

签到天数: 376 天

连续签到: 2 天

[LV.9]以坛为家II

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-8-8 00:31:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 newer 于 2017-8-8 00:36 编辑

利用晓东API进行多边形拓扑的应用示例
MAPGIS拓扑造区工具实现插件
求大神如何在cad里像mapgis6.7里一样拓扑造区???


上面是以前讨论和实现的“拓扑造区”的实现,随着API越来越强大,下面介绍另外一种函数组合的实现,代码更短,边界对SPLINE,ARC等等不在像以前的多段线模拟,而是真正实现了“本来实体类型”的边界。

[Actionscript3] 纯文本查看 复制代码
(defun c:tt ()
  (xdrx_begin)
  (if (and (setq ss (ssget '((0 . "*line,arc,ellipse,circle"))))
           (setq ss (xdrx_curve_intersectbreak ss)) ;;所有曲线交点打断
           (setq ss (xdrx_region_make ss)) ;;生成region
           (setq ss (xdrx_region->curve ss)) ;;region转出曲线(保持原来边界类型)
      )
    (progn
      ;;面积+实体名关联表
      (setq
        lst (mapcar
              '(lambda (x) (list (xdrx_getpropertyvalue x "area") x))
              (xdrx_pickset->ents ss)
            )
      )
      ;;按面积排序关联表
      (setq lst (vl-sort lst '(lambda (x y) (> (car x) (car y)))))
      ;;删除最外的轮廓
      (xdrx_entity_delete (cadar lst))
      ;;随机颜色每个区域填充
      (mapcar '(lambda (x)
                 (xdrx_hatch_make (cadr x))
                 (xdrx_setpropertyvalue
                   (entlast)
                   "color"
                   (xdrx_math_rand 255)
                 )
               )
              (cdr lst)
      )
    )
  )
  (xdrx_end)
  (princ)
)


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

签到天数: 888 天

连续签到: 3 天

[LV.10]以坛为家III

已领礼包: 1732个

财富等级: 堆金积玉

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

使用道具 举报

签到天数: 370 天

连续签到: 13 天

[LV.9]以坛为家II

已领礼包: 528个

财富等级: 财运亨通

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2018-6-18 21:19 , Processed in 0.158439 second(s), 26 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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