WuYongJie 5821d73291 初始提交:3D家具安装展示系统
包含:
- furniture-3d-system:Next.js 16 全栈应用(资产中心、产品管理、3D装配动画)
- autocad-plugin:AutoCAD 家具导出插件源码
- 资产中心改造:编辑弹窗化、删除功能、Toast反馈、自定义Select组件

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-02 14:00:19 +08:00

242 lines
5.8 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 模型导出插件。导出板材模型和五金件安装位置,用于 Web 端 3D 展示和安装视频生成。
## 功能特点
- **只导出板材模型** - 五金件使用位置引用,文件体积小(1-3MB vs 30-50MB)
- **自动分组五金件** - 按几何特征自动识别相同类型的五金件
- **精确位置记录** - 记录每个五金件的安装位置和旋转角度
- **服务端自动匹配** - 上传后自动匹配五金件库
## 系统要求
- AutoCAD 2024
- Windows 10/11
- 具备读取 `%AppData%\Autodesk\ApplicationPlugins` 的用户权限
## 安装方法
### 方法 1:手动安装发版包(推荐给产品/实施)
1. 完全关闭 AutoCAD 2024
2. 解压 `dist/家具导出插件-v2.3.1-一键安装版.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.3.1-一键安装版/安装.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. **选择板材** - 框选所有板材实体,按 Enter 确认
2. **选择五金件** - 框选所有五金件,按 Enter 确认(可跳过)
3. **保存文件** - 选择保存位置
**输出文件:** `xxx_export.zip`,包含:
- `model.glb` - 板材 3D 模型
- `hardware.json` - 五金件位置数据
### FINFO - 查看实体信息
```
命令: FINFO
```
选择实体后显示其详细信息(类型、尺寸、图层等),用于调试。
## 输出格式
### hardware.json 示例
```json
{
"version": "1.0",
"exportedAt": "2024-01-15T10:30:00Z",
"sourceFile": "衣柜.dwg",
"software": "AutoCAD 2024",
"pluginVersion": "1.0.0",
"modelFile": "model.glb",
"panelCount": 12,
"hardwareTypes": [
{
"typeId": "type_000",
"signature": {
"width": 35.0,
"height": 12.0,
"depth": 12.0,
"volume": 4032.5
},
"instances": [
{
"position": { "x": 100.0, "y": 50.0, "z": 18.0 },
"rotation": { "x": 0, "y": 0, "z": 1.5708 },
"sourceLayer": "五金件"
},
{
"position": { "x": 100.0, "y": 150.0, "z": 18.0 },
"rotation": { "x": 0, "y": 0, "z": 1.5708 },
"sourceLayer": "五金件"
}
]
}
]
}
```
## 工作流程
```
设计师 系统
─────── ──────
1. 打开 DWG 文件
2. FEXPORT
3. 框选板材 ────────────────→
4. 框选五金件 ──────────────→
5. 保存 ZIP ────────────────→ 上传 ZIP
↓
自动解析
↓
匹配五金件库
↓
保存到数据库
↓
3D 预览 ✓
```
## 开发
### 编译
```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