metal_pro 发表于 2010-6-24 12:44:49

从VBA运行lisp命令并暂停

我有一个lisp命令,我用它来插入块(动态或常规)
(C: BBREAK)它要求一行上的插入点,然后是块名称,然后如果它是动态块,可见性参数值是什么。然后它插入块并根据块中的属性值将行拆开。
对于具有可见性参数“NO”的动态块EB020.dwg,典型的宏用法如下所示
bust;\EB020; y; NO;
我的问题是我也想从VBA程序运行这个lisp程序。
我想我可以使用ThisDrawing.SendCommand但如何暂停用户输入行上的插入点。
**** Hidden Message *****

bsardeson 发表于 2010-12-27 10:32:09


我的建议是在VB / VBA中重写整个LISP例程
但是,只需对LISP稍作修改,您就可以...在使用 SendCommand 之前捕获用户输入。 然后在 send 命令行中输入您的点数据,如下例所示。
    Dim returnPnt(1) As Variant
    returnPnt(0) = ThisDrawing.Utility.GetPoint(, "Enter StartPoint: ")
    returnPnt(1) = ThisDrawing.Utility.GetPoint(, "Enter EndPoint: ")
    ThisDrawing.SendCommand "line " & returnPnt(0)(0) & "," & returnPnt(0)(1) & "," & returnPnt(0)(2) & vbCr _
      & returnPnt(1)(0) & "," & returnPnt(1)(1) & "," & returnPnt(1)(2) & vbCr & vbCr
页: [1]
查看完整版本: 从VBA运行lisp命令并暂停