找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1328|回复: 4

[矩形] 【矩形】批量向内倒直角

[复制链接]

已领礼包: 20个

财富等级: 恭喜发财

发表于 2020-6-23 02:51:23 | 显示全部楼层 |阅读模式
  • 插件名称 : 矩形阴角
  • 作  者 : marting
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2020-06-23
  • 命令名称 :xdtb_recyj
  • 插件介绍 :【矩形】批量向内倒直角
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

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

插件详细内容

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

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

×
本帖最后由 newer 于 2020-6-23 10:35 编辑

  1. (defun c:xdtb_recyj (/          distx            disty     p1   p10        p11  p12  p2   p3
  2.              p4          p5   p6   p7         p8   p9   ptmin     pts  ss   v
  3.              vx          vy   x
  4.             )
  5.   (xd::var:getdouble "#xd-var-global-xoffset" 10.0)
  6.   (xd::var:getdouble "#xd-var-global-yoffset" 10.0)
  7.   (if (setq
  8.         v (getreal
  9.             (xdrx-prompt "\nX方向长度<" #xd-var-global-xoffset ">:" t)
  10.           )
  11.       )
  12.     (xd::var:setdouble "#xd-var-global-xoffset" v)
  13.   )
  14.   (if (setq
  15.         v (getreal
  16.             (xdrx-prompt "\nY方向长度<" #xd-var-global-yoffset ">:" t)
  17.           )
  18.       )
  19.     (xd::var:setdouble "#xd-var-global-yoffset" v)
  20.   )
  21.   (while (setq ss (xdrx-ssget
  22.                     "\n选择要到阴角的矩形<退出>:"
  23.                     '((0 . "*polyline"))
  24.                   )
  25.          )
  26.     (mapcar
  27.       '(lambda (x)
  28.          (if (setq pts (xd::polyline:isrectang x))
  29.            (progn
  30.              (setq pts         (xd::pnts:open pts)
  31.                    distx (distance (car pts) (cadr pts))
  32.                    disty (distance (car pts) (last pts))
  33.              )
  34.              (if (and (> distx (* 2 #xd-var-global-xoffset))
  35.                       (> disty (* 2 #xd-var-global-yoffset))
  36.                  )
  37.                (progn (setq ptmin (car (xd::pnts:miny->minx pts 1e-3))
  38.                             pts          (xd::polyline:resetfirstvertex pts ptmin)
  39.                             vx          (xdrx-vector-normalize
  40.                                     (mapcar '- (cadr pts) (car pts))
  41.                                   )
  42.                             vy          (xdrx-vector-normalize
  43.                                     (mapcar '- (last pts) (car pts))
  44.                                   )
  45.                             p1          (mapcar
  46.                                     '+
  47.                                     (car pts)
  48.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  49.                                   )
  50.                             p3          (mapcar
  51.                                     '+
  52.                                     (car pts)
  53.                                     (xdrx-vector-product vx #xd-var-global-xoffset)
  54.                                   )
  55.                             p2          (mapcar
  56.                                     '+
  57.                                     p3
  58.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  59.                                   )
  60.                             p4          (mapcar
  61.                                     '-
  62.                                     (cadr pts)
  63.                                     (xdrx-vector-product vx #xd-var-global-xoffset)
  64.                                   )
  65.                             p5          (mapcar
  66.                                     '+
  67.                                     p4
  68.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  69.                                   )
  70.                             p6          (mapcar
  71.                                     '+
  72.                                     (cadr pts)
  73.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  74.                                   )
  75.                             p7          (mapcar
  76.                                     '-
  77.                                     (nth 2 pts)
  78.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  79.                                   )
  80.                             p8          (mapcar
  81.                                     '-
  82.                                     p7
  83.                                     (xdrx-vector-product vx #xd-var-global-xoffset)
  84.                                   )
  85.                             p9          (mapcar
  86.                                     '-
  87.                                     (nth 2 pts)
  88.                                     (xdrx-vector-product vx #xd-var-global-xoffset)
  89.                                   )
  90.                             p10          (mapcar
  91.                                     '+
  92.                                     (last pts)
  93.                                     (xdrx-vector-product vx #xd-var-global-xoffset)
  94.                                   )
  95.                             p11          (mapcar
  96.                                     '-
  97.                                     p10
  98.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  99.                                   )
  100.                             p12          (mapcar
  101.                                     '-
  102.                                     (last pts)
  103.                                     (xdrx-vector-product vy #xd-var-global-yoffset)
  104.                                   )
  105.                       )
  106.                       (xdrx-setpropertyvalue
  107.                         x
  108.                         "set"
  109.                         (list p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12)
  110.                         "closed"
  111.                         t
  112.                       )
  113.                )
  114.              )
  115.            )
  116.          )
  117.        )
  118.       (xdrx-pickset->ents ss)
  119.     )
  120.   )
  121.   (princ)
  122. )


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

已领礼包: 6202个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 423个

财富等级: 日进斗金

发表于 2020-6-23 08:40:05 | 显示全部楼层
功能非常好,但我相信,如果是线段组成的矩形必须先要合并才可以倒角。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 148个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 2230个

财富等级: 金玉满堂

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 14:19 , Processed in 0.204443 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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