明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2177|回复: 6

谁有点选直线,让该线在与其他任何线的交点处打断的程序

[复制链接]
发表于 2011-11-20 17:59:49 | 显示全部楼层 |阅读模式
点选直线后,

让该线在与其他线的交点处打断 ,其它线没有被打断,只有选择的直线被打断,直线与选择的直线相交,没有选择该直线,则交点不被打断!
 楼主| 发表于 2011-11-20 19:32:53 | 显示全部楼层
本帖最后由 xingyun300 于 2011-11-20 19:33 编辑

编程思路:
1、选择一条直线;
2、取得这条直线的两个端点;
3、用这两个端点取得与这条直线相交的直线;
   (ssget "F" (list pt1 pt2) '((0 . "LINE")))
4、用第一条直线对取得的每条直线分别取交点;
5、对交点按距离第一条直线的一个端点距离排序;
6、按交点重画这条直线;
7、删除这条直线。

但我不会,请高手试试!
发表于 2011-11-20 20:55:54 | 显示全部楼层
本帖最后由 x_s_s_1 于 2011-11-20 20:56 编辑

;;;计算曲线交点
(defun Curveinters (en1 en2 / pl pts)
  (setq pl  (vlax-invoke (vlax-ename->vla-object en2) 'IntersectWith (vlax-ename->vla-object en1) acExtendNone))
  (while pl
    (setq pts (append pts (list (list (car pl) (cadr pl) (caddr pl))))
   pl (cdr (cdr (cdr pl)))
   )
    )
pts
  )
得到交点然后(command "break")就行了
 楼主| 发表于 2011-11-20 21:05:49 | 显示全部楼层
好像不是太好用呀,也没有达到我要的那个效果呀!也许是我不会用吧!
发表于 2011-11-20 21:13:15 | 显示全部楼层
 楼主| 发表于 2011-11-20 21:25:56 | 显示全部楼层
x_s_s_1 发表于 2011-11-20 21:13
我只是将古版主的函数给您,剩下的就简单了,您自己再写点不就得了(您自己编程思路都有了,关键函数也给您 ...

唉,关键是我不会呢!唉
发表于 2011-11-20 21:35:13 | 显示全部楼层
xingyun300 发表于 2011-11-20 21:25
唉,关键是我不会呢!唉

我现在也没有时间,要加通宵班,您这样的功能以我的水平需要1个小时以上才可写出,不好意思了,爱莫能助

点评

这就是差距,你一个小时能写出来,我已经花了2天时间了还没完全好。。。不过基本是凭自己的思路写的哦  发表于 2011-11-24 17:09
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-23 11:58 , Processed in 0.194323 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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