设为首页收藏本站

晓东CAD家园-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1020|回复: 3

[曲线] 给ACAD增加个MAP里面的MPSplit(拆分多重多边形)命令

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2017-3-1 11:20:36 | 显示全部楼层 |阅读模式
  • 插件名称 : 多重多边形拆分
  • 作  者 : Lispboy
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2017-03-01
  • 命令名称 :XDTB_MPSplit
  • 插件介绍 :给ACAD增加个MAP里面的MPSplit(拆分多重多边形)命令
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

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

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

x
  1. (defun c:XDTB_MPSplit (/ #PatternColor #PatternDouble #PatternName
  2.                          #PatternScale #PatternSpace #PatternType e ints
  3.                          poly pts s tf x
  4.                       )
  5.   (defun _draw ()
  6.     (xdrx_initget "U")
  7.     (if (setq pts (xd::doc:getfence "\n第一点" "\n下一点" 1))
  8.       (setq poly (xdrx_polyline_make pts))
  9.     )
  10.     poly
  11.   )
  12.   (defun _split (e poly)
  13.     (xdrx_getpropertyvalue e "PatternName" "PatternSpace" "PatternDouble"
  14.                            "PatternType" "PatternScale" "PatternColor"
  15.     )
  16.     (if (xdrx_mpolygon_split e poly)
  17.       (progn
  18.         (mapcar
  19.           '(lambda (x)
  20.              (xdrx_setpropertyvalue x "PatternSpace" #PatternSpace
  21.                                     "PatternDouble" #PatternDouble
  22.                                     "PatternScale" #PatternScale
  23.                                     "PatternColor" #PatternColor "Pattern"
  24.                                     (list #PatternType #PatternName)
  25.              )
  26.            )
  27.           (list e (entlast))
  28.         )
  29.       )
  30.     )
  31.   )
  32.   (xdrx_begin)
  33.   (if (setq e (car (setq e (xdrx_entsel "\n选取拆分的多重多边形<退出>:"))))
  34.     (progn
  35.       (setq tf t)
  36.       (xdrx_pickset_redraw e)
  37.       (while (and
  38.                tf
  39.                (xdrx_initget "D")
  40.                (progn
  41.                  (setq s (xdrx_entsel "\n选取裁剪边界[绘制(D)]<绘制>:" '
  42.                                       ((0 . "LINE,*POLYLINE,ARC,ELLIPSE,CIRCLE,SPLINE"))
  43.                          )
  44.                  )
  45.                  t
  46.                )
  47.              )
  48.         (progn
  49.           (if (not s)
  50.             (setq s "D")
  51.           )
  52.           (cond
  53.             ((= s "D")
  54.               (setq s (_draw))
  55.             )
  56.             ((= (type s) 'LIST)
  57.               (setq s (car s))
  58.             )
  59.           )
  60.           (if s
  61.             (progn
  62.               (setq ints (xdrx_entity_intersectwith s e))
  63.               (if (= (length ints) 2)
  64.                 (progn
  65.                   (setq tf nil)
  66.                   (_split e s)
  67.                   (xdrx_prompt "\n拆分成功.")
  68.                 )
  69.                 (progn
  70.                   (xdrx_prompt "\n无法以选取的边界拆分多重多边形,重试..")
  71.                 )
  72.               )
  73.               (if poly
  74.                 (xdrx_entity_delete poly)
  75.               )
  76.             )
  77.           )
  78.         )
  79.       )
  80.     )
  81.   )
  82.   (xdrx_end)
  83.   (princ)
  84. )

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2021-2-25 15:52 , Processed in 0.130002 second(s), 22 queries , Gzip On, WinCache On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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