wuxjld 发表于 2002-4-25 15:20:00

请教高手!!!-->mccad转移

1、如何屏蔽掉在AutoCad2000中使用的DELETE键?
2、如何判断某一点在给定的闭合多边形(LWPOLYLINE)内?
先谢谢了!

南子 发表于 2002-4-25 15:48:00

命令结束事件和多边形选择对象

Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If CommandName = "ERASE" Then
   ThisDrawing.SendCommand "undo" & Chr(13) & Chr(13)
End If
End Sub

wuxjld 发表于 2002-4-25 16:01:00

有能判断出所删除对象类型的方法吗?如:线、文字等

wuxjld 发表于 2002-4-25 16:06:00

能说清楚多边形选择对象吗?

判断点是否在多边形内我想用boundary命令,因为要判断的点较多!有其它方法吗?

南子 发表于 2002-4-25 16:08:00

Private Sub AcadDocument_ObjectErased(ByVal ObjectID As Long)
Dim ent As AcadEntity
Set ent = ThisDrawing.ObjectIdToObject(ObjectID)
If (ent.ObjectName = "AcDBText") Or (ent.ObjectName = "AcDBLine") Then
    MsgBox "您刚才删除的是" & ent.ObjectName
End If
End Sub

南子 发表于 2002-4-25 16:22:00

如果您已知多边形和一个点对象point

if (ssmemb point (ssget "_wp" 多边形点表 (list (cons 0 "point"))))
   t)

wuxjld 发表于 2002-4-25 17:11:00

谢谢!

谢谢!

wuxjld 发表于 2002-4-27 08:56:00

ObjectIdtoObject方法作用于对象IAcadDocument失败?

我在ThisDrawing对象下使用以上代码,出现实时错误'-2147467259(80004005)':方法ObjectIdtoObject作用于对象IAcadDocument失败.以前曾用过Selectall,selectatpoint等方法出现过相同的错误,不知是什么原因造成的?

wuxjld 发表于 2002-4-27 10:29:00

跟踪测试后发现,err.description='缺少对象或...',是不是此时对象已被删除?

也就是说ent并不存在!!!

南子 发表于 2002-4-27 17:40:00

对。

页: [1] 2
查看完整版本: 请教高手!!!-->mccad转移