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

5.8 KiB
Raw Blame History

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 文件夹复制到:
%AppData%\Autodesk\ApplicationPlugins\

最终目录应为:

%AppData%\Autodesk\ApplicationPlugins\FurnitureExporter.bundle\Contents\FurnitureExporter.dll
  1. 如果系统提示是否覆盖旧文件,选择“全部替换”
  2. 重新打开 AutoCAD 2024
  3. 输入命令 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. 显示输出文件位置

如果自动检测失败,可以手动设置环境变量:

set ACAD_PATH=D:\你的路径\AutoCAD 2024
build.cmd

方法 4:手动编译

# 设置 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 示例

{
  "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 预览 ✓

开发

编译

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