Dim blkr As AcadBlockReference
Dim inspt As Variant
Dim strCurrentLayer As AcadLayer, newLayer As AcadLayer
Dim dybprop As Variant, i As Integer
inspt = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
Set strCurrentLayer = ThisDrawing.ActiveLayer
Set newLayer = ThisDrawing.Layers.Add(strLayer)
ThisDrawing.ActiveLayer = newLayer
Set blkr = ThisDrawing.ModelSpace.InsertBlock(inspt, blkname, 1, 1, 1, 0)
If blkr.IsDynamicBlock Then
dybprop = blkr.GetDynamicBlockProperties
For i = LBound(dybprop) To UBound(dybprop)
If dybprop(i).PropertyName = "Visibility" Then
dybprop(i).Value = strVisibilityState
End If
Next i
End If
ThisDrawing.ActiveLayer = strCurrentLayer
End Sub 更糟糕的是,如果除了我调用sub的dvb之外,还加载了其他dvb,那么愚蠢的vbastmt会给我带来语法错误 ;知道这东西为什么会成为皮塔吗? 我使用以下命令从不同的DVB加载/运行模块
(defun DVBLoader (strDVBName strDVBModule / )
(command "-vbarun" (strcat strDVBName "!" strDVBModule))
(princ)
)
^C^C^P(load" VBA-Apps");(DVBLoader "PrintManager.dvb" "modMain.Main"); 嘿,马特,把论点传给dvb怎么样 ;这就是让我痛苦的原因 好吧,现在我真的卡住了 ;似乎我无法从LISP或带有CUI的宏中将参数传递给dvb ;有什么想法吗 ;我不想做的是制作大量的三行lisp代码来插入一个愚蠢的DynBlock
页:
1
[2]