找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1877|回复: 5

[多段线] 批量多段线Taper(平滑起始到终止宽度)

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2018-11-24 00:57:51 | 显示全部楼层 |阅读模式
  • 插件名称 : 多段线Taper
  • 作  者 : Lispboy
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2018-11-24
  • 命令名称 :XDTB_PLTaper
  • 插件介绍 :批量多段线Taper(平滑起始到终止宽度)
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

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

插件详细内容

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

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

×
  1. (defun c:XDTB_PLTaper (/ dis segs #last #swid lens i e ss var)
  2.   (defun _process (e)
  3.     (setq dis        (xdrx_getpropertyvalue e "length")
  4.           segs        (xdrx_getpropertyvalue e "allsegs")
  5.           #last        0.0
  6.           #swid        0.0
  7.           lens        (mapcar        '(lambda (x)
  8.                            (xdge::getpropertyvalue x "length")
  9.                            (setq #last (+ #last #length)
  10.                                  wids  (list #swid
  11.                                              (* #xd_var_global_endwid (/ #last dis))
  12.                                        )
  13.                            )
  14.                            (setq #swid (last wids))
  15.                            wids
  16.                          )
  17.                         segs
  18.                 )
  19.           i        0
  20.           lens        (mapcar        '(lambda (x)
  21.                            (setq i (1+ i))
  22.                            (list (+ (car x) #xd_var_global_startwid)
  23.                                  (if (/= i (length segs))
  24.                                    (+ #xd_var_global_startwid (cadr x))
  25.                                    (cadr x)
  26.                                  )
  27.                            )
  28.                          )
  29.                         lens
  30.                 )
  31.           i        0
  32.     )
  33.     (repeat (xdrx_polyline_numverts e)
  34.       (xdrx_polyline_setwidthsat
  35.         e
  36.         i
  37.         (car (nth i lens))
  38.         (cadr (nth i lens))
  39.       )
  40.       (setq i (1+ i))
  41.     )
  42.   )
  43.   (if (and (xdrx_initssget "\n选择要处理的多段线<退出>:")
  44.            (setq ss (xdrx_ssget '((0 . "*polyline"))))
  45.       )
  46.     (progn (xdrx_begin)
  47.            (if (not #xd_var_global_startwid)
  48.              (setq #xd_var_global_startwid 1.0)
  49.            )
  50.            (if (setq var (getreal (xdrx_prompt
  51.                                     "\n起始宽度<"
  52.                                     #xd_var_global_startwid
  53.                                     ">:"
  54.                                     t
  55.                                   )
  56.                          )
  57.                )
  58.              (setq #xd_var_global_startwid var)
  59.            )
  60.            (if (not #xd_var_global_endwid)
  61.              (setq #xd_var_global_endwid 2.0)
  62.            )
  63.            (if (setq var
  64.                       (getreal
  65.                         (xdrx_prompt "\n起始宽度<" #xd_var_global_endwid ">:" t)
  66.                       )
  67.                )
  68.              (setq #xd_var_global_endwid var)
  69.            )
  70.            (setq #swid #xd_var_global_startwid)
  71.            (mapcar '(lambda (x) (_process x)) (xdrx_pickset->ents ss))
  72.            (xdrx_end)
  73.     )
  74.   )
  75.   (princ)
  76. )


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

已领礼包: 12个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 2107个

财富等级: 金玉满堂

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 2230个

财富等级: 金玉满堂

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

使用道具 举报

已领礼包: 6434个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 01:38 , Processed in 0.421906 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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