明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4293|回复: 9

intersectWith函数存在Bug?

[复制链接]
发表于 2006-3-23 14:51:00 | 显示全部楼层 |阅读模式

具体内容请参加下面的贴子:
dispbbs.asp?boardID=14&ID=48355&page=1

下面是我写的一段测试代码:
Public Sub test()
    On Error GoTo LAST
   
    Dim sset As AcadSelectionSet
    Set sset = ThisDrawing.SelectionSets.Add("Exapmle")
    sset.SelectOnScreen
   
    If sset.Count = 2 Then
        Dim ent1 As AcadEntity, ent2 As AcadEntity
        Set ent1 = sset.Item(0)
        Set ent2 = sset.Item(1)
        Dim pt As Variant
        pt = ent1.IntersectWith(ent2, acExtendNone)
       
        If UBound(pt) < 0 Then
            MsgBox "无交点"
        Else
            MsgBox "有交点"
        End If
    End If
   
LAST:
    sset.Delete
End Sub

发表于 2006-3-23 17:00:00 | 显示全部楼层

请版主多多发上VBA知识!

发表于 2006-3-23 18:41:00 | 显示全部楼层
试了一下确实有问题,我试了有3组有交点,一组无交点,怪了。
发表于 2006-3-27 23:52:00 | 显示全部楼层

确实只能求2个交点。。。

可能是cad实数运算的误差导致,但是用region的时候,在很小的阈值内cad自动处理了(当作闭合)

 楼主| 发表于 2006-3-28 22:10:00 | 显示全部楼层
同意楼上的意见,已经准备用别的方案来实现。
发表于 2014-12-3 10:46:48 | 显示全部楼层
请教版主,如何求面域和直线的交点?
运行代码时,老是提示:object requred!
Sub Ch4_CreateRegion()
' 定义数组以保存面域的边界。
Dim curves(0 To 0) As AcadCircle
' 创建形成面域边界的圆。
Dim center(0 To 2) As Double
Dim radius As Double
center(0) = 2
center(1) = 2
center(2) = 0
radius = 5#
Set curves(0) = ThisDrawing.ModelSpace.AddCircle(center, radius)
Dim regionObj As Variant  ' 创建面域
regionObj = ThisDrawing.ModelSpace.AddRegion(curves)

Dim pnt(0 To 2) As Double, pnt2(0 To 2) As Double

pnt(0) = 0: pnt(1) = 0: pnt(2) = 0
pnt2(0) = 0: pnt2(1) = 50: pnt2(2) = 0
Dim line As AcadLine
Set line = ThisDrawing.ModelSpace.AddLine(pnt, pnt2)

Dim inter_pnt As Variant

inter_pnt = line.IntersectWith(regionObj, acExtendNone)
MsgBox inter_pnt(0)

ZoomAll
End Sub

发表于 2014-12-3 17:06:05 | 显示全部楼层
交点最好用集合来做selectiom.item改成collection.item。
发表于 2014-12-3 17:09:04 | 显示全部楼层
本帖最后由 crazylsp 于 2014-12-3 17:13 编辑
Dim regionObj As Variant  ' 创建面域

面域是变量?可能是acadobject或acadRegion。
发表于 2015-4-22 15:39:27 | 显示全部楼层
跟高程有关吧?elevation
发表于 2015-4-22 15:39:58 | 显示全部楼层
两条相交线的高程应相等?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 11:56 , Processed in 0.161861 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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