KJB 发表于 2005-5-6 16:07:00

[求助]大虾们,用VB怎么取得在cad中一个对象的特性

我想用VB取出在cad中选中的对象的特性,包括“坐标”等值,我不知道怎样取出来,请各位高手教教我,我等着急用

lqy123456 发表于 2005-5-7 14:23:00

大哥,我也很想知道啊!!!!!!!!

cbse_smy 发表于 2005-5-7 17:06:00

那就先定义一个选择集,然后将那个加入选择集中,然后察看那个对象的属性,就可以了

hangc 发表于 2005-5-7 18:11:00

取坐标的程序片断:
                                                       注明:CurZjFwObj为选择集当前对象
                                                                               numNodes = (UBound(CurZjFwObj.Coordinates) + 1) / 3       '针对IAcadPolyline
                                                                               ReDim myCoordsys(numNodes * 3 - 1)
                                                                               myTempCoords = CurZjFwObj.Coordinates                       '该句是关键
                                                                               For I = 0 To numNodes - 1
                                                                                                               myCoordsys(I) = myTempCoords(I * 3)
                                                                                                               myCoordsys(I + 1) = myTempCoords(I * 3 + 1)
                                                                                                               myCoordsys(I + 2) = myTempCoords(I * 3 + 2)
                                                                               Next

KJB 发表于 2005-5-8 09:41:00

谢谢各位的支持,不过我想问一下hangc能不能取得任意对象的坐标。我取的是圆的圆心坐标,可怎么取也取不出,而且我的选择集里也没有Coordinates属性。
下面是我写的取坐标的按钮代码,我这取写就是取不出来坐标。希望哪位救救我
        Private Sub Command7_Click()
        Dim sst As AcadSelectionSet
        Dim acadDc As Object
       
        Set acadDc = acadapp.ActiveDocument
       
On Error Resume Next
If Not IsNull(acadDc.SelectionSets.Item("ss2")) Then
               Set sst = acadapp.ActiveDocument.SelectionSets.Add("ss2")
               sst.SelectOnScreen
End If
        MsgBox sst.Count & "个对象被选择"
For i = 0 To sst.Count - 1
        MsgBox "对象是:" & sst.Item(i).ObjectName & Chr(13) & "坐标是:"
Next
sst.Delete
End Sub

zhuxuhong 发表于 2005-5-8 21:44:00

你这样肯定不行的啊
       
For i = 0 To sst.Count - 1
       '''你要遍历选择集中的每个实体,如果为圆,则取出圆心
'''如下列语句
Dim centerPoint As Variant
                       centerPoint = circObj.center
                       MsgBox "The center point of the circle is " & centerPoint(0) & ", " & centerPoint(1) & ", " & centerPoint(2), vbInformation, "Center Example"
       
Next

KJB 发表于 2005-5-9 09:01:00

太谢谢各位了!有空我请吃饭

twosun 发表于 2005-5-25 15:54:00

谢了
页: [1]
查看完整版本: [求助]大虾们,用VB怎么取得在cad中一个对象的特性