233 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AutoCAD 家具导出插件
用于 AutoCAD 2024 的家具 3D 模型导出插件。当前主流程是按资产中心口径导出单板材、单组件或单五金件,用于后续辅助装配和规格款入库。
## 功能特点
- **单资产导出** - `FEXPORT` 默认导出单板材、单组件或单五金件
- **板材语义保留** - 导出孔位、孔组、吸附图样和吸附面,供辅助装配使用
- **五金规格提取** - 单五金模式保留几何签名、图层类型和实例信息
- **整套兼容保留** - 旧整套家具导出迁移到 `FEXPORTPRODUCT`
## 系统要求
- AutoCAD 2024
- Windows 10/11
- 具备读取 `%AppData%\Autodesk\ApplicationPlugins` 的用户权限
## 安装方法
### 方法 1:手动安装发版包(推荐给产品/实施)
1. 完全关闭 AutoCAD 2024
2. 解压 `dist/家具导出插件-v2.6.0-一键安装版.zip`
3. 将整个 `FurnitureExporter.bundle` 文件夹复制到:
```text
%AppData%\Autodesk\ApplicationPlugins\
```
最终目录应为:
```text
%AppData%\Autodesk\ApplicationPlugins\FurnitureExporter.bundle\Contents\FurnitureExporter.dll
```
4. 如果系统提示是否覆盖旧文件,选择“全部替换”
5. 重新打开 AutoCAD 2024
6. 输入命令 `FEXPORT`,能识别即表示安装成功
### 方法 2:一键安装
双击 `dist/家具导出插件-v2.6.0-一键安装版/安装.bat`
脚本会自动:
1. 复制插件到 `%AppData%\Autodesk\ApplicationPlugins\FurnitureExporter.bundle`
2. 写入当前用户的 AutoCAD 自启动项
3. 追加插件目录到可信路径
### 方法 3:一键编译(开发)
双击运行 `build.cmd` 或在 PowerShell 中执行 `.\build.ps1`
脚本会自动:
1. 检测 AutoCAD 2024 安装路径
2. 编译插件
3. 显示输出文件位置
如果自动检测失败,可以手动设置环境变量:
```cmd
set ACAD_PATH=D:\你的路径\AutoCAD 2024
build.cmd
```
### 方法 4:手动编译
```bash
# 设置 AutoCAD 路径(根据实际安装位置修改)
set ACAD_PATH=C:\Program Files\Autodesk\AutoCAD 2024
# 编译
cd FurnitureExporter
dotnet build -c Release
```
### 临时加载(仅开发调试用)
1. 打开 AutoCAD 2024
2. 输入命令 `NETLOAD`
3. 选择 `FurnitureExporter\bin\Release\net48\FurnitureExporter.dll`
### 自动加载
将插件以 Bundle 形式放入 AutoCAD 插件目录,AutoCAD 启动时自动加载:
```
%AppData%\Autodesk\ApplicationPlugins\FurnitureExporter.bundle
```
安装后无需重复配置,后续每次启动 AutoCAD 会自动加载插件。
## 使用方法
### FEXPORT - 导出单资产到资产中心
```
命令: FEXPORT
```
**操作步骤:**
1. **选择资产类型** - 板材 / 组件 / 五金
2. **选择实体** - 框选该单资产包含的 3D Solid 或图块,按 Enter 确认
3. **保存文件** - 选择 ZIP 保存位置
**输出文件:** `xxx_board_asset.zip` / `xxx_component_asset.zip` / `xxx_hardware_asset.zip`,包含:
- `model.obj` - 单资产模型
- `hardware.json` - 单资产结构化数据,包含 `exportMode: "single_asset"` 与 `assetTypeHint`
### FEXPORTPRODUCT - 整套家具兼容导出
```
命令: FEXPORTPRODUCT
```
仅用于旧产品链路兼容。新资产中心和辅助装配测试请优先使用 `FEXPORT`。
### FINFO - 查看实体信息
```
命令: FINFO
```
选择实体后显示其详细信息(类型、尺寸、图层等),用于调试。
## 输出格式
### hardware.json 示例
```json
{
"version": "2.6",
"exportedAt": "2026-05-11T10:30:00Z",
"sourceFile": "桌腿.dwg",
"software": "AutoCAD 2024",
"pluginVersion": "2.6.0",
"modelFile": "model.obj",
"exportMode": "single_asset",
"assetTypeHint": "COMPONENT",
"sourceEntityCount": 1,
"panelCount": 1,
"snapPatterns": [],
"snapSurfaces": [],
"hardwareTypes": []
}
```
## 工作流程
```
设计师 系统
─────── ──────
1. 打开 DWG 文件
2. FEXPORT
3. 选择资产类型(板材/组件/五金)
4. 框选单个资产实体 ───────→
5. 保存 ZIP ────────────────→ 上传到资产中心
↓
自动解析
↓
创建/更新资产族规格款
↓
保存到数据库
↓
辅助装配可用 ✓
```
## 开发
### 编译
```bash
cd FurnitureExporter
dotnet build -c Release
```
### 调试
1. Visual Studio 打开项目
2. 设置调试程序为 `acad.exe`(AutoCAD 2024)
3. F5 启动调试
### 项目结构
```
FurnitureExporter/
├── FurnitureExporter.csproj # 项目配置
├── Commands.cs # AutoCAD 命令
├── GlbExporter.cs # GLB 导出器
├── HardwareAnalyzer.cs # 五金件分析器
└── Models.cs # 数据模型
```
## 常见问题
### Q: 插件加载失败
- 确认 AutoCAD 版本为 2024
- 确认已安装 .NET 6.0 Runtime
- 检查 DLL 路径是否包含中文
### Q: 导出的模型显示不正确
- 确保板材是 3D Solid 实体
- 检查模型单位是否为毫米
### Q: 五金件未被识别
- 确保五金件是 3D Solid 或图块引用
- 检查是否正确框选了五金件
## 版本历史
### v2.1.0
- 新增倒角和圆角检测功能
- 导出数据增加 `edgeFeatures` 字段
- 优化 Brep 分析性能
### v2.0.0
- 新增孔位自动检测(通过 Brep API)
- 新增五金件-孔位-板材智能关联
- 导出数据增加 `panels`、`holes` 字段
- 支持孔位用途推断(铰链孔、偏心轮孔等)
### v1.0.0
- 初始版本
- 支持板材 GLB 导出
- 支持五金件位置提取
- 自动按几何特征分组
## 许可
MIT License