Thomy 发表于 2022-7-6 14:48:19

在3D true VBA中删除

你好
 
我正在寻找一个命令来删除/删除我的画,我画真正的VBA。我想用一个按钮删除这幅画。我可以抹掉所有的画。但我只想删除我上次在程序中绘制的图形。
有什么想法吗??这是为了我的学校项目。
 
当做
 
托米

SEANT 发表于 2022-7-6 14:58:17

如果我的回答正确:
 
如果实体需要在例程范围内删除,那么例程应该保留对它们的对象引用,可能通过全局变量,然后调用实体。删去
 
如果实体的持续时间超过例程的持续时间(即添加到文档、关闭然后重新打开),则可能需要通过自定义注册的应用程序名称(DXF代码1001)为实体分配扩展数据。当需要删除时,可以通过基于注册应用程序名称的选择过滤器检索实体。
 
或者,您的例程可以创建一个保存自定义词典,记录添加的所有实体。稍后,可以查询字典以查找需要删除的实体。例行公事需要汤姆进行所有的“房屋清理”,以使字典保持最新。

Thomy 发表于 2022-7-6 15:06:22

你好
 
jou有这个代码的例子吗???

SEANT 发表于 2022-7-6 15:22:12

VBA帮助部分对如何使用扩展数据进行了很好的解释和示例。
 
过滤后的选择将使用这些组件
 
Dim intCode(0) As Integer
Dim varData(0) As Variant
Dim TempObjSS As AcadSelectionSet

. . . . .

intCode(0) = 1001: varData(0) = "Test_Application"

‘code to insure Selection Set does not already exist
On Error Resume Next
ThisDrawing.SelectionSets.Item("TempSSet").Delete
On Error GoTo 0

Set TempObjSS = ThisDrawing.SelectionSets.Add("TempSSet")
TempObjSS.Select acSelectionSetAll, , , intCode, varData

. . . . .

Thomy 发表于 2022-7-6 15:30:06

你好
 
我使用Cad 2008,在帮助中我找不到类似“setXdata”或somting Simular的somting。

SEANT 发表于 2022-7-6 15:38:13

您首先必须从“帮助”进入“ActiveX Automation and VBA”部分。

Thomy 发表于 2022-7-6 15:48:19

你好
 
你使用哪种帮助??VBA或CAD中的1。

SEANT 发表于 2022-7-6 15:55:27

任何特定于AutoCAD的内容只能在AutoCADs帮助部分中找到,如上图所示。
页: [1]
查看完整版本: 在3D true VBA中删除