找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1458|回复: 0

[工具] 【工具】圆或者点转换成面包圈

[复制链接]

已领礼包: 40个

财富等级: 招财进宝

发表于 2020-6-26 14:53:50 | 显示全部楼层 |阅读模式
  • 插件名称 : 转面包圈
  • 作  者 : newer
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2020-06-26
  • 命令名称 :xdtb_cp2donut
  • 插件介绍 :【工具】圆或者点转换成面包圈
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

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

插件详细内容

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

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

×
  1. (defun c:xdtb_cp2donut (/ cen ss v x)
  2.   (xdrx-begin)
  3.   (xd::var:getdouble "#xd-var-global-radius1" 0.0)
  4.   (if (setq
  5.         v (getreal
  6.             (xdrx-prompt "\n输入内径<" #xd-var-global-radius1 ">:" t)
  7.           )
  8.       )
  9.     (xd::var:setdouble "#xd-var-global-radius1" (abs v))
  10.   )
  11.   (xd::var:getdouble "#xd-var-global-radius2" 1.0)
  12.   (if (setq v (getreal (xdrx-prompt
  13.                          "\n输入外径(0取圆直径)<"
  14.                          #xd-var-global-radius2
  15.                          ">:"
  16.                          t
  17.                        )
  18.               )
  19.       )
  20.     (xd::var:setdouble "#xd-var-global-radius2" (abs v))
  21.   )
  22.   (if (setq ss (xdrx-ssget
  23.                  "\n选择要生成圆环的圆或者点实体<退出>:"
  24.                  '((0 . "circle,point"))
  25.                )
  26.       )
  27.     (progn
  28.       (mapcar
  29.         '(lambda (x)
  30.            (if
  31.              (or (and (xdrx-object-iskindof x "point")
  32.                       (not (equal #xd-var-global-radius2 0.0 1e-4))
  33.                       (> #xd-var-global-radius2 #xd-var-global-radius1)
  34.                       (setq cen (xdrx-getpropertyvalue x "Position"))
  35.                  )
  36.                  (and (xdrx-object-iskindof x "circle")
  37.                       (setq #xd-var-global-radius2
  38.                              (if
  39.                                (equal #xd-var-global-radius2
  40.                                       0.0
  41.                                       1e-4
  42.                                )
  43.                                 (xdrx-getpropertyvalue
  44.                                   x
  45.                                   "Diameter"
  46.                                 )
  47.                                 #xd-var-global-radius2
  48.                              )
  49.                       )
  50.                       (> #xd-var-global-radius2 #xd-var-global-radius1)
  51.                       (setq cen (xdrx-getpropertyvalue x "center"))
  52.                  )
  53.              )
  54.               (progn (xdrx-donut-make
  55.                        cen
  56.                        #xd-var-global-radius1
  57.                        #xd-var-global-radius2
  58.                      )
  59.                      (xdrx-entity-delete x)
  60.               )
  61.            )
  62.          )
  63.         (xdrx-pickset->ents ss)
  64.       )
  65.     )
  66.   )
  67.   (xdrx-end)
  68.   (princ)
  69. )


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

本版积分规则

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

GMT+8, 2024-12-26 03:14 , Processed in 0.383269 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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