明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1175|回复: 9

[讨论] 框选断开程序

[复制链接]
发表于 2020-2-26 20:46 | 显示全部楼层 |阅读模式
这是一个非常实用的小工具,框选断开插件,在晓东上找的,很好用。
有一个地方要改一下,就是如何加一语句,实现不用选择物体,省去这一步。输入命令后,框选哪,就断开哪。哪位高手给修改一下。
  1. (defun c:y (/ e p1 p2 pts pl ptl ss pt el)
  2.   (if (and (setq e (xdrx_entsel
  3.        "\n请选择要断开的曲线: "
  4.        '((0 . "*line,arc,circle,ellipse"))
  5.      )
  6.     )
  7.     (setvar "osmode" 0)
  8.     (progn (redraw (car e) 3) t)
  9.     (setq p1 (getpoint "\n起点: "))
  10.     (setq p2 (getcorner p1 "\n终点: "))
  11.       )
  12.     (progn
  13.       (setq pts (list p1
  14.         (list (car p1) (cadr p2) 0.)
  15.         p2
  16.         (list (car p2) (cadr p1) 0.)
  17.   )
  18.      pl (apply 'xdrx_polyline_make (append pts '(t)))
  19.      ptl (vl-sort (xdrx_entity_intersectwith (car e) pl)
  20.     '(lambda (p1 p2)
  21.        (< (xdrx_curve_getparamatpoint (car e) p1)
  22.           (xdrx_curve_getparamatpoint (car e) p2)
  23.        )
  24.      )
  25.   )
  26.       )
  27.       (xdrx_setmark)
  28.       (apply 'xdrx_curve_break (cons (car e) ptl))
  29.       (setq ss (xdrx_getss)
  30.      el (xdrx_pickset->ents ss)
  31.       )
  32.       (if (xdrx_point_isinside
  33.      (cadr (xdrx_curve_getpoint (car e)))
  34.      pl
  35.    )
  36. (progn
  37.    (xdrx_object_swapid pt (car e))
  38.    (xdrx_entity_delete (car e))
  39. )
  40. (foreach x el
  41.    (if (xdrx_point_isinside
  42.   (cadr (xdrx_curve_getpoint x))
  43.   pl
  44.        )
  45.      (xdrx_entity_delete x)
  46.    )
  47. )
  48.       )
  49.       (xdrx_entity_delete pl)
  50.     )
  51.   )
  52.   (princ)
  53. )


 楼主| 发表于 2020-2-27 14:55 | 显示全部楼层

非常感谢,很好用。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-27 09:09 | 显示全部楼层
这缺少很多自定义函数呢。
发表于 2020-2-27 11:36 | 显示全部楼层
看看行不         

本帖子中包含更多资源

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

x
发表于 2020-3-7 20:42 | 显示全部楼层

这个好用!感谢!!
发表于 2020-3-8 13:56 | 显示全部楼层
谢谢分享好程序
发表于 2022-7-21 10:43 | 显示全部楼层
謝謝分享好程序
发表于 2022-11-23 19:48 | 显示全部楼层
源码高深,有中文注释就好了
发表于 2022-11-24 11:50 | 显示全部楼层
好东西,谢谢分享!!!
发表于 2022-11-24 20:24 | 显示全部楼层
謝謝分享好程序
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-21 14:16 , Processed in 0.194343 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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