乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 28|回复: 1

[VBA]

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2006-5-25 11:10:00 | 显示全部楼层 |阅读模式
请教高手:
怎样判断两个图元对象是否有交点?   
我用 if TypeOf obj1.Intersectwith(obj2,acExtendnone) Is Null
和if  obj1.Intersectwith(obj2,acExtendnone) = Null均无效
回复

使用道具 举报

1

主题

157

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
161
发表于 2006-5-25 15:02:00 | 显示全部楼层
如果两个对象不相交,则没有返回数据。也就是说如果你定义RetVal为变体,如果相交可以得到一个双精度数组,可以通过错误处理来判断(下面是我临时写的,具体的东西和你不太一样,你参考一下就行了)
Sub main()
Dim retval As Variant
Dim obj1 As AcadLine
Dim obj2 As AcadLine
Set obj1 = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 2)
Set obj2 = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
retval = obj1.IntersectWith(obj2, acExtendNone)
On Error Resume Next
Dim aa As Double
aa = retval(0)
If Err Then
    Err.Clear
    MsgBox "两个图元没有交点!"
    Exit Sub
Else
    MsgBox "两个图元的交点坐标为 (" & retval(0) & "," & retval(1) & "," & retval(2) & ")"
End If
on error goto 0
'继续你的程序
End Sub
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 19:51 , Processed in 0.788375 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表