预编译版本: 字体与图案 (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)。
Qt 5.12.12
(QtCore
& QtGUI
)aarch64-linux
平台上)ttf
/ttc
TrueType 字体(不仅限于 lff
/cxf
)- 以较少的开销共享系统和其他应用程序的字体使用方法: ./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
格式output
目录 (-t)./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 |
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 ./3rdparty/qtbase/
./configure -developer-build -release -no-iconv -no-icu -static -strip -confirm-license -opensource
qmake -qt=qt5 -r -- -developer-build -release -no-iconv -no-icu -static -strip -confirm-license -opensource
make -j20
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
qmake -qt=qt5 -r
make -j20
安装Qt 5.12.12 for windows,勾选MinGW7.3.0
下载MinGW7.3.0-seh,解压到磁盘某个位置,比如D:\mingw64
设置D:\mingw64\bin
、D:\mingw64\x86_64-w64-mingw32\bin
、D:\mingw64\libexec\gcc\x86_64-w64-mingw32\7.3.0
到系统环境变量Path
把D:\mingw64\bin\mingw32-make
修改成make
从./3rdparty/qtbase/
替换$QT$\Qt5.12.12\5.12.12\mingw73_64
目录下的include
和mkspecs
文件夹
qtbase(Qt 5.12.12)
通过开始菜单的Qt 5.12.12 (MinGW 7.3.0 64-bit)
进入cmd
(命令提示符)
静态 QtCore & QtGUI 库
cd ./3rdparty/qtbase/
configure -developer-build -release -platform win32-g++ -no-iconv -no-icu -static -strip -confirm-license -opensource -qt-zlib -qt-freetype
qmake -r -- -developer-build -release -platform win32-g++ -no-iconv -no-icu -static -strip -confirm-license -opensource -qt-zlib -qt-freetype
make -j20
qmake -r
make -j20
./upx -9 --ultra-brute cad2x
cad2x-converter/output/fonts
strip
和 upx -9 --ultra-brute
之后为 2.9MB)
> ldd cad2pdf
libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x00000055021dc000)
libglib-2.0.so.0 => /lib/aarch64-linux-gnu/libglib-2.0.so.0 (0x00000055021f0000)
libpng16.so.16 => /lib/aarch64-linux-gnu/libpng16.so.16 (0x000000550232b000)
libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x000000550236f000)
libfreetype.so.6 => /lib/aarch64-linux-gnu/libfreetype.so.6 (0x000000550241a000)
libz.so.1 => /lib/aarch64-linux-gnu/libz.so.1 (0x00000055024d9000)
libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x000000550256b000)
libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x000000550259c000)
libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000005502781000)
libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x00000055027a5000)
/lib/ld-linux-aarch64.so.1 (0x0000005500000000)
libpcre.so.3 => /lib/aarch64-linux-gnu/libpcre.so.3 (0x0000005502918000)
ttf
/ttc
字体文件支持(不仅限于 lff
/cxf
)C:\Windows\Fonts
/Library/Fonts
/System/Library/Fonts
/usr/share/fonts
/usr/local/share/fonts
~/.fonts
您可以首先参考原始的 LibreCAD Wiki - 从源代码构建 页面。
问: 如何导出其他图像格式,如 bmp / jpeg / tiff / ico / tga?
答: 创建一个名为 'plugins/imageformats' 的目录,并将
libq<fmt>.so
/q<fmt>.dll
放入其中(可以从 这里 找到,\<fmt>为具体格式),应用程序将自动加载插件。
问:如果导出的文件空白怎么办?
答:3D模型暂时不支持,如果不是3D文件,尝试添加
-c
参数导出。
问:如果出现乱码怎么办?
答:尝试添加默认编码和对应字体尝试,比如
-e ANSI_936 -f simsun
,设置默认简体中文,默认字体为宋体。