明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1834|回复: 5

[原创]由一点往另一点所经过的线

[复制链接]
发表于 2003-12-6 15:45:00 | 显示全部楼层 |阅读模式
昨晚,为了进行等高线赋高程作的。有点乱。
  1. ;;;寻找开始点到结束点所经过的线
  2. ;;;start_pt        开始点
  3. ;;;end_pt        结束点
  4. ;;;ssdef        ssget的匹配表达式
  5. ;;;返回一个由DXF5句柄序列,不重复
  6. ;;;调用        (find_cross pt1 pt2 '((8 . "0")))
  7. (DEFUN find_cross (start_pt end_pt ssdef / mid_pt ss1 return tmp)
  8.   (IF (SETQ ss1 (SSGET "f" (LIST start_pt end_pt) ssdef))
  9.     (IF        (= 1 (SSLENGTH ss1))
  10.       (LIST (CDR (ASSOC 5 (ENTGET (SSNAME ss1 0)))))
  11.       (PROGN (SETQ mid_pt (MAPCAR '* (MAPCAR '+ start_pt end_pt) '(0.5 0.5)))
  12.              (IF (SETQ return (find_cross start_pt mid_pt ssdef))
  13.                (IF (SETQ tmp (find_cross mid_pt end_pt ssdef))
  14.                  (IF (= 1 (LENGTH tmp))
  15.                    (IF (MEMBER (CAR tmp) return)
  16.                      return
  17.                      (SETQ return (APPEND return tmp))
  18.                    )
  19.                    (SETQ return (APPEND return tmp))
  20.                  )
  21.                  return
  22.                )
  23.                (find_cross mid_pt end_pt ssdef)
  24.              )
  25.       )
  26.     )
  27.   )
  28. )
复制代码
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2003-12-7 02:57:00 | 显示全部楼层
如果恰好这两点连线穿过虚线或者点划线的空档。。。。
 楼主| 发表于 2003-12-7 14:37:00 | 显示全部楼层
哦!
好问题。
看来只能说是由一点往另一点所经过的“连续线”了。

不知道有什么好的解决办法?
发表于 2003-12-11 22:16:00 | 显示全部楼层
这个好像是cad的一个bug,当通过虚线或点划线的空挡时是不能捕桌到交点,在天正建筑中天正就是把轴线图层(dote)层的线在制图过程中设为直线,出图时用出图命令程序会把轴线图层的线性自动转化为点划线。个人感觉感觉天正的方法不大好,但是又不知道有什么更好的方法。不知那位大侠有好办法啊?
发表于 2003-12-14 16:52:00 | 显示全部楼层
两点构造一直线(多点曲线也可以), 求其与选集ss 的交点.用vla-intersectwith,有实交点则....
 楼主| 发表于 2003-12-14 23:12:00 | 显示全部楼层
好!
只是选择集SS如何确定?全部?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-27 08:42 , Processed in 0.162522 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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