找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: chen10jing

[求助] [求助]:框选剪切的改进问题

[复制链接]
发表于 2007-8-19 08:37:28 | 显示全部楼层
最初由 真龙天子 发布
[B]要达到只是删除与选框相交的框外的实体,而不是把与选框相交或不相交的框外所有的实体都删除. [/B]

  1.   [FONT=courier new]
  2. ;;;功能:剪除框外物体
  3. (defun C:nn(/ PT1 PT2 OS_OLD S1 ANG D PT3 PT4)
  4.     ;;关闭命令回显
  5.     (command "undo" "g")
  6.     (setvar "CMDECHO" 0)
  7.     (princ "\n剪除框外物体")
  8.     (while (setq PT1 (getpoint "\n第一角点: "))
  9.         (if (setq PT2 (getcorner PT1 " >>>第二角点: "))
  10.             (progn
  11.                 ;;关闭对象捕捉
  12.                 (setq OS_OLD (getvar "OSMODE"))
  13.                 (setvar "OSMODE" 0)
  14.                 ;;绘制临时边界
  15.                 (command "_rectang" PT1 PT2)
  16.                 (setq S1 (entlast))
  17.                 ;;计算边界内的四个角点
  18.                 (setq ANG (angle PT1 PT2)
  19.                       D          (distance PT1 PT2)
  20.                       D          (* D 1e-2)
  21.                       PT1 (polar PT1 (+ ANG pi) D)
  22.                       PT2 (polar PT2 ANG D)
  23.                       PT3 (list (car PT1) (cadr PT2))
  24.                       PT4 (list (car PT2) (cadr PT1))
  25.                 )
  26.                 ;;强力剪切
  27.                 (command "_.trim" S1 "")
  28.                 (repeat        5
  29.                     (command "f" PT1 PT3 PT2 PT4 PT1 "")
  30.                 )
  31.                 (command "")
  32.                 (command "_.erase" (ssget "c" pt1 pt2) "r" "w" PT1 PT2 "")
  33.                 ;;删去临时边界
  34.                 (command "_.erase" S1 "")
  35.                 ;;恢复对象捕捉设置
  36.                 (setvar "OSMODE" OS_OLD)
  37.             )
  38.         )
  39.     )
  40.     (command "undo" "e")
  41.     (princ)
  42. ) ;_结束 defun
  43.   [/FONT]

最初由 cgh93001 发布
[B]14楼 说的意思是不是 只TRIM 而不删除 那去掉最后的“E“ 就可以了吧! [/B]

可以这么认为。这样做的结果是与选框相交的非LINE、 非LWPOLYLINE、非ARC实体将不会被删除。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-19 22:39:34 | 显示全部楼层
经测试,16楼的也没达到只删除与选框相交实体的框外部分,而不是把与选框相交或不相交的框外所有的实体都删除.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-20 19:37:38 | 显示全部楼层
最初由 真龙天子 发布
[B]经测试,16楼的也没达到只删除与选框相交实体的框外部分,而不是把与选框相交或不相交的框外所有的实体都删除. [/B]

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

使用道具 举报

发表于 2007-8-20 22:53:21 | 显示全部楼层
经重新测试,16楼的程序达到了预期目的,没有把不相交的实体删除掉,能否请gysjy再进一步开发一下,使之能沿splline或者pline线(不一定封闭)所形成的边界剪裁,鼠标点线的左边即剪掉与线相交实体的左边部分,鼠标点线的右边即剪掉与线相交实体的右边部分.这样就可以适应各种剪栽需要了,不知能否达到?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-20 23:18:51 | 显示全部楼层
最初由 真龙天子 发布
[B]能否请gysjy再进一步开发一下.. [/B]

容我考虑一下,请稍等候。

……………………………………………………

现已就这一问题编写好一段程序,详情请参阅:

http://p4.xdcad.net/forum/showth ... 3264795#post3264795

附图为剪裁效果:

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

使用道具 举报

发表于 2007-8-23 14:46:08 | 显示全部楼层
真的很感谢gysjy大侠,你这个剪切程序很好用,完全达到了预期的目的,可以说这处程序可适应一切剪切的需要,非常感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-8-29 08:23:47 | 显示全部楼层
只能多支持啊

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

使用道具 举报

发表于 2007-9-24 05:41:33 | 显示全部楼层
这样的剪切理论上看是可行的,但处理复杂点的图形时可能有问题,如边界接触到块,CASS和天正的剪切命令就做的非常好,要达到那个效果才行的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2007-10-11 20:42:56 | 显示全部楼层
记得天正里有个图形裁剪命令,可以将图形中的某一部分裁剪出来,放大若干倍,
不知能否用上面程序实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-10-14 12:06:11 | 显示全部楼层
xyp1964班主在24、25、26楼所演示的很好啊,程序在哪呀,给个地址吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-14 06:27 , Processed in 0.225988 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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