明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1512|回复: 1

如何找出图中所有交点?

[复制链接]
发表于 2004-1-10 18:31:00 | 显示全部楼层 |阅读模式
如何找出一张图中所有的交点,及其对应的线?
发表于 2004-1-10 21:07:00 | 显示全部楼层
只能通过一条线,查找在它某一范围之内的其它线,判断它们之间有没有交点。

  1. Sub test()
  2.    
  3.     ' 判断图纸中的实体数目,不存在时中断
  4.     If ThisDrawing.ModelSpace.Count = 0 Then Exit Sub
  5.     Dim EntObj1 As AcadEntity
  6.     Dim EntObj2 As AcadEntity
  7.     Dim v As Variant
  8.     ' 遍历模型空间
  9.     For Each EntObj1 In ThisDrawing.ModelSpace
  10.         ' 判断实体的类型,线应该包含直线、圆弧、圆、多段线等等,要一一判断
  11.         If TypeOf EntObj1 Is AcadLine Or TypeOf EntObj1 Is AcadLWPolyline Then
  12.             For Each EntObj2 In ThisDrawing.ModelSpace
  13.                 If TypeOf EntObj1 Is AcadLine Or TypeOf EntObj1 Is AcadLWPolyline Then
  14.                     ' 判断相交情况
  15.                     v = EntObj1.IntersectWith(EntObj2, acExtendNone)
  16.                     If Not IsEmpty(v) Then
  17.                         ' 一个交点
  18.                         If UBound(v) = 3 Then
  19.                         ' 两个交点
  20.                         ElseIf UBound(v) = 6 Then
  21.                         ' 其它情况
  22.                         Else
  23.                         End If
  24.                     End If
  25.                 End If
  26.             Next
  27.         End If
  28.     Next
  29. End Sub

这仅是一个示例,具体的要根据自己的情况来处理。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-28 09:38 , Processed in 0.173695 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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