|
我自己边的一个打印程序,其中有三处错误,请高手指点一下为什么错了,我找了半天都没找出来,小弟初学
Public Sub PLprint()
ThisDrawing.ActiveLayout = ThisDrawing.Layouts.Item("Model")
ThisDrawing.ActiveLayout.ConfigName = "DWF6 ePlot.pc3"
'设置打印方式是窗口
ThisDrawing.ModelSpace.Layout.PlotType = acWindow
Dim ptMin As Variant, ptMax As Variant
Dim ent As AcadEntity
ThisDrawing.SetVariable "BACKGROUNDPLOT", 0
'这里显示设置系统变量时出错
For Each ent In ThisDrawing.ModelSpace
If TypeOf ent Is AcadBlockReference Then
If StrComp(ent.Name, "actj2tk", vbTextCompare) = 0 Then
ent.GetBoundingBox ptMin, ptMax
End If
End If
Next ent
' 设置打印范围
ReDim Preserve ptMin(0 To 1)
ReDim Preserve ptMax(0 To 1)
ThisDrawing.ModelSpace.Layout.SetWindowToPlot ptMin, ptMax
'设置打印比例为缩放到图纸大小,并中心对正
ThisDrawing.ModelSpace.Layout.StandardScale = acScaleToFit
ThisDrawing.ModelSpace.Layout.CenterPlot = True
'设置笔为彩色
ThisDrawing.ActiveLayout.StyleSheet = "DWF Virtual Pens.ctb"
'这里显示输入有无效,可我看了cad中打印样式就这样的呀!
'选择打印机和纸张
ThisDrawing.ModelSpace.Layout.ConfigName = "WINDOW.PC3"
ThisDrawing.ModelSpace.Layout.CanonicalMediaName = "600*2000 毫米"
'这里提示输入无效,我自己设的纸张大小是600*2000的,要是有错该写成什么样呢?
' 设置打印份数为1
ThisDrawing.Plot.NumberOfCopies = 1
' 设置安静打印
ThisDrawing.Plot.QuietErrorMode = True
'打印
ThisDrawing.Plot.PlotToDevice
ThisDrawing.SetVariable "BACKGROUNDPLOT", 2
End Sub
|
|