形成宏

AutoCAD ActiveX/VBA

 
形成宏
 
 
 

现在可以将各个子例程合并到 Gardenpath 宏中。在 VBA IDE 的“代码”窗口中,在 drawtiles 子例程后面输入下列代码:

' 执行命令,调用各个函数
Sub gardenpath()
    Dim sblip As Variant
    Dim scmde As Variant
    gpuser
    sblip = ThisDrawing.GetVariable("blipmode")
    scmde = ThisDrawing.GetVariable("cmdecho")
    ThisDrawing.SetVariable "blipmode", 0
    ThisDrawing.SetVariable "cmdecho", 0
    drawout
    drawtiles
    ThisDrawing.SetVariable "blipmode", sblip
    ThisDrawing.SetVariable "cmdecho", scmde
End Sub

path 子例程调用 gpuser 以收集所需的输入。然后将使用 GetVariable 方法获取 BLIPMODE 和 CMDECHO 系统变量的当前值,并将这些值保存为 sblipscmde。然后,该子例程使用 SetVariable 方法将这两个系统变量设置为 0,从而禁用点标记和命令回显。下一步,使用 drawoutdrawtiles 子例程绘制小路。最后,用 SetVariable 方法将系统变量重新设置为原始值。

从上述代码中可能会注意到,这是所输入的唯一不以私有关键字开始的子例程(私有关键字确保只能从当前模块中调用该子例程)。因为 gardenpath 子例程必须对用户可用,所以应该去掉私有关键字。

保存所做的工作。