找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 582|回复: 8

[求助] 麻烦大师写个求两线交点的函数

[复制链接]

已领礼包: 149个

财富等级: 日进斗金

发表于 2017-5-22 08:57:49 来自手机 | 显示全部楼层 |阅读模式

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

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

×
选择两条线 ,可能是两多段线,也可能是两直线,也可能是一条直线,一条多段线

如果两线无交点则返回nil
有交点,包括虚拟交点 ,则返回交点坐标

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

已领礼包: 20个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-5-22 09:23:59 | 显示全部楼层
本帖最后由 marting 于 2017-5-22 11:47 编辑

写个吧

参数:
e1 ,e2  ---- 实体名 或 VLA对象名
typ      ---- 实体扩展求交方式,0--不扩展实体,1--扩展第一个实体 ,2--扩展第二个实体,3--两个都扩展
  1. (defun XD::Ent:inters (e1 e2 typ / ints)
  2.   (if (and (= (type e1) 'ename)
  3.            (= (type e2) 'ename)
  4.       )
  5.     (setq e1 (vlax-ename->vla-object e1)
  6.           e2 (vlax-ename->vla-object
  7.                e2
  8.              )
  9.     )
  10.   )
  11.   (if (not
  12.         (vl-catch-all-error-p
  13.           (vl-catch-all-apply
  14.             '(lambda ()
  15.                (setq ints (xd::vla:variant->value
  16.                             (vla-intersectwith e1 e2 typ)
  17.                           )
  18.                )
  19.              )
  20.           )
  21.         )
  22.       )
  23.     (setq ints (xd::list:group-n ints 3))
  24.   )
  25.   ints
  26. )


函数 xd::list:group-n 见:http://bbs.xdcad.net/thread-709133-1-1.html
函数 xd::vla:variant->value 见:http://bbs.xdcad.net/thread-709104-1-1.html
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 149个

财富等级: 日进斗金

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

使用道具 举报

已领礼包: 149个

财富等级: 日进斗金

 楼主| 发表于 2017-5-22 11:30:32 | 显示全部楼层

marting大师,测试了下你写的函数,当选择无交点的两条线时(平行线),不是返回nil,而是显示错误:ActiveX服务器返回错误:无效索引。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2017-5-22 11:47:44 | 显示全部楼层

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

使用道具 举报

已领礼包: 149个

财富等级: 日进斗金

 楼主| 发表于 2017-5-22 15:46:37 | 显示全部楼层

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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 48个

财富等级: 招财进宝

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-24 04:26 , Processed in 0.332402 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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