找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 892|回复: 3

[求助] [求助]:急用,选择一个图元,画一条线后,该图元层所有的线在相交点被打断。

[复制链接]
发表于 2006-10-14 08:49:02 | 显示全部楼层 |阅读模式

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

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

×
急用,选择一个图元,画一条线后,该图元层所有的线在相交点被打断。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-10-14 12:56:38 | 显示全部楼层
论坛有单独的交点打断程序,把内容合并到你的lsp就可以了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-10-15 00:48:46 | 显示全部楼层
谢谢楼上指点,程序编出来了

  1. (VL-LOAD-COM)
  2. (setq AcadObject (vlax-get-acad-object))
  3. (setq AcadDocument (vla-get-ActiveDocument Acadobject))
  4. (setq mSpace (vla-get-ModelSpace Acaddocument)) ;_获得模型空间指针
  5. (defun c:brk_Line (/             lineObjNames           lay-name
  6.                   lyspt1     i                p1           p2
  7.                   linePointCol                P3           p4
  8.                   p             tmpEnt        lineObjNames
  9.                  ) ;_主函数
  10.   (while (null lay-name)
  11.     (setq lay-name (entsel "\n选择打断图层:"))
  12.   )
  13.   (setq lay-name (entget (car lay-name)))
  14.   (setq lay-name (cdr (assoc 8 lay-name)))

  15.   (setq lyspt1 (getpoint "\n起点:"))
  16.   (if lyspt1
  17.     (setq lyspt2 (getpoint lyspt1 "\n第终点: "))
  18.   )

  19.   (if lyspt1
  20.     (command "line" lyspt1 lyspt2 "")
  21.   )
  22.   (setq        lyspt1 (list lyspt1
  23.                      lyspt2
  24.                      (list (nth 0 lyspt2) (1+ (nth 0 lyspt2)) 0)
  25.                )
  26.   )

  27.   (setq        lineObjNames
  28.          (ssget        "CP"
  29.                 lyspt1
  30.                 (list '(0 . "LINE") (cons 8 lay-name))
  31.          )
  32.   )
  33.   (setq n (sslength lineObjNames))
  34.   (setq p1 (nth 0 lyspt1))
  35.   (setq p2 (nth 1 lyspt1))
  36.   (setq i 0)
  37.   (repeat n
  38.     (setq next (ssname lineObjNames i))
  39.     (setq p3 (vlax-curve-getStartPoint next))
  40.     (setq p4 (vlax-curve-getEndPoint next)) ;_求开始点和结束点
  41.     (setq p (inters p1 p2 p3 p4))
  42.     (vl-cmdf "_.break" (ssadd next) P "@")
  43.     (setq i (1+ i))
  44.   )
  45.   (princ)
  46. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 05:55 , Processed in 0.197197 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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