ahlzl 发表于 2004-1-3 21:21:00

用thisdrawing.sendcommand画的CAD图元能返回给一个变量吗?

如题.用thisdrawing.sendcommand(_circle 2,2,0 4 )画的圆能返回给一个变量吗?

莫名 发表于 2004-1-3 21:33:00

用SelSet.Select acSelectionSetLast,构造新选择集SelSet,然后将选择集的第一个实体赋给实体变量即可。

efan2000 发表于 2004-1-3 21:34:00

通过比较模型空间的实体的数目差异来判断。

Sub test()
   
    ' 返回当前模型空间的实体数目
    Dim n As Long
    n = ThisDrawing.ModelSpace.Count
   
    ' 调用Circle命令绘制圆
    ThisDrawing.SendCommand "circle 2,2,0 4 "
   
    ' 如果执行成功,则会生成新的实体
    Dim circleObj As AcadCircle
    If ThisDrawing.ModelSpace.Count > n Then
      Set circleObj = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
      circleObj.Color = acRed
    End If
End Sub

h_lon 发表于 2004-1-4 11:09:00

个人看法,efan2000兄的方法更好。

my_computer 发表于 2004-1-6 08:50:00

我个人认为直接使用vba的画线功能更好。不会在命令行留下痕迹。
页: [1]
查看完整版本: 用thisdrawing.sendcommand画的CAD图元能返回给一个变量吗?