orcastor / cad2x-converter

🗜️【CAD转换命令行工具】支持从DXF、DWG转换成DXF、PDF、PNG、SVG格式 [cad2x] Minimal stand-alone CLI tool convert CAD files (DXF / DWG) to other formats (DXF / PDF / PNG / SVG)
GNU Lesser General Public License v2.1
67 stars 9 forks source link
cad cad2pdf cad2png cad2svg cad2x dwg dwg2dxf dwg2pdf dwg2png dwg2svg dxf dxf2pdf dxf2png dxf2svg librecad no-gui pdf png stand-alone svg

English README | 英文说明

🆒 cad2x @orcastor-previewer

预编译版本: 字体与图案 (3.53MB) | linux_arm64 (2.88MB) | linux_x64 (3.42MB) | win_x64 (3.61MB)

cad2x - 一个最小化的单文件命令行工具,用于将 CAD 文件(DXF / DWG)转换为其他格式(DXF / PDF / PNG / SVG),衍生自 LibreCAD (commit: 0601535)

特性

最佳实践

使用方法: ./cad2x [选项] <dxf/dwg 文件>

将 DXF/DWG 文件转换为 DXF v2007/PDF/PNG/SVG 文件。

示例:

  cad2x *.dxf|*.dwg|*
    -- 将所有 dxf/dwg 文件打印为具有相同文件名的 pdf 文件。

  cad2x -o svg *.dxf|*.dwg|*
    -- 将所有 dxf/dwg 文件转换为 svg 格式。

  cad2x -o b.png a.dwg
    -- 将 a.dwg 文件打印为 b.png。

选项:
  -h, --help                           显示此帮助。
  -v, --version                        显示版本信息。
  -a, --auto-orientation               根据文档边界框自动设置纸张方向(横向或纵向)。
  -b, --monochrome                     打印单色(黑/白)。
  -c, --fit                            自动适应并居中绘图到页面。
  -e, --code-page <codepage>           设置默认的代码页(默认为 ANSI_1252)。
  -f, --default-font <font>            设置默认字体(默认为 standard)。
  -l, --font-dirs <dir1,dir2,dir3...>  设置更多字体目录。
  -m, --margins <L,T,R,B>              页面边距(毫米)(整数或浮点数)。
  -n, --pages <HxV>                    在多页上打印(水平 x 垂直)。
  -o, --outfile <file>                 输出 DXF v2007/PDF/PNG/SVG 文件。
  -p, --paper <WxH>                    页面尺寸(宽 x 高)(毫米)。
  -r, --resolution <integer>           输出分辨率(DPI)。
  -s, --scale <double>                 输出比例。例如:0.01(表示 1:100 比例)。
  -t, --directory <path>               目标输出目录。

参数:
  <dxf/dwg 文件>                      输入 DXF/DWG 文件(们)

将所有 dwg 文件转换为 pdf 格式

./cad2x -o pdf *.dwg -t output -ac

a.dxf 转换为 b.png

./cad2x -o b.png a.dxf -ac -p 2970x2100 -m 2.0,2.0,2.0,2.0

a.dwg 转换为 b.dxf(v2007)

./cad2x -o b.dxf a.dwg

a.dxf(QCad / v2004 / v2000 / v14 / v12)转换为 b.dxf(v2007)

./cad2x -o b.dxf a.dxf

a.dxf 转换为 b.pdf

./cad2x -o b.pdf a.dxf -e ANSI_936 -f simsun -ac -l /one/fonts,/two/fonts

代码页参考

语言 DXF 代码页
泰语 ANSI_874
日语 ANSI_932
简体中文 ANSI_936
韩语 ANSI_949
繁体中文 ANSI_950
中欧 ANSI_1250
西里尔语 ANSI_1251
西欧 ANSI_1252
希腊语 ANSI_1253
土耳其语 ANSI_1254
希伯来语 ANSI_1255
阿拉伯语 ANSI_1256
波罗的海语 ANSI_1257
越南语 ANSI_1258

Linux构建教程

准备

apt update
apt-get install g++ gcc make git-core pkg-config qt5-qmake libfreetype-dev -y --no-install-recommends

构建精简版的 qtbase(Qt 5.12.12)

cd src/corelib make install_targ_headers

make -j20 staticlib

cd ../gui make install_targ_headers

make -j20 staticlib


- [可用备选方案] 共享 QtCore & QtGUI 库
``` sh
cd ./3rdparty/qtbase/
./configure -developer-build -release -no-iconv -no-icu -strip -confirm-license -opensource -R .
qmake -qt=qt5 -r -- -developer-build -release -no-iconv -no-icu -strip -confirm-license -opensource -R .
make -j20
make install

构建 cad2x

qmake -qt=qt5 -r
make -j20

Windows(x64)构建教程

准备

构建精简版的 qtbase(Qt 5.12.12)

构建 cad2x

qmake -r
make -j20

使用upx进行压缩

./upx -9 --ultra-brute cad2x

更改日志

参考

您可以首先参考原始的 LibreCAD Wiki - 从源代码构建 页面。

常见问题解答

问: 如何导出其他图像格式,如 bmp / jpeg / tiff / ico / tga?

答: 创建一个名为 'plugins/imageformats' 的目录,并将 libq<fmt>.so/q<fmt>.dll 放入其中(可以从 这里 找到,\<fmt>为具体格式),应用程序将自动加载插件。

问:如果导出的文件空白怎么办?

答:3D模型暂时不支持,如果不是3D文件,尝试添加-c参数导出。

问:如果出现乱码怎么办?

答:尝试添加默认编码和对应字体尝试,比如-e ANSI_936 -f simsun,设置默认简体中文,默认字体为宋体。