找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: 牢固

[每日一码] 【牢固】多段线剪裁多段线,并重构封闭多段线

[复制链接]

已领礼包: 5586个

财富等级: 富甲天下

发表于 2013-5-25 17:06:15 | 显示全部楼层
非常感谢固版主!
1、被切成2段不闭合问题:
    将:(setq ss (ssget "f" ppl0 '((0 . "lwpolyline"))))
    改为:(setq ss (ssget "f" (append ppl0 (list (car ppl0))) '((0 . "lwpolyline"))))解决了
2、漏剪问题:多采用几次不同的DIS参数解决了
两次感谢固版主,向您学习!

评分

参与人数 1D豆 +6 收起 理由
XDSoft + 6 有始有终奖!

查看全部评分

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

使用道具 举报

已领礼包: 8个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-5-30 16:22:20 | 显示全部楼层
请问G版,如果把多段线外框的图元删除,保留多段线内框的图元,应该怎么实现?

点评

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

使用道具 举报

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

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-5-31 19:45:38 | 显示全部楼层
sicky111 发表于 2013-5-30 16:22
请问G版,如果把多段线外框的图元删除,保留多段线内框的图元,应该怎么实现?

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

使用道具 举报

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

使用道具 举报

发表于 2013-6-3 05:55:18 | 显示全部楼层
本帖最后由 zjsmlzp 于 2013-6-3 08:28 编辑

裁剪时能有选择保留框内或框外就更好。:)
下面情况下,框左边的图形裁剪后会出现不能形成封闭(裁剪基准线仅在四边形的情况下)!!
1.jpg
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 1261个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

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

使用道具 举报

发表于 2013-7-9 12:43:37 | 显示全部楼层
HLCAD 发表于 2013-5-24 10:13
程序试用手记:
方法1(采用BPoly函数重新构建边界)不能达到预期效果,现只用方法2;
方法1和方法2中针 ...

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 862个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 344个

财富等级: 日进斗金

 楼主| 发表于 2013-7-11 21:53:35 | 显示全部楼层
本帖最后由 牢固 于 2013-7-12 00:10 编辑

用强大的晓东API来写该功能,寥寥几句代码就可以搞定:
  1. (defun c:tt ()
  2.   (xdrx_begin (list "cmdecho" 0 "osmode" 0))
  3.   (xdrx_document_ucson)
  4.   (setq poly (car (xdrx_entsel "\n选择多段线:" '((0 . "lwpolyline")))))
  5.   (if poly
  6.     (progn
  7.       (vla-copy (vlax-ename->vla-object poly))
  8.       ;;返回多段线的模拟点
  9.       (setq pts (xdrx_getsamplept poly))
  10.       ;;返回向内偏移的的顶点坐标
  11.       (setq pts1 (xdrx_curve_offset poly (* -0.005 (getvar 'viewsize))))
  12.       ;;隐藏原边界
  13.       (redraw poly 0)
  14.       (setq ss (ssget "_F" pts '((0 . "*polyline"))))
  15.       ;;曲线交点打断
  16.       (setq ss (XDRX_CURVE_INTERSECTBREAK ss 0))
  17.       ;;如果不加延迟,后面选择不到多段线
  18.       (command "delay" 100)
  19.       ;;删除边界内多段线
  20.       (setq s1 (ssget "wp" pts '((0 . "*polyline"))))
  21.       (if s1 (command "erase" s1 ""))
  22.       (setq s1 (ssget "_F" pts1 '((0 . "*polyline"))))
  23.       (if s1 (command "erase" s1 ""))
  24.       (setq ss (xdrx_geom_searchRegions  ss 0))
  25.        (xdrx_document_ucsoff)
  26.       ;;恢复原边界
  27.       (redraw poly 1)
  28.       
  29.       )
  30.     )
  31.   (xdrx_end)
  32.   )



点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-7 14:27 , Processed in 0.665774 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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