找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2961|回复: 9

[多段线] 批量重设多段线的起始点和时针方向

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2018-10-18 23:45:18 | 显示全部楼层 |阅读模式
  • 插件名称 : 重设顶点
  • 作  者 : Lispboy
  • 运行环境 :XDRX API OpenDCL 晓东工具箱 
  • 发布时间 :2018-10-18
  • 命令名称 :xdtb_plresetvtx
  • 插件介绍 :批量重设多段线的起始点和时针方向
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

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

插件详细内容

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

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

×
本帖最后由 Lispboy 于 2018-10-18 23:46 编辑

  1. (defun c:xdtb_plresetvtx (/ ss e pt inx)
  2.   (setq        xd-odcl-polyline-reset-vertex-data
  3.          '("YWt6A8IWAABjIKtPBuKbKTcxaj9mA/1O6kx0ZGmc7G4/uzptunNCZt34Zn**Tr2unq4D31/bw+K"
  4.            "3qBaj15YuG6dv/VJqbpbBK66/bW/umGecU4vqu15abjRFOSX0Emmrf1fNJI3K6nl1IQUh6CF1MRa"
  5.            "R+L67fSgIgQEHxCN/YgZGYR4YQnVmqkGgZvbdn8GJXYy78kQKC/zKxbryiEAK/Yfx8IpdSBf2yss"
  6.            "1DgiNNOMEWJLLNS7NFfT74x/V6vccxVbq9r4MxT1FZrhZJcpVcOk2rMMtyk14YO4HOvea7gc8y3U"
  7.            "PMtnV1DdlQfK5wDTLvaWp/SvWi50azxg4jn4V9Y9aQQOKjLWKeZPLJ1KL0XvcbHdsOTr5ZnDZiqp"
  8.            "bggeNrEig1qiOQb4pYHEyInwlDFsAJrISZ1BXoLujgO8obcg/A5GGp1hkATLXwtg+5ezrJVTyUjR"
  9.            "7raPYnvgsC700sHIBFE2ZiEI9X1EDjSsHwpk6Io2ACIs0eqFmqNd20Zs/HBGsCzrkES73/aWD/Vy"
  10.            "4rlgcKk36SiXaoHz8Y36XF3I3GDFRPtTLQdzr7DNFHSTL9mrWKz+I1btCjZ4ku4hZ0g1AG6UNsQh"
  11.            "FAnEdmEz8WOE1InE45RFdo0QBcZL3o9SJDXd+WUsLEUiotGVaS+Fk1BgqgZlD9XgDn2f0/pvzImz"
  12.            "GH2qbKQp8fFt7FztWuUQnkyID68QPe4gErp3twX7WONscCq63IW8Zqhfdpfw9+u9LFQ5KhRJ5yhP"
  13.            "yuWe3XT2qgk2LMl2oVgC7U7F76OySh7kTvPmGGkWwt+KsNuOzqWgEoVZlIFPY3wsxvyEAQiZHZT9"
  14.            "VTJhYNJOcgKl35AsqsM5BtJ0ilbaKonFPAhC9Md/JU9PpvRXqYZ9T6bd3k3Oa8pundDep8cupTET"
  15.            "ZZ7W07q+HhS1V8hQONiZUZHVQu9fUCW+Gz97olscYyvCp+a7HBiPzMYnsm2eEmZtjUf2zmzMe29w"
  16.            "RNJicFyn/PA5FxPO68hgndDK5z9H5isbpDW7eISjJdQNr6hoGhSVDwKEkPe+szimIkqJbHFpsb/w"
  17.            "vEQ+g7WJ6BA374fsM03OTF3sONs30a45Oa4EB2Fp6qOlgmvs4aCvKgPqCMqwx2VFmBqeN9l5i/ni"
  18.            "UPt5CjcTD6VmZVEXadiA3e+Q90WxX6Og+SMrZluMk98Ls1yISqSgivX6G8SA+/WzaS13yxFfQjKN"
  19.            "JzqIyG2Fgeqzy44djcJe71NYgQnnTYva3xKiKX3k/29js9lkxupLTgftX/dIyS+yWHyiWuaBYMDl"
  20.            "9h45wYLJaZWFdR0piRgOpsAj6nnDI7qsbWCL8E9/6++TMB6UQzSGfAFbZpuCu0X/gCCKVNlsnQ5w"
  21.            "UtjWFVUXMBAyjC0ubeItWpxSWLZX7MX0AjBvzQHgLVpBSw7GZ0bG2se3mkhQEGe/u1MIA3RpyYJx"
  22.            "WfCIIlBZsOYKSM8x4qweCRfpnqfq3OEhiVDKpw=="
  23.           )
  24.   )
  25.   (defun c:xd-polyline-reset-check#OnClicked (Value /)
  26.     (if        (= value 1)
  27.       (dcl-Control-SetEnabled xd-polyline-reset-option nil)
  28.       (dcl-Control-SetEnabled xd-polyline-reset-option t)
  29.     )
  30.   )
  31.   (defun c:xd-polyline-reset-quit#OnClicked (/)
  32.     (dcl-MessageBox
  33.       "To Do: code must be added to event handler\r\nc:xd-polyline-reset-quit#OnClicked"
  34.       "To do"
  35.     )
  36.   )
  37.   (defun _reset        (e pt)
  38.     (XD::Polyline:ResetSTartPoint e pt)
  39.     (if        (xdrx_curve_direction e)
  40.       (progn (if (= clockwise 0)
  41.                (xdrx_curve_reverse e)
  42.              )
  43.       )
  44.       (progn (if (= clockwise 1)
  45.                (xdrx_curve_reverse e)
  46.              )
  47.       )
  48.     )
  49.   )
  50.   (defun c:xd-polyline-reset-quit#OnClicked (/)
  51.     (dcl-form-close xd-polyline-reset-vertex-form)
  52.     (princ)
  53.   )
  54.   (defun c:xd-polyline-reset-ok#OnClicked (/)
  55.     (setq clockwise (dcl-Control-GetCurrentSelection
  56.                       xd-polyline-reset-clockwise
  57.                     )
  58.     )
  59.     (setq check (dcl-Control-GetValue xd-polyline-reset-check))
  60.     (setq
  61.       pos (dcl-Control-GetCurrentSelection xd-polyline-reset-option)
  62.     )
  63.     (dcl-form-close xd-polyline-reset-vertex-form)
  64.     (xdrx_begin)
  65.     (if        (= check 1)
  66.       (progn
  67.         (if (setq e (xdrx_entsel
  68.                       "\n拾取要处理的封闭多段线(靠近设置点)<退出>:"
  69.                       '((0 . "*polyline") (-4 . "&=") (70 . 1))
  70.                     )
  71.             )
  72.           (progn (setq pt  (cadr e)
  73.                        e   (car e)
  74.                        inx (xdrx_getpropertyvalue e "nearindex" pt)
  75.                        pt  (xdrx_polyline_getpointat e inx)
  76.                  )
  77.                  (_reset e pt)
  78.                  (xdrx_prompt
  79.                    "\n修改了一条多段线顶点,时针方向改为:"
  80.                    (if (= clockwise 0)
  81.                      "*顺时针*"
  82.                      "*逆时针*"
  83.                    )
  84.                  )
  85.           )
  86.         )
  87.       )
  88.       (progn
  89.         (if (and (xdrx_initssget "\n选择要处理的多段线<退出>:")
  90.                  (setq ss
  91.                         (xdrx_ssget '((0 . "*polyline") (-4 . "&=") (70 . 1)))
  92.                  )
  93.             )
  94.           (progn
  95.             (mapcar '(lambda (x)
  96.                        (setq pts (xdrx_getpropertyvalue x "vertices"))
  97.                        (cond ((= pos 0)
  98.                               (setq pt (xd::pnts:extremum pts '> '> t))
  99.                              )
  100.                              ((= pos 1)
  101.                               (setq pt (xd::pnts:extremum pts '< '> t))
  102.                              )
  103.                              ((= pos 2)
  104.                               (setq pt (xd::pnts:extremum pts '> '< t))
  105.                              )
  106.                              ((= pos 3)
  107.                               (setq pt (xd::pnts:extremum pts '< '< t))
  108.                              )
  109.                        )
  110.                        (_reset x pt)
  111.                      )
  112.                     (xdrx_pickset->ents ss)
  113.             )
  114.             (xdrx_prompt
  115.               "\n修改了"
  116.               (sslength ss)
  117.               "条多段线顶点,时针方向改为:*"
  118.               (if (= clockwise 0)
  119.                 "顺"
  120.                 "逆"
  121.               )
  122.               "时针*"
  123.             )
  124.           )
  125.         )
  126.       )
  127.     )
  128.     (xdrx_end)
  129.     (princ)
  130.   )
  131.   (dcl-project-import xd-odcl-polyline-reset-vertex-data)
  132.   (dcl-form-show xd-polyline-reset-vertex-form)
  133.   (princ)
  134. )


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

已领礼包: 12个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 3534个

财富等级: 富可敌国

发表于 2018-10-19 08:29:49 | 显示全部楼层
批量重设多段线的起始点和时针方向,谢谢提供!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 3443个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 2239个

财富等级: 金玉满堂

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

使用道具 举报

已领礼包: 41个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 64个

财富等级: 招财进宝

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 09:50 , Processed in 0.227688 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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