找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1501|回复: 14

[编程申请] 曲线断开缺口

[复制链接]

已领礼包: 23个

财富等级: 恭喜发财

发表于 2016-10-6 15:15:12 | 显示全部楼层 |阅读模式
悬赏20D豆已解决
大神们,像这种曲线断开缺口的插件,请帮忙写一个。 66.gif

最佳答案

查看完整内容

试试,可批量,封闭和不封闭的都考虑了,适合LINE,SPLINE,ARC,CIRCLE,ELLIPSE,*POLYLINE,也用了SSGET里面设置关键字,如果可以,麻烦做个动画传上来,我去更新每日插件。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-6 15:15:13 | 显示全部楼层
本帖最后由 newer 于 2016-10-6 18:12 编辑

试试,可批量,封闭和不封闭的都考虑了,适合LINE,SPLINE,ARC,CIRCLE,ELLIPSE,*POLYLINE,也用了SSGET里面设置关键字,如果可以,麻烦做个动画传上来,我去更新每日插件。

  1. (defun c:tt ()  (defun _setdis (keyword)
  2.     (cond
  3.       ((= keyword "SE")
  4.        (if (setq dis (getreal (xdrx_prompt
  5.                                 "\n请输入断口距离<"
  6.                                 #dis
  7.                                 ">:"
  8.                                 t
  9.                               )
  10.                      )
  11.            )
  12.          (setq #dis dis)
  13.        )
  14.       )
  15.       ((= keyword "BE")
  16.        (if (setq div (getint (xdrx_prompt
  17.                                "\n请输入等分数<"
  18.                                #div
  19.                                ">:"
  20.                                t
  21.                              )
  22.                      )
  23.            )
  24.          (setq #div div)
  25.        )
  26.       )
  27.     )
  28.     (xdrx_prompt
  29.       "\n当前设置:等分数(" #div ")/断口距离(" #dis ")")
  30.   )
  31.   (defun _break        (e div dis)
  32.     (setq ge           (xdge::constructor e)
  33.           pts           (xdge::getpropertyvalue ge "getSamplePoints" div)
  34.           pts           (cdr pts)
  35.           pts           (xd::list:removetail pts)
  36.           intv           (xdge::getpropertyvalue ge "getinterval")
  37.           bound           (xdge::getpropertyvalue (car intv) "getbounds")
  38.           len           (xdge::getpropertyvalue ge "length")
  39.           dis           (/ dis 2.0)
  40.           _isclose (xdrx_getpropertyvalue e "isclosed")
  41.     )
  42.     (setq i 0)
  43.     (repeat div
  44.       (setq ge1 (xdge::copy ge))
  45.       (setq gap (* (last bound) (/ dis len)))
  46.       (cond
  47.         ((= i 0)
  48.          (setq sec (- (/ (last bound) div) gap))
  49.          (if _isclose
  50.            (xdge::setpropertyvalue ge1 "setinterval" gap sec)
  51.            (xdge::setpropertyvalue ge1 "setinterval" 0 sec)
  52.          )
  53.         )
  54.         ((= i (1- div))
  55.          (setq sec (+ gap (* (last bound) (/ (1- div) (+ 0.0 div)))))
  56.          (if _isclose
  57.            (xdge::setpropertyvalue
  58.              ge1
  59.              "setinterval"
  60.              sec
  61.              (- (last bound) gap)
  62.            )
  63.            (xdge::setpropertyvalue ge1 "setinterval" sec (last bound))
  64.          )
  65.         )
  66.         (t
  67.          (setq sec1 (+ gap (* i (/ (last bound) (+ 0.0 div))))
  68.                sec2 (- (* (1+ i) (/ (last bound) (+ 0.0 div))) gap)
  69.          )
  70.          (xdge::setpropertyvalue ge1 "setinterval" sec1 sec2)
  71.         )
  72.       )
  73.       (setq i (1+ i))
  74.       (xdge::entity:make ge1)
  75.       (xdrx_entity_matchprop e (entlast))
  76.     )
  77.     (xdrx_entity_delete e)
  78.   )

  79.   (xdrx_begin)
  80.   (if (not #dis)
  81.     (setq #dis 10.0)
  82.   )
  83.   (if (not #div)
  84.     (setq #div 5)
  85.   )
  86.   (xdrx_prompt
  87.     "\n当前设置:等分数(" #div ")/断口距离(" #dis ")")
  88.   (xdrx_initssget
  89.     "\n选取要等分断口的曲线[等分设置(BE)/断口距离(SE)]<退出>:"
  90.     "BE SE"
  91.     "移除不断口的曲线<退出>:"
  92.     "_setdis"
  93.     ""
  94.    )
  95.   (if (setq ss (xdrx_ssget '((0 . "*line,arc,ellipse,circle"))))
  96.     (progn
  97.       (mapcar
  98.         '(lambda (x)
  99.            (_break x #div #dis)
  100.          )
  101.         (xdrx_pickset->ents ss)
  102.       )
  103.     )
  104.   )
  105.   (xdrx_end)
  106.   (princ)
  107. )

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-6 17:16:41 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-6 17:35:06 | 显示全部楼层

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-6 17:40:41 | 显示全部楼层

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-6 18:59:49 | 显示全部楼层

你好,能否帮忙调一下,现在是默认4个缺口,而且宽度是10,无法更改个数及宽度。能不能改为输入命令回车,选择物体回车,输入个数回车,输入宽度回车完成。麻烦了,谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-6 20:39:45 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-7 11:16:41 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-8 09:31:53 | 显示全部楼层

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

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-9 17:43:48 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-9 17:56:09 | 显示全部楼层

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

使用道具 举报

已领礼包: 108个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 03:02 , Processed in 0.208385 second(s), 58 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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