Files
envi-code/SourceCode/Code2026
company-desktop f668e29b6c fix: 修复 AecDbEwEquipment 的 10 处逻辑缺陷
3.2 subErase:sName.Find(_T("接头")) 当布尔用,找不到返回 -1 也为真,
    整个条件恒成立,删除任何设备都走阀门/接头的合并管线分支。补 != -1。

3.3 DrawHandFlg:else 分支写成 sFlag == _T("Y"),液动阀(3)符号文字一直是空串。

3.4 ProcessHlrResult:遍历 map 时 erase(it) 之后仍然 ++it。改成 while +
    erase(it++),没有用 it = erase(it),因为 R190 走 C++98 标准,
    C++03 的 map::erase(iterator) 返回 void。

3.5 GetSectionDraw:返回 nCount - nCoundPre(调用前减调用后),恒为 0 或负数。
    改为 nCoundPre - nCount。全库调用点都忽略返回值,此前无实际故障。

3.8 copyFrom:补拷 m_bVert / m_idDash / m_idCenter。原来复制粘贴竖放阀门
    会变横放,虚线与中心线的图层也丢失。

3.9 MakeBlockRefSet:判断的是累加器 ext 而不是本次的 extAdd,第一轮 ext 还是
    空状态,第一个实体的范围永远加不进去;块参照分支不 continue,extAdd 会
    沿用上一轮的值被重复累加。改为块参照跳过、extAdd 每轮新建并检查返回值。

3.10 byJson:br._len 是字节数,却按 new PVOID[br._len] 分配、按
     sizeof(PVOID)*br._len 拷贝,源缓冲区越界读 7 倍。改为按字节分配拷贝,
     并用 br._len 覆盖 m_nSize。

3.11 dwgInFieldsForXPrim:加 16MB 上限(kMaxXPrimDataSize),超限置
     eInvalidInput 让整个 dwgInFields 退出;readBytes 检查返回值,失败时释放。

3.13 GetBodyBox:恒返回 TRUE,调用方无法区分是否取到几何;_ext 在循环外定义,
     会把上一轮的累积结果重复并入。改为返回实际结果、每轮新建 _ext。

3.14 clearGeoBuffer:函数体只有 AssertWriteEnabled(),改完参数几何不刷新。
     改为 Clean2DBuffer() + Clean3DBuffer()。

未处理,见文档 5.4:3.6 HLR_CALC 序列化(要动 AecDbObjXDataMap 公共类)、
3.7 GetInterface 数组版单位(影响 67 处调用)、3.12 mat4 双次变换(需确认是否刻意)。
2026-10-25 11:21:11 +08:00
..
2026-10-04 00:04:20 +08:00
2026-10-19 09:19:05 +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-10-04 00:04:20 +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-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-09-28 15:28:50 +08:00
2026-09-28 15:28:50 +08:00
2026-09-28 15:28:50 +08:00