company-desktop
3013ceb4f7
feat: cad_mcp_aec 增加平板开洞工具(add/update_aec_opening)
对应菜单命令 PL_CDKD 平板开洞(Pool3dCmd/pool3dcmdCmd.cpp:14763)。
洞不是普通实体,是"长在母体上的 part",所以工具收 host(板的 handle):
- add_aec_opening:host + shape(circle/rect) + position(缺省取板中心)
+ diameter 或 width/height + depth(缺省取板厚)+ nozzle/no/for_use/layer。
内部照命令的序列:new AecDbX3dPartEntity -> SetAsHole(中心,尺寸,板厚,法向)
-> KEY_ASSOIC 记母体 -> LAY_HOLE 图层 -> 入库 -> 给母体 addPersistentReactor
+ AppendAssocPart(绘制时母体据此做布尔)。
- update_aec_opening:改形状/直径/宽高/深度/管嘴/编号/用途;改尺寸会重建几何。
洞口中心在创建时另存一个 AECMCP_HOLE_CEN 键(SetAsHole 自己会把 KEY_NOPOS 挪到侧边),
更新时就靠它 / 或母体中心兜底。
- query_aec_entities / get_aec_entity_detail 支持 opening(读回 host/no/for_use/position)。
实测(AutoCAD 2020 / R230 Debug,pcf_1.dwg):
- tools/list = 46;
- 先 add_aec_slab 建 6x5m/厚200 的板(3A0),再 add_aec_opening(DN600 圆洞, 中心 2000,2000)
返回洞口 3A1、host=3A0;
- get_aec_entity_detail 读回 host=3A0 / no=H-1 / position=(2000,2000,100)
(z=100 正是板厚中点,说明命令里那步"挪到厚度中点"生效);
- update_aec_opening 改直径成功;query(type=opening) 命中 1 条。
限制(写进文档):目前只支持平板 + 圆/矩形洞;墙体开洞(母体是墙)
和异形洞(点串脚本格式)还没接。
2026-10-30 08:48:02 +08:00
..
2026-10-04 00:04:20 +08:00
2026-10-30 08:47:58 +08:00
2026-10-04 00:04:20 +08:00
2026-10-30 08:48:02 +08:00
2026-10-29 06:33:19 +08:00
2026-10-29 22:45:14 +08:00
2026-09-28 15:28:50 +08:00
2026-10-28 22:09:48 +08:00
2026-09-28 15:53:36 +08:00
2026-10-30 08:39:35 +08:00
2026-10-04 00:04:20 +08:00
2026-10-21 23:39:47 +08:00
2026-10-04 00:04:20 +08:00
2026-10-23 10:29:31 +08:00
2026-10-13 09:55:42 +08:00
2026-10-30 08:39:35 +08:00
2026-10-04 00:04:20 +08:00
2026-10-04 00:04:20 +08:00
2026-10-13 09:55:42 +08:00
2026-10-04 00:04:20 +08:00
2026-10-25 11:05:18 +08:00
2026-10-13 09:55:42 +08:00
2026-10-23 10:29:31 +08:00
2026-10-23 10:29:31 +08:00
2026-10-04 00:04:20 +08:00
2026-10-04 00:04:20 +08:00
2026-10-04 00:04:20 +08:00
2026-09-28 15:28:50 +08:00
2026-10-04 00:04:20 +08:00
2026-10-04 00:04:20 +08:00
2026-09-28 15:28:50 +08:00
2026-10-29 23:51:31 +08:00
2026-09-28 15:28:50 +08:00
2026-09-28 15:42:32 +08:00
2026-09-28 15:42:32 +08:00
2026-09-28 15:42:32 +08:00
2026-09-28 15:28:50 +08:00
2026-09-28 15:42:32 +08:00