china-hz 发表于 2009-7-3 21:43:00

CAD打印对话框中的“着色视口选项”,如VB如何控制?

CAD打印对话框中的“着色视口选项”,如VB如何控制?如改成“按显示”或“渲染”等?

china-hz 发表于 2009-7-4 14:50:00

<p>就是在用VB编写打印程序的时候,一部分图形打印页面布置中,着色视口选项里显示为“渲染”,或“线框”等,有部分内容打印不出来,问如何解决。</p><p>代码如下:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; With AcadApp.ActiveDocument.PaperSpace.Layout<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '设置默认打印机类型<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .RefreshPlotDeviceInfo<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .ConfigName = drivername<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '设置图形单位、打印范围和打印区域的比例<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .CanonicalMediaName = "A3"&nbsp;&nbsp; 'A3纸<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PaperUnits = acMillimeters&nbsp; 'mm为单位<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '默认打印方向<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PlotRotation = ac90degrees<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '打印样式<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .StyleSheet = "acad.ctb"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '设置打印原点<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newValue(0) = 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'Y方向<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; newValue(1) = 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'X方向<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PlotOrigin = newValue<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '设置打印比例<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .StandardScale = ac1_1&nbsp; '比例为1:1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '设置打印范围<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .PlotType = acExtents<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; End With<br/>&nbsp;&nbsp; '******************************************************************************<br/>&nbsp;&nbsp;&nbsp; AcadApp.ActiveDocument.Regen acActiveViewport<br/>&nbsp;&nbsp;&nbsp; '设置打印份数为1<br/>&nbsp;&nbsp;&nbsp; AcadApp.ActiveDocument.Plot.NumberOfCopies = 1<br/>&nbsp;&nbsp;&nbsp; '开始打印<br/>&nbsp;&nbsp;&nbsp; AcadApp.ActiveDocument.Plot.PlotToDevice<br/></p>

mccad 发表于 2009-7-4 21:55:00

许多的AutoCAD新功能都没有再提供属性和方法了,因为COM方式不再是AutoCAD发展的方向

woaishuijia 发表于 2009-7-5 07:04:00

<p>建议使用布局打印出图.</p><p>PaperSpace 的 PViewport 子对象的 ShadePlot 属性就是用来设置着色视口选项的.按帮助文件和对象浏览器提供的 AcShadePlot 常数:</p><p>acShadePlotAsDisplayed = 0...按显示</p><p>acShadePlotWireframe = 1...线框</p><p>acShadePlotHidden = 2...消隐</p><p>acShadePlotRendered = 3...渲染</p><p>但貌似自2006版本以后VBA帮助就没有更新过,以上常量是针对06以前版本的.经尝试,07以后版本是:</p><p>0...按显示</p><p>1...线框</p><p>2...消隐</p><p>3...三维隐藏</p><p>4...三维线框</p><p>5...概念</p><p>6...真实</p><p>7...渲染</p>
页: [1]
查看完整版本: CAD打印对话框中的“着色视口选项”,如VB如何控制?