由 DXF 建筑平面图生成结构项目
1. 关于此场景
最常见的工作之一是:您手上有建筑师的 DXF 平面图,想由它在 StatiCAD 中生成结构模型、计算报告和结构图纸(模板图、基础平面图、展开图)。本文介绍如何让 AI 智能体完成全部工作:智能体自己读取并解读 DXF 文件,然后在 StatiCAD 中用命令绘制模型,运行分析,并把报告和图纸写入文件。每个阶段您都能看到结果,并予以确认或修正。
| 所需条件 | 说明 |
|---|---|
| 智能体 | Claude Code(推荐)或 Codex。程序内助手不适合这项工作:它无法读取 DXF 文件。 |
| StatiCAD | Ultimate 或 Hybrid(使用终端通道,--term)。其他版本见第 9 节。 |
| DXF 文件 | 建筑楼层平面图;如果是 DWG,请先另存为 DXF(第 4 节)。 |
| 结构信息 | 结构类型、楼层数和层高、材料、规范和地震参数、已知截面。建筑平面图不包含这些信息;智能体会询问您。 |
先完成安装设置:Claude Code 的安装、用 --term 打开 StatiCAD 以及第一个提示词已在 Claude Code 文章中介绍。本文假定您已完成其中的步骤。
2. AI 如何读取 DXF?
DXF 是纯文本格式的图形文件。智能体并不是把它当作图片来看,而是编写一个小程序(脚本)读取其中的数据:哪个图层中有什么对象、坐标是多少、哪个块用在了哪里。因此,智能体也能看到您在屏幕上看不到的一切(4.3)。它在解读中使用的信息:
| DXF 中的信息 | 智能体的用途 |
|---|---|
| 直线和多段线(LINE、LWPOLYLINE) | 由成对的平行边线得出墙轴线和墙厚;由轴线图线得出轴线。 |
| 块(INSERT) | 找出门、窗和柱块的位置和宽度。块名称(例如 KAPI_90、PENCERE_120)便于识别。 |
| 图层名称 | DUVAR、KOLON、AKS、PENCERE 之类的名称表明构件类型。如果名称难以理解,智能体会询问您。 |
| 图案填充(HATCH) | 实心填充的矩形往往是钢筋混凝土柱和剪力墙的截面。 |
| 圆弧(ARC) | 门的开启弧线不是构件。曲线墙用短直线段近似绘制。 |
| 文字和尺寸标注(TEXT、MTEXT、DIMENSION) | 房间名称、标高和尺寸数值用于核对解读结果。 |
| 单位设置($INSUNITS) | 表明图形单位是 mm、cm 还是 m;StatiCAD 中的单位为 cm。 |
3. 坐标:单位、坐标轴和原点
- 单位:在土耳其,建筑图纸大多以 cm 或 mm 为单位。智能体会根据文件以及某个已知尺寸(例如门宽、尺寸标注文字)核实单位,并把一切换算为 cm。
- Y 轴:在 DXF 中 Y 轴向上,而在 StatiCAD 中 Y 轴在屏幕上向下。如果智能体不对 Y 进行镜像,平面图会被上下颠倒(镜像)绘制。请在提示词中说明这一点,并在绘制最初几道墙之后检查平面图。
- 原点:以平面图的左下角(或第一个轴线交点)作为 (0,0),可以让坐标更易读。
- 楼层:在 StatiCAD 中,楼层从 1 开始;基础绘制在第 0 层(TEMEL)。
在最初几道墙之后暂停:方向、比例或镜像错误在最初几道墙上就能看出来。在最初几道墙之后让智能体截取屏幕截图,与平面图进行对比;没有问题再让它继续。
4. 准备 DXF 文件
智能体也能读取复杂的文件;但文件中不需要的内容越少,解读就越快、越准确。下面的准备步骤针对 AutoCAD;在 BricsCAD、ZWCAD、GstarCAD 等程序中,命令名称相同。在命令前加下划线(_PURGE),在中文等本地化界面中也能使用。
4.1. 需要精简吗?
| AI 读取(本文) | StatiCAD 自带的导入 2D 工具(手动) | |
|---|---|---|
| 接受的对象 | 全部:直线、多段线、块、图案填充、文字、尺寸标注 | 只接受 LINE(直线);不接受多段线和块 |
| 分解(EXPLODE) | 不需要;不要分解块,块名称有助于识别门和窗 | 需要:必须分解多段线和块 |
| 选择 | 智能体自己找出构件 | 每个构件都要用鼠标拖动选择两条边线;如果多选了对象,会出现“请选择 2 条线”(2 adet çizgi seçiniz)警告 |
| 精简 | 建议精简(为了速度和准确性);不是必需的 | 必需:家具、图案填充、尺寸标注等对象会干扰选择 |
简而言之:为智能体准备时,删除不需要的内容,但不要分解。
4.2. 建议的准备步骤
- 把平面图放到单独的文件中。选择某一楼层的平面图,用
_WBLOCK写入新文件是最干净的方法:新文件中只包含您所选的对象以及它们用到的定义;布局(layout)页、图签、剖面和其他楼层的图纸都不会带过来。为每个楼层准备单独的文件会让解读更容易。 - 删除不需要的对象,而不只是隐藏。家具、景观、设备管线、填充图案、说明文字。关闭或冻结图层并不会把对象从文件中移除(4.3)。尺寸标注和房间名称可以保留;智能体会用它们核对解读结果。
- 清理:反复运行
_PURGE› 全部清理(包括嵌套项目)命令,直到没有可删除的内容为止;然后用_AUDIT修复文件错误。 - 真实尺寸和单位:图形必须为 1:1 比例。用
_DIST测量一个已知尺寸(例如某道墙的长度),以核实单位。 - 平面图形:所有对象都必须位于 Z = 0 平面上(必要时使用
_FLATTEN)。 - 原点(可选):把平面图的左下角移到 (0,0)。如果不移动,智能体会自己进行平移。
- 另存为 DXF:
_SAVEAS› 文件类型选 AutoCAD 2013 DXF(或 2010/2018;文本格式)。DWG 是二进制格式,智能体无法直接读取。
4.3. 为什么已删除的对象还会出现?PURGE 有什么用?
智能体有时会报告一些您认为已经删除的对象。原因几乎总是这些对象仍然留在文件中:
| 情况 | 原因 | 解决方法 |
|---|---|---|
| 关闭或冻结图层中的对象 | 在屏幕上不可见,但仍在文件中。 | 删除这些对象或图层。如果无法删除,请对智能体说“忽略这些图层”。 |
| 未使用的块定义 | 没有插入平面图的块,其内容仍留在文件的块部分中。 | _PURGE(全部清理,包括嵌套项目)。 |
| 布局(layout)页 | 图签、立面和说明位于图纸空间中。 | 用 _WBLOCK 只把平面图对象写入新文件,或让智能体只读取模型空间。 |
| 远离平面图的旧图形 | 遗留在模型空间中、屏幕范围之外的修订版或详图。 | 查看智能体报告的绘图范围;删除远处的图形片段。 |
| DWG 中增量保存的残留 | AutoCAD 的增量保存(ISAVEPERCENT 不为 0 时)可能会在 DWG 文件中暂时保留已删除对象的数据;某些读取程序会显示这些数据。 | 将文件另存为 DXF,或将 ISAVEPERCENT 设为 0 后重新保存文件。 |
简短回答:PURGE 清理的不是已删除的对象,而是未使用的定义(块、图层、文字样式和线型);它能缩小文件,并防止不可见的块内容混入解读。请先删除不想出现的对象,然后运行 PURGE 和 AUDIT,最后另存为 DXF。AutoCAD 写出的 DXF 文件中不包含已删除的对象。
4.4. 图层名称以及要告诉智能体的信息
- 如果墙、柱、窗、门和轴线位于名称清晰的不同图层中,解读会可靠得多。如果建筑师的图层名称不同,请告诉智能体:“墙在 A-WALL 图层,柱在 A-COLS 图层”。
- 如果平面图包含多个楼层,请说明哪个区域对应哪个楼层,或者把各楼层放到单独的文件中。
- 请以书面形式向智能体提供层高、楼板厚度和已知截面;建筑平面图不包含这些信息。
5. 分步工作流程
把工作分成几个阶段,并在每个阶段结束时确认结果。按顺序使用下面的提示词;请根据您的项目修改文件夹、文件和数值。
5.1. 第 1 阶段 — 探查:文件中有什么?
把 DXF 放到 C:\StatiCAD\AI_Projeler 文件夹中,用 --term 打开 StatiCAD,然后在 Claude Code 中开启新会话:
请阅读 C:\StatiCAD\Ultimatex64 文件夹中的 AGENTS.md 和 YARDIM_AI_KOMUTLAR.md 文件。
然后用脚本读取 C:\StatiCAD\AI_Projeler\zemin_kat.dxf 建筑平面图(必要时安装 Python 和 ezdxf);不要把整个文件粘贴到对话中。
向我报告以下内容:
- 绘图单位和绘图范围(X、Y 的最小值 / 最大值),
- 图层,以及每个图层中的对象类型和数量,
- 块名称及其使用次数,
- 文字(房间名称、标高)和尺寸标注,
- 关闭或冻结图层中的对象、模型空间之外(布局中)的对象,以及远离平面图的图形片段。
暂时不要在 StatiCAD 中绘制任何东西。
在 Hybrid 中,请把第一行写成:“请阅读 C:\StatiCAD\Hybrid 文件夹中的 YARDIM_AI_KOMUTLAR.md 和 AI_Terminal_yardim.md 文件(此版本中没有 AGENTS.md)。”没有终端通道的版本见第 9 节。
阅读报告。如果有意料之外的图层或对象,请按第 4 节清理 DXF,或者告诉智能体要忽略哪些内容。
5.2. 第 2 阶段 — 解读:哪条线是哪种构件?
根据此平面图为结构模型进行解读,并以表格形式列出:
- 墙:轴线的起点和终点坐标、厚度,
- 柱和剪力墙:中心或角点坐标、尺寸,
- 门和窗:所在的墙、位置、宽度,
- 轴线。
把坐标换算为 cm,对 Y 轴进行镜像(在 StatiCAD 中 Y 轴在屏幕上向下),并以平面图的左下角作为 (0,0)。
把所有不确定的内容另列一个清单;不要编造尺寸。
再把你的解读结果画成一张 PNG 图片,方便我检查。
将表格和图片与平面图进行对比:墙厚、洞口宽度、柱的位置。写出错误或遗漏之处;智能体会修正解读结果。
5.3. 第 3 阶段 — 项目设置和模型绘制
我确认解读结果。修正:[在此填写]。
在 StatiCAD 中执行以下操作:
1. 新建项目(如果有已打开的项目,先问我)。
2. 规范 TBDY 2018,建筑类型为砌体,2 层,层高 280 cm;场地类别 ZC,SS = 1.2,S1 = 0.35(示例值)。
3. 绘制首层的墙、门和窗、楼板,并在第 0 层绘制基础。
4. 绘制最初几道墙之后,用屏幕截图检查平面图的方向和比例并展示给我;没有问题就继续。
5. 按同一平面图绘制上面一层(二层)。
每一步结束时,简要总结你绘制了什么。
- 在砌体建筑中绘制门和窗时,墙体会自动分割,并在其上方生成圈梁。
- 绘制完成后,智能体会用屏幕截图向您展示模型。此外,请您亲自在 StatiCAD 的平面图和三维视图中查看。
- StatiCAD 终端中目前还没有复制楼层的命令;智能体会根据同一解读结果重新绘制相似的楼层。
5.4. 第 4 阶段 — 分析、计算报告和结构图纸
运行分析。按重要程度解释警告和不满足要求的构件;先向我提出修改建议,未经我确认不要更改数值。
确认之后:
- 将项目保存为 C:\StatiCAD\AI_Projeler\bina1.sy4,
- 生成所有报告并导出为 C:\StatiCAD\AI_Projeler\bina1_rapor.pdf,
- 绘制模板图和基础平面图,保存为 C:\StatiCAD\AI_Projeler\bina1_planlar.dxf,
- 在磁盘上核实生成的文件并列出它们。
演示版中:演示版安装中报告和 DXF 导出不可用;可以建立模型并进行分析。
6. 按结构类型的说明
| 结构类型 | 来自建筑平面图的信息 | 需要您提供的信息 |
|---|---|---|
| 砌体 | 墙的位置和厚度、门窗洞口 | 墙体材料、楼板类型和厚度、圈梁和基础尺寸、层高 |
| 钢筋混凝土 | 柱和剪力墙截面(大多为填充区域)、轴线 | 梁的布置和截面(建筑平面图中大多没有;智能体会根据轴线和墙线提出建议,由您确认)、混凝土和钢筋等级、楼板厚度 |
| 木结构和钢结构 | 墙和柱的位置 | 材料等级(例如 C24)、截面、连接假定 |
无论哪种类型,智能体都不应自行编造这些数值;提示词中“不知道的数值请问我”这句话可以确保这一点。
7. 局限与注意事项
- 建筑平面图不是结构设计。智能体建立的模型,只有结合经您确认的结构假定才有意义。结构体系的决策和结果的检查由负责工程师承担。
- 解读错误:互不相接或相互重叠的线条、厚度变化的墙、斜墙和曲线墙、多层构造的墙体截面(抹灰、保温)都可能被误读。因此第 2 阶段的表格和图片非常重要。
- 节点连接:绘制后请检查墙端是否相连;分析警告会显示开口端和断开的构件。
- 大文件:智能体用脚本读取 DXF,不会把整个文件粘贴到对话中;尽管如此,非常大且复杂的文件仍会拖慢速度。请把各楼层拆分为单独的文件。
- 使用限额:在较长的项目中,可能会达到 Claude Pro 的周期性使用限额。把工作分成几个阶段、在单独的会话中处理每个楼层,可以缓解限额压力。
8. 替代方法:StatiCAD 自带的导入 2D 工具
不使用 AI 也可以把建筑平面图转换为模型:文件 › 导入 2D(或启动界面中的 DWG Import)会在 TechnicDraw 编辑器中打开 DWG/DXF 平面图;从导入工具栏(Import Araç Çubuğu)中选择构件类型,然后用鼠标拖动选择墙的两条边线。该工具只接受 LINE 对象:请先分解(EXPLODE)多段线和块,精简图形,把参考角点移到 (0,0),并把单位设为 cm。详细信息见 StatiCAD 用户指南第 12.1 节。
9. 没有终端通道的版本
Profesyonel、Standart、Betonarme 和 Yığma 版本没有终端通道。智能体仍然可以读取并解读 DXF;而模型则通过 computer use 在屏幕上绘制:在 StatiCAD 底部的命令行中输入墙命令(w)和角点坐标。这种方式慢得多,适合小型平面图和单层建筑。请在每个阶段都要求用屏幕截图进行检查。
- 如果主界面中看不到命令行,请通过底部工具栏中的命令行图标或程序设置 › 自动操作 › 显示命令行(Komut Satırı Göster)选项将其打开。
- 把下面的提示词作为会话的第一条消息发送。请根据您的版本修改文件夹和程序名称(computer use 文章中的列表)。
- 然后按顺序使用第 1–4 阶段的提示词;删除第 1 阶段提示词的第一行(读取 AGENTS.md)。
我使用的是 StatiCAD Profesyonel;程序文件为 C:\StatiCAD\V10ProX64\StatiCAD.exe。此版本没有终端通道:你将用脚本读取并解读 DXF 平面图,并通过 computer use 在屏幕上绘制模型。
绘制时请遵守以下规则:
- 用底部命令行绘制墙:在输入框中输入 w 并按 Enter,在“墙体属性”(Duvar Özellikleri)窗口中检查厚度和构件类型后按 OK,然后为每个角点输入 X,Y 并按 Enter(也可以用 @dX,dY)。一段连续的墙绘制完成后,在绘图区中右键单击。
- 单位为 cm;X 向右,Y 在屏幕上向下。对 DXF 中的 Y 值进行镜像。
- 主窗口获得焦点时,Shift+字母是快捷键。输入之前先确认焦点在命令行中;在命令行中使用小写字母。
- 把基础绘制在 TEMEL 层(第 0 层);用 Ctrl+向上箭头和 Ctrl+向下箭头在楼层之间切换。
- 绘制最初两道墙之后,用 Z.Hepsi 使模型适应屏幕,将屏幕截图与平面图进行对比并展示给我。
- 如果程序已打开,不要再次启动。覆盖已有文件和关闭程序之前,先问我。
暂时不要绘制任何东西:截取主界面的截图,确认命令行已经打开,然后等待我的下一个请求。
智能体指令文件:为智能体准备的指令文件(AGENTS.md 以及专门针对 computer use 的工作指南)只包含在 Ultimate 安装中。在其他版本中,上面的提示词会自行把这些文件中最必要的规则告诉智能体。
Anthropic、OpenAI 和 Google 服务的套餐、价格和菜单名称可能随时间变化;最新信息请参阅所链接的官方页面。AI 建立的模型及其生成的结果必须由负责工程师检查。