找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 7599|回复: 33

[公告] 既可以框选倒角,也可以点选倒角LSP,希望大师们完善下

[复制链接]
发表于 2013-6-23 15:19:50 | 显示全部楼层 |阅读模式

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

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

×
我在网站上找到一个可以倒角的LSP  ,可以框选(两根直线,一起框;也可以一根一根的框) 可以点选(选择一根直线,再选择1跟直线)   但是对多段线就不能框选,点选了 ,希望大师们能解决这个问题       可以达到既可以框选也可以点选,不管是直线还是多段线都可以      对T字形的线,还是十字形的线都能倒角  而且框选还是点选倒角保留的部分即是自己想要的    下面是我在网上下载的代码 是zml84大侠搞的  
  1. ;;;=========================================
  2. ;;功能:圆角 框选
  3. ;;日期:zml84 于 2007-08-01 22:00
  4. (defun C:ff (/ TEST PT1 PT2 A B)
  5.     ;;选择对象1
  6.     (setq TEST t)
  7.     (while TEST
  8.         (if (setq PT1 (getpoint "\n选择对象:"))
  9.             (if        (and
  10.                     (setq PT2 (getcorner PT1 " >>>第二点:"))
  11.                     (setq SS (ssget "c" PT1 PT2))
  12.                 )
  13.                 (progn
  14.                     (setq A    (list (ssname SS 0) PT1)
  15.                           TEST NIL
  16.                     )
  17.                     (if        (>= (sslength SS) 2)
  18.                         (setq B (list (ssname SS 1) PT2))
  19.                     )
  20.                 )
  21.             )
  22.             (setq TEST NIL)
  23.         )
  24.     )
  25.     ;;选择对象2
  26.     (setq TEST t)
  27.     (if        (and A (= B NIL))
  28.         (while TEST
  29.             (if        (setq PT1 (getpoint "\n选择对象:"))
  30.                 (if (and
  31.                         (setq PT2 (getcorner PT1 " >>>第二点:"))
  32.                         (setq SS (ssget "c" PT1 PT2))
  33.                     )
  34.                     (setq B    (list (ssname SS 0) PT1)
  35.                           TEST NIL
  36.                     )
  37.                 )
  38.                 (setq TEST NIL)
  39.             )
  40.         )
  41.     )
  42.     ;;圆角操作
  43.     (if        (and A B)
  44.         (command "_.fillet" A B)
  45.     )
  46.     (princ)
  47. ) ;_结束 defun



上面代码只能框选
下面的可以框选可以点选 但是都是对多段线不起作用 希望大侠们继续完善这个命令
  1. (defun C:FF (/ SS)
  2.     (if        (and (setq SS (ssget))
  3.              (= (sslength SS) 2)
  4.         )
  5.         (command "_.fillet" (ssname SS 0) (ssname SS 1))
  6.     )
  7.     (princ)
  8. ) ;_结束 defun




论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2013-6-23 16:15:28 | 显示全部楼层
如果是框选的话 框选的部分即是要保留,另外两边自动裁剪。如果是点选也是一样的点选的部分保留  
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 0 反对 1

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2013-6-23 15:57:23 | 显示全部楼层
本帖最后由 --@----- 于 2013-6-23 16:09 编辑

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

使用道具 举报

已领礼包: 685个

财富等级: 财运亨通

发表于 2013-6-23 19:10:51 | 显示全部楼层
新手收下来研究研究{:soso_e113:}

点评

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

使用道具 举报

 楼主| 发表于 2013-6-23 19:17:25 | 显示全部楼层
ysq101 发表于 2013-6-23 19:10
新手收下来研究研究

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

使用道具 举报

发表于 2013-6-23 21:02:22 | 显示全部楼层
http://bbs.xdcad.net/thread-669017-1-1.html

这不是有现成的?

点评

很感谢eachy大侠写的代码,但是对十字形 T字形这样的线就不能确定倒那一部分了,我们画图的时候会经常的到这种有交点的线, 希望框选的或者点选的那一本分保留,其余的就自动裁剪了  详情 回复 发表于 2013-6-23 21:40
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-23 21:40:48 | 显示全部楼层
laibinwu 发表于 2013-6-23 21:02
http://bbs.xdcad.net/thread-669017-1-1.html

这不是有现成的?

很感谢eachy大侠写的代码,但是对十字形 T字形这样的线就不能确定倒那一部分了,我们画图的时候会经常的到这种有交点的线, 希望框选的或者点选的那一本分保留,其余的就自动裁剪了

点评

把这两种情况贴个图片到论坛吧。说下你想做什么。  详情 回复 发表于 2013-6-23 22:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-6-23 22:48:47 | 显示全部楼层
--@----- 发表于 2013-6-23 21:40
很感谢eachy大侠写的代码,但是对十字形 T字形这样的线就不能确定倒那一部分了,我们画图的时候会经常的 ...

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

使用道具 举报

 楼主| 发表于 2013-6-24 00:02:14 | 显示全部楼层
红色的代表框选的部位或者点选中的直线部分  都会出现下面那种结果   也就是以前的倒角只能点选直线 , 现在想 增加个框选倒角功能(框选是分两次选择的,也可以一次选择两根, 倒角的的结果就是框选或者点选的部位保留, 你看看eachy那帖子也是关于这个问题的)
QQ图片20130623235214.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-24 00:07:21 | 显示全部楼层
不知道你能明白我的意思不  就是倒角增加框选的功能,原点选功能还保留。用框选倒角时框选部分保留找的,  也就是图上的红色(框选部分)保留     我表达的也差不多来

点评

用 XDAPI 写了一个,用窗口模式选择,适用于 “十”字形和 三根线情况,框选范围的删除,如果是三根线,保留交点中间线  详情 回复 发表于 2013-6-24 02:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-6-24 02:20:44 | 显示全部楼层
--@----- 发表于 2013-6-24 00:07
不知道你能明白我的意思不  就是倒角增加框选的功能,原点选功能还保留。用框选倒角时框选部分保留找的,   ...

用 XDAPI 写了一个,用窗口模式选择,适用于 “十”字形和 三根线情况,框选范围的删除,如果是三根线,保留交点中间线
  1. (defun c:tt (/ ss sl box pts s pl sp ep)
  2.   (princ "\n用 C 模式选择两根或三根线...")
  3.   (xdrx_begin)
  4.   (while (and (setq ss (ssget)) ;_Must C mode
  5.        (setq sl (sslength ss))
  6.        (or (= sl 3) (= sl 2))
  7.   )
  8.     (setq box (mapcar 'cadr (cdr (assoc -1 (ssnamex ss 0))))
  9.    pts (xdrx_getinters ss 0)
  10.    s   (xdrx_curve_intersectbreak ss 1)
  11.     )
  12.     (xdrx_setsstodb s 0)
  13.     (if (= sl 3)
  14.       (while (setq e (xdrx_getentdata 0))
  15. (setq pl (xdrx_curve_getpoint e)
  16.        sp (car pl)
  17.        ep (caddr pl)
  18.        pl (list sp ep)
  19. )
  20. (if (and (XD::Pnts:IsInPnts pl box)
  21.    (not (or (equal pl pts 1e-5)
  22.      (equal pl (reverse pts) 1e-5)
  23.         )
  24.    )
  25.      )
  26.    (entdel e)
  27. )
  28.       )
  29.       (while (setq e (xdrx_getentdata 0))
  30. (if (XD::Pnts:IsInPnts (xdrx_curve_getpoint e) box)
  31.    (entdel e)
  32. )
  33.       )
  34.     )
  35.   )
  36.   (xdrx_end)
  37.   (princ)
  38. )

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

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-6-24 08:41:58 | 显示全部楼层
第一段用不了,12楼,就交点打断就完了!

点评

看了一下,应该是要最新的 API 支持,xdrx_curve_intersectbreak 返回值为选择集,原来的这个函数返回值为 Nil  详情 回复 发表于 2013-6-24 09:00
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-6-24 09:00:18 | 显示全部楼层
本帖最后由 st788796 于 2013-6-24 09:02 编辑
q3_2006 发表于 2013-6-24 08:41
第一段用不了,12楼,就交点打断就完了!

看了一下,应该是要最新的 API 支持,xdrx_curve_intersectbreak 返回值为选择集,原来的这个函数返回值为 Nil
XD::Pnts:IsInPnts 在函数发布里

点评

XD:nts:IsInPnts没找到,不过我更新了API,2004版,还是一样呀,第一段什么反应也没有,12楼,只是把交点打断而已!  详情 回复 发表于 2013-6-24 09:20
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2476个

财富等级: 金玉满堂

发表于 2013-6-24 09:20:13 | 显示全部楼层
st788796 发表于 2013-6-24 09:00
看了一下,应该是要最新的 API 支持,xdrx_curve_intersectbreak 返回值为选择集,原来的这个函数返回值 ...

XD::Pnts:IsInPnts没找到,不过我更新了API,2004版,还是一样呀,第一段什么反应也没有,12楼,只是把交点打断而已!

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 09:24 , Processed in 0.456824 second(s), 60 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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