# 矢量易 **Repository Path**: deepin20/VecDraw ## Basic Information - **Project Name**: 矢量易 - **Description**: VecDraw是一款极简的 CAD 查看与转换工具,专为 Deepin 25 / Linux 桌面环境设计。它支持打开 `.dwg` / `.dxf` 图纸,并一键导出为 SVG、PNG或JPG格式,导出的矢量图可无限放大而不失真。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-09 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VecDraw · 矢量易 **VecDraw** 是一款极简的 CAD 查看与转换工具,专为 Deepin 25 / Linux 桌面环境设计。它支持打开 `.dwg` / `.dxf` 图纸,并一键导出为 **SVG**、**PNG** 或 **JPG** 格式,导出的矢量图可无限放大而不失真。 ![VecDraw 图标](https://raw.githubusercontent.com/your-org/vecdraw/main/docs/icon.png) --- ## ✨ 主要特性 - 🖼️ 查看 DWG/DXF 图纸(生成预览缩略图) - ➡️ 导出为 SVG(矢量图)、PNG、JPG 格式 - 🎨 支持颜色模式(彩色/灰度/黑白)和缩放比例 - 📦 可选 SVGO 压缩(大幅减小 SVG 文件体积) - 🖱️ 支持拖拽打开文件(需安装 `tkinterdnd2`) - ⚙️ 异步处理,界面不卡顿 - 💾 自动保存窗口尺寸和最近参数 --- ## 📋 系统要求 - **操作系统**:Deepin 25 / UOS / Ubuntu 20.04+ 等 Linux 发行版(X11 环境) - **Python**:3.8 或更高版本 - **依赖**: - `aspose-cad` (Python 包) —— 依赖于 .NET 运行时 - `libssl1.1` 或 `libssl3`(详见下方安装) - `Pillow` (Python 图像处理库) - **可选**: - `tkinterdnd2` —— 拖放支持 - `svgo` (Node.js) —— SVG 压缩 --- ## 🔧 安装指南 ### 1. 安装 Python 依赖 ```bash # 克隆或下载项目源码 cd VecDraw # 安装核心依赖 pip install -r requirements.txt # (可选)安装拖放支持 pip install -r requirements-optional.txt ``` ### 2. 安装 .NET 运行时(Aspose.CAD 依赖) Aspose.CAD 需要 .NET 运行时。在 Linux 上,请安装 `dotnet-runtime-6.0` 或更高版本: ```bash # Deepin / Ubuntu / Debian sudo apt update sudo apt install dotnet-runtime-6.0 # 如果 apt 找不到,可参考 Microsoft 官方指南: # https://learn.microsoft.com/zh-cn/dotnet/core/install/linux ``` ### 3. 处理 OpenSSL 依赖 部分 Linux 系统默认使用 OpenSSL 3,而 .NET 运行时可能需要 `libssl1.1`。如果遇到 `No usable version of libssl was found` 错误,请安装: ```bash sudo apt install libssl1.1 ``` 若仓库中没有,可手动下载 Debian 包或通过软链接解决(详见常见问题)。 ### 4. (可选)安装 SVGO 用于 SVG 压缩 ```bash # 安装 Node.js 和 npm(如果未安装) sudo apt install nodejs npm # 全局安装 svgo sudo npm install -g svgo ``` ### 5. (可选)安装 tkinterdnd2 支持拖放 ```bash pip install tkinterdnd2 ``` > **注意**:Linux 下拖放功能可能受窗口管理器影响,若无法工作,程序会降级处理,不影响核心功能。 --- ## 🚀 使用方法 ### 启动软件 ```bash python3 main.py ``` ### 操作步骤 1. 点击 **“打开文件”** 或直接将 DWG/DXF 文件拖入窗口(需安装拖放支持)。 2. 预览区域会显示图纸缩略图。 3. 在底部选择导出格式:`SVG`、`PNG` 或 `JPG`。 4. 点击 **“导出”**,选择保存路径。 5. 等待转换完成,文件即生成。 ### 高级参数 点击 **“高级参数”** 可展开更多选项: - **颜色模式**:彩色 / 灰度 / 黑白 - **背景颜色**:白色 / 黑色 / 透明(仅对 PNG/JPG 生效) - **缩放比例**:输出图像的尺寸倍数 - **压缩输出 SVG**:使用 SVGO 压缩(仅 SVG 格式有效) --- ## ⚙️ 配置文件 用户配置保存在 `~/.config/vecdraw/settings.json`,包含: - 窗口尺寸和位置 - 最后打开的目录 - 转换参数(颜色、缩放、压缩等) 您可以手动编辑该文件,但建议通过软件界面调整。 --- ## 🐛 常见问题 ### Q: 启动时报 `No usable version of libssl was found` **A**: 安装 `libssl1.1`,如仍无效,可设置环境变量: ```bash export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 python3 main.py ``` 或将 `libssl3` 软链接为 `libssl1.1`(不推荐,但可尝试)。 ### Q: 预览生成失败或显示空白 **A**: 请确保文件未损坏,且包含可渲染的内容。若文件包含外部参照(Xref),建议先在 AutoCAD 中绑定后再导入。 ### Q: 导出的 SVG 文件过大 **A**: - 勾选“压缩输出 SVG”(需安装 SVGO)。 - 手动使用 `svgo input.svg -o output.svg` 压缩。 - 降低导出缩放比例(但会缩小图形尺寸)。 ### Q: 拖放文件无效 **A**: - 确认已安装 `tkinterdnd2`。 - 部分窗口管理器(如 Wayland)可能不支持,建议切换到 X11 或使用“打开文件”按钮。 ### Q: 提示 `Aspose.CAD` 授权问题 **A**: 试用版生成的 SVG 会带有水印,如需无水印版本,请购买 `aspose-cad` 许可证并在代码中加载。 --- ## 📦 打包与分发 如需将 VecDraw 打包为独立的可执行文件,可使用 **PyInstaller**: ```bash pip install pyinstaller pyinstaller --onefile --windowed --name vecdraw main.py ``` 生成的 `vecdraw` 二进制文件可直接运行,无需 Python 环境。 --- ## 🤝 贡献与反馈 欢迎提交 Issue 或 Pull Request。项目仓库:[https://github.com/your-org/vecdraw](https://github.com/your-org/vecdraw) --- ## 📄 许可证 VecDraw 采用 MIT 许可证,详情见 [LICENSE](LICENSE) 文件。 ``` --- ## ✅ 使用说明 - 将以上内容保存为 `README.md`。 - 替换 `https://github.com/your-org/vecdraw` 为实际仓库地址。 - 如果需要,可以在文档中添加更多截图或视频演示链接。