找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1017|回复: 7

[求助] [求助]:怎样点选两直线求交点。急急急。

[复制链接]
发表于 2003-6-13 10:12:35 | 显示全部楼层 |阅读模式

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

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

×
(princ "选择辅助材的轴线:")
  (setq SS1 (ssget":s"))
  (setq NAME1 (ssname SS1 0))
  (setq AG1 (entget NAME1))
  (setq p1_10(cdr(assoc 10 ag1))p1_11(cdr(assoc 11 ag1)))
  (princ "选择主材的轴线:")
  (setq SS2 (ssget":s"))
  (setq NAME2 (ssname SS2 0))
  (setq AG2 (entget NAME2))
  (setq p2_10(cdr(assoc 10 ag2))p2_11(cdr(assoc 11 ag2)))
求出直线坐标后怎么办,有相应的函数也行。
cal里有个ill,但是不能用(command"cal")引用。
十分感谢。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-6-13 19:30:53 | 显示全部楼层
(defun ptinters (line1 line2)
    (vl-load-com)   
    (setq line1 (vlax-ename->vla-object line1))
    (setq line2 (vlax-ename->vla-object line2))
    (setq pt (vlax-invoke line1 "IntersectWith" line2 2))
    pt
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-6-13 20:59:31 | 显示全部楼层
最初由 张世杰 发布
[B]具体怎么用在LISP中呀,请问CY956老兄。 [/B]


联机帮助:

  1. [font=courier]
  2. 求两条直线的交点
  3. (inters pt1 pt2 pt3 pt4 [onseg])

  4. 所有的点都以当前 UCS 表示,如果提供的四个点都是三维点,
  5. inters 函数检查三维交点。只要所提供的点中有一个是二维点,
  6. inters 函数就将这两条线投影到当前构造平面上,仅检查二维交
  7. 点。

  8. 参数

  9. pt1

  10. 第一条直线的端点。

  11. pt2

  12. 第一条直线的另一端点。

  13. pt3

  14. 第二条直线的端点。

  15. pt4

  16. 第二条直线的另一端点。

  17. onseg

  18. 如果指定为 nil,则由四个 pt 参数定义的两条线被认为是无限长
  19. 的。如果省略 onseg
  20. 参数或其值不为 nil,则交点必须同时位于两条线上,否则 inters 返
  21. 回 nil。

  22. 返回值

  23. 如果 onseg 参数存在且为 nil,则 inters 返回交点坐标,即使这个
  24. 交点不在其中的一条线(或者两条线)的端点范围之内。如果忽
  25. 略 onseg 参数或其值不为 nil,则交点必须同时位于两条线上,否
  26. 则 inters 返回 nil。如果两条直线不相交,inters 函数返回
  27. nil。

  28. 样例

  29. (setq a '(1.0 1.0) b '(9.0 9.0))

  30. (setq c '(4.0 1.0) d '(4.0 2.0))

  31. 命令:(inters a b c d)

  32. nil

  33. 命令:(inters a b c d)

  34. nil

  35. 命令:(inters a b c d nil)

  36. (4.0 4.0)

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

使用道具 举报

发表于 2003-6-14 08:42:40 | 显示全部楼层
(princ "请选择第一根线:")
  (setq ln (ssget))
  (setq ln (entget (ssname ln 0)))
  (setq lna (cdr (assoc 10 ln)))
  (setq lnb (cdr (assoc 11 ln)))

  (princ "请选择第二根线:")
  (setq ss (ssget))
  (setq ln1 (entget (ssname ss 0)))
  (setq lns (cdr (assoc 11 ln1)))
  (setq lne (cdr (assoc 10 ln1)))
;求出交点P1
  (setq p1 (inters lna lnb lns lne))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-14 08:51:07 | 显示全部楼层
(princ "请选择第一根线:")
  (setq ln (ssget))
  (setq ln (entget (ssname ln 0)))
  (setq lna (cdr (assoc 10 ln)))
  (setq lnb (cdr (assoc 11 ln)))

  (princ "请选择第二根线:")
  (setq ss (ssget))
  (setq ln1 (entget (ssname ss 0)))
  (setq lns (cdr (assoc 11 ln1)))
  (setq lne (cdr (assoc 10 ln1)))
;求出交点P1
  (setq p1 (inters lna lnb lns lne))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-16 16:23:01 | 显示全部楼层
也可以用ENTGET函数得到两条直线(或任何地曲线)的DXF组码,取得两线段的端点坐标(曲线的半径、圆心),然后建立直线方程或圆的方程求交点,这种方法虽然罗嗦一点,但适用性很强,任何直线与直线、曲线与直线、曲线与曲线的交点都可以求!目前我自己编了一段子程序,运行感觉还可以。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 11:15 , Processed in 0.259714 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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