company-desktop/company-desktop-computer/feat-aec-mcp-entities-p2 AGit
main
解析 c:\ShangHuaSoft\Envi3D-2026-M\sys*.mnu(8 个文件、674 条命令、GBK), 按 "ID_xxx [四字说明]命令" 取出命令名,再到源码里找 ADD_CMD / addCommand 注册的 handler,在 handler(含一层直接调用)里搜 new AecDbXxx,得到"会新建实体的命令" 共 74 条、涉及 44 个实体类,按表头 |cad命令|4字中文名称|实体名称|工具名称1|工具名称2| 列成 84 行对照表(一个命令对应多个实体就拆多行)。
已实现 6 类实体(管道/墙/板/柱/梁/爬梯)的命令直接标出对应工具, 其余标"(未实现)",并写明补的做法:从命令实现里抄建模序列 → 抽参数 → 加工具。 AecDbX3dPart / AecDbX3dPartEntity / AcDbX3dSolid 标"内部构件,不单独建"。
8f7f66b831
ed01f00dc6
第 4 项(按 sys/*.mnu 扩工具)的第一步:从菜单命令里筛出一类参数清晰的实体先做通。 - 新增 add_aec_climb_stair / update_aec_climb_stair(AecDbClimbStair,对应菜单命令 PL_ZXPT 直爬梯、PL_YHZT 圆护爬梯)。建模序列照抄 pool3dcmdCmd.cpp:5742 的命令实现: SetSection(踏管直径) -> SetBaseCurve(底->顶) -> SetClimbStairData(参数体), 再写专业数据 2dStyle / 朝向(KEY_MAJBR)。工具直接收两个端点,不需要复现 "放置点+朝向"那套偏移算法。 参数:start/end、width、cage_diameter、height、bottom_elevation、type(0/1)、 bar_diameter、step_height、step_spacing、wall_distance、facing、material、layer。 - query_aec_entities / get_aec_entity_detail 支持 climb_stair(读 GetClimbStairData)。 - mcp_config.json 增加这两个工具(40 -> 42),query 的 type 枚举补 climb_stair。 实测(AutoCAD 2020 / R230 Debug): - tools/list = 42;add_aec_climb_stair 建出 handle 3A0(宽 450 / 护笼 700 / 高 3000); - get_aec_entity_detail 读回 type=0/width=450/cage=700/height=3000/bar=20/step=300; - update 改 width=600、step_height=250 后读回一致;query type=climb_stair 命中 1 条。
解析 c:\ShangHuaSoft\Envi3D-2026-M\sys\*.mnu(8 个文件、674 条命令、GBK), 按 "ID_xxx [四字说明]命令" 取出命令名,再到源码里找 ADD_CMD / addCommand 注册的 handler,在 handler(含一层直接调用)里搜 new AecDbXxx,得到"会新建实体的命令" 共 74 条、涉及 44 个实体类,按表头 |cad命令|4字中文名称|实体名称|工具名称1|工具名称2| 列成 84 行对照表(一个命令对应多个实体就拆多行)。 已实现 6 类实体(管道/墙/板/柱/梁/爬梯)的命令直接标出对应工具, 其余标"(未实现)",并写明补的做法:从命令实现里抄建模序列 → 抽参数 → 加工具。 AecDbX3dPart / AecDbX3dPartEntity / AcDbX3dSolid 标"内部构件,不单独建"。
06c843f62a
No dependencies set.
The note is not visible to the blocked user.
解析 c:\ShangHuaSoft\Envi3D-2026-M\sys*.mnu(8 个文件、674 条命令、GBK),
按 "ID_xxx [四字说明]命令" 取出命令名,再到源码里找 ADD_CMD / addCommand 注册的
handler,在 handler(含一层直接调用)里搜 new AecDbXxx,得到"会新建实体的命令"
共 74 条、涉及 44 个实体类,按表头
|cad命令|4字中文名称|实体名称|工具名称1|工具名称2|
列成 84 行对照表(一个命令对应多个实体就拆多行)。
已实现 6 类实体(管道/墙/板/柱/梁/爬梯)的命令直接标出对应工具,
其余标"(未实现)",并写明补的做法:从命令实现里抄建模序列 → 抽参数 → 加工具。
AecDbX3dPart / AecDbX3dPartEntity / AcDbX3dSolid 标"内部构件,不单独建"。
8f7f66b831toed01f00dc6ed01f00dc6to06c843f62a