使用命令行生成DWG文件的预览图片

最近做的一个系统,需要有文件预览功能,不巧客户有大量AutoCAD的文件,于是研究了一下DWG文件生成预览图片的方法。

  1. 需要 Windows 环境

  2. 下载安装DWGTrueView软件:下载地址

  3. 打开一个DWG文件,对导出选项一些设置。可以用一个老外提供的文件,作为示例。

  4. 按Ctrl+P或菜单里的 Output->Plot 命令,打开 Plot 设置窗口。这里我们主要设置 plotter 导出的图片大小参数。

    Printer/plotter里面,Name选择PublishToWeb PNG.pc3,然后点击Properties...按钮。

    在Device and Document Settings选项卡中,找到Custom Paper Sizes,然后点击下方的Add...。

    在添加向导中,选择Start from scratch,进入下一步。

    填入需要的图片尺寸大小,单位为像素。

    取个名字。下一步完成即可。回到刚才的窗口,可以看到刚刚添加的纸张大小。

    这有一份常见像素数量与尺寸的表格,可以作为对照。

  5. 回到刚才的 Plot 设置窗口,如同所示,Paper size 选择刚刚添加的尺寸,Plot area 选择 Extents,Plot scale 选择 Fit to paper,Plot style table 选择 dwgviewer.ctb,默认的 monochrome.ctb 会使导出的文件为黑白的,其它默认。此时可点击 OK 按钮,导出一个文件测试一下。

  6. 当然我们需要的是能够自动完成导出,在软件安装目录(C:\Program Files\Autodesk\DWG TrueView 2021 - English)下面可以找到 accoreconsole.exe 程序,它可以执行批处理,完成导出工作。这个命令需要输入一个 DWG 文件,和一个脚本文件。参考https://blog.csdn.net/autodeskinventorapi/article/details/45075453

  7. 上面给的脚本可能只适用于完整的 AutoCAD,其中有些命令无法在 DWG TrueView 中执行,需要修改一下。同时我这里改成了导出 PNG 图像文件。如需要导出 PDF 文件,可仿照修改。由于某些命令无法执行,导出文件的文件名固定为 C:\Downloads\test.png,实际应用时可通过模板生成该脚本文件,然后再执行accoreconsole.exe。

;Command:
_plot
;Detailed plot configuration? [Yes/No] <No>: 
Yes
;Enter a layout name or [?] <Model>:
Model
;Enter an output device name or [?] <None>:
PublishToWeb PNG.pc3
;Enter paper size or [?] <ANSI A (11.00 x 8.50 Inches)>:
800W
;Enter drawing orientation [Portrait/Landscape] <Portrait>: 
Landscape
;Plot upside down? [Yes/No] <No>:
No
;Enter plot area [Display/Extents/Limits/View/Window] <Display>: 
Extents
;Enter plot scale (Plotted Inches=Drawing Units) or [Fit] <Fit>:
Fit
;Enter plot offset (x,y) or [Center] <0.00,0.00>:
Center
;Plot with plot styles? [Yes/No] <Yes>:
Yes
;Enter plot style table name or [?] (enter . for none) <>:
dwgviewr.ctb
;Plot with lineweights? [Yes/No] <Yes>:
Yes
;Enter shade plot setting [As displayed/legacy Wireframe/legacy Hidden/Visualstyles/Rendered] <As displayed>:

;Enter file name <C:\Work\solids-Model.pdf>:
C:\Downloads\test.png
;Save changes to page setup? Or set shade plot quality? [Yes/No/Quality] <N>:
No
;Proceed with plot [Yes/No] <Y>:
Yes

其中的800W为刚创建的纸张大小的名称。输出文件的目录一定要存在,否则会导致脚本执行错误。最后要多加一个空的换行。修改 output device 后,后面的参数表可能会有不同,需要运行一下,然后根据返回的结果进行修改。

  1. 编写一个 bat 文件进项测试。
cd "C:\Program Files\Autodesk\DWG TrueView 2021 - English"
c:
cls
accoreconsole.exe /i "C:\Downloads\GVR- Residential.dwg" /s "C:\Downloads\test.scr" /l en-US
PAUSE

没问题的话,导出工作完成后,会在对应的目录产生一个 test.png 文件。