找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 爱莫能助

[编程申请] 修改多段线凸度

[复制链接]

已领礼包: 6个

财富等级: 恭喜发财

发表于 2016-10-13 09:39:20 | 显示全部楼层

仔细看论坛置顶帖子,所有答案都在里面找到。

去这个帖子:http://bbs.xdcad.net/thread-668896-1-1.html, 直接下载XDRX API,安装它。

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-13 09:42:55 | 显示全部楼层

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-13 11:42:38 | 显示全部楼层

再送你一个批量处理的

修改多段线弧段弦高距.gif

(defun c:tt ()
  (defun _arc (e)
    (setq num (xdrx_polyline_numVerts e))
    (setq i -1)
    (repeat num
      (if (setq arc (xdrx_getpropertyvalue e "arcsegat" (setq i (1+ i))))
        (progn
          (xdge::getpropertyvalue arc "bulge" "startpoint" "endpoint")
          (setq pts (xdge::getpropertyvalue arc "getsamplepoints" 3))
          (setq isclockwise (XD::Pnts:isClockWise pts))
          (setq dis (distance #startpoint #endpoint))
          (setq bulge1 (/ (* 2 h) dis))
          (if #isclockwise
            (setq bulge1 (- bulge1))
          )
          (xdrx_setpropertyvalue e "bulgeat" (list i bulge1))
        )
      )
    )
  )
  (if (and
        (setq h (getreal "\n输入弦高距<退出>:"))
        (xdrx_prompt "\n选取带弧段多段线<退出>:")
        (setq ss (ssget '((0 . "*polyline") (-4 . "<>")
                         (42 . 0)
                        )
                 )
        )
      )
    (progn
      (xdrx_setsstodb ss 0)
      (while (setq e (xdrx_getentdata 0))
        (if (= "POLYLINE" (car (xdrx_object_classname e)))
          (xdrx_polyline_convertfrom e)
        )
        (_arc e)
      )
    )
  )
  (princ)
)

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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

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

大神
非常好用啊  谢谢啊
那像我图片中说的,凸度旁边的过滤R角可以实现吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-13 19:56:12 | 显示全部楼层

我看看,抽空弄出来。你这个是做什么用到这个插件? 把你工作的例子做个动画图片传上来吧。以后我更新每日插件用。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-14 10:20:57 | 显示全部楼层

这个功能,是用到模具的,冲模的时候转角地方会拉料,所以弄个凸的R角出来
做模具行业的要用到吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-10-14 11:00:23 | 显示全部楼层

给你个交互的版本,测试下,在已经变好的圆弧上, 在倒 圆弧和直线的角。

QQ截图20161014105322.png


(defun c:tt1()
   (defun _line1(line arc r)
      (setq cir (xdge::constructor "kCircArc3d"))
      (if (setq data (xdge::setpropertyvalue cir "set" line arc r 0.9 0.1))
        (progn
           (xdge::getpropertyvalue (car data) "startpoint" "endpoint" "bulge")
           (xdrx_polyline_setPointAt e inx #startpoint)
           (xdrx_polyline_setBulgeAt e inx #bulge)
           (setq bulge1 (/ (* 2 h) (distance #startpoint #endpoint)))
           (xdge::setpropertyvalue arc "setinterval" #endpoint ept)
           (setq bulge1 (xdge::getpropertyvalue arc "bulge"))
           (xdrx_polyline_addVertexAt e (1+ inx) #endpoint bulge1)
        )
      )
   )
   (defun _line2(arc line r)
      (setq cir (xdge::constructor "kCircArc3d"))
      (if (setq data (xdge::setpropertyvalue cir "set" arc line r (- (xdge::getpropertyvalue arc "endparam") 0.2) 0.1 ))
        (progn
           (xdge::getpropertyvalue (car data) "startpoint" "endpoint" "bulge")
           (setq ept #startpoint)
           (xdrx_polyline_addVertexAt e inx #startpoint #bulge)
           (xdrx_polyline_setPointAt e (1+ inx) #endpoint)
           (xdge::setpropertyvalue arc "setinterval" (xdge::getpropertyvalue arc "startpoint") ept)
           (setq bulge1 (xdge::getpropertyvalue arc "bulge"))
           (xdrx_setpropertyvalue e "bulgeat" (list (1- inx) bulge1))
        )
      )
   )
   (if (and (setq r (getreal "\n输入半径<退出>:"))
        (setq e (xdrx_entsel "\n拾取多段线弧线段<退出>:" '((0 . "*polyline"))))
        (setq pt (cadr e)
              e (car e)
        )
        (if (= "POLYLINE" (car (xdrx_object_classname e)))
           (xdrx_polyline_convertfrom e)
           t
        )
        (setq pt (xdrx_curve_getclosestpoint e pt)
              inx (xd::polyline:onsegat e pt)
        )
        (setq arc (xdrx_getpropertyvalue e "arcsegat" inx))
       )
     (progn
      (xdge::getpropertyvalue arc "bulge" "startpoint" "endpoint")
       (setq bulge1 #bulge
             h (/ (* (distance #startpoint #endpoint) bulge1) 2.0)
             ept #endpoint
             inxs (xd::polyline:-index+ (entlast) inx))
       (if (setq line1 (xdrx_getpropertyvalue e "linesegat" (car inxs)))
         (_line1 line1 arc r)
       )
       (if (> (last inxs) 0)
         (setq inx (setq inx (1+ (cadr inxs))))
         (setq inx 0)
       )
       (if (setq line1 (xdrx_getpropertyvalue e "linesegat" inx))
         (_line2 arc line1 r)
       )
     )
   )
   (princ)
)


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

使用道具 举报

已领礼包: 15个

财富等级: 恭喜发财

 楼主| 发表于 2016-10-17 11:35:07 | 显示全部楼层

谢谢啊
用了2天,非常好用。

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 15:04 , Processed in 0.551765 second(s), 47 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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