gjm
|
bc6996830f
|
fix aecdbcamera.cpp 的链接错误
fix aecdbcamera.cpp 的链接错误
|
2026-10-26 21:26:40 +08:00 |
|
company-desktop
|
39dbab85bf
|
修复相机 HLR 结果处理中的三处正确性缺陷
B1 mergeEnvelope:命中 isNull() 的 3DSOLID 时 pSolidAll 已赋值但未从 arptrs 摘除,
后续 deleteArrayVoidPtrs 会把它删掉,返回野指针。改为记下标、循环结束后统一 removeAt。
B2 process_result:outputWithoutID.append(entAr) 误写在 for 循环体内,每轮把累积数组
整体再追加一次,同一指针在 outputWithoutID 中出现多次,AddToModelSpace 第二次失败后
DELETE_PTR 会删掉已入库的实体。append 移到循环外,并先 entAr.removeAll()。
B3 process_result:erase 之后把 it 重置成 begin(),for 的 ++it 会跳过新的首元素,
多个构筑物时漏处理。改为 while + 先取 next 迭代器。
同时更新 HRL-MODEL-refactor.md:去掉未实施的内存账本方案,验证方法改为行为观察。
|
2026-10-26 21:12:27 +08:00 |
|
company-desktop
|
14f7203f3b
|
修复相机 HLR 计算链路上的几处内存泄漏
- hlrCalc 两处早退(HLR 结果为空、截面裁剪后为空)没有释放补充实体
arAdditional_all,补上释放;第一处早退发生在轴网克隆插入 result1 之前,
同时释放调用方移交所有权的 arAxisPtrs
- mergeEnvelope 找不到可用的 3DSOLID 时直接返回,漏掉 arptrs 里由
GetDraw3dables 克隆出来的全部实体
- process_result 打成块失败时,subAr 里的实体没有被块表接管,需要自行释放
|
2026-10-26 20:07:37 +08:00 |
|
company-desktop
|
e555d29529
|
fix-aecdbcamera-崩溃导致双击无法退出
fix-aecdbcamera-崩溃导致双击无法退出
|
2026-10-26 14:04:38 +08:00 |
|
company-desktop
|
581394622a
|
fix #2 bug
补充了对AecDbGuardBar,AecDbArcStair,AecDbLineStair 3种类型的判断.
|
2026-10-20 10:06:34 +08:00 |
|
company-desktop
|
6b1add6c57
|
Update AecDbCamera.cpp
删除AecDbCamera.cpp内的hlr相关的注释
|
2026-10-20 09:29:26 +08:00 |
|
gjm
|
bbb899c0a0
|
fix: HLR 退化圆弧按来源实体直径判断,并支持爬梯
在删除圆心角为 PI 的退化圆弧时,增加直径比较:
- 弯头(eElbow / eReduceElbow):带法兰(连接类型 3/5)取法兰外径 m_dInterfaceD,
否则取画法直径 m_dD;
- 爬梯(AecDbClimbStair):取踏管直径 ClimbStair::dd。
仅当圆弧直径大于来源实体直径时才删除。
getElbowDiameter 改为 getSourceDiameter,removeFittingDegenerateArcs
改为 removeDegenerateArcs(已不止管件)。
|
2026-10-16 23:20:57 +08:00 |
|
gjm
|
c0c04952dc
|
fix: HLR 结果中删除 AecDbEwFitting 产生的退化圆弧
原 isDegenerateArc 以 弧长/半径 比值判断退化圆弧,且无法区分结果来源。
改为按来源实体类型判断:
- result1 的键是数据库实体 id,直接判断该 id 是否为 AecDbEwFitting;
- result2 的键是无 id 的补充实体指针,先经 mpAdditional
(数据库实体id -> 其产生的补充实体) 反查归属的数据库实体 id,再判断。
删除规则:结果实体是 AcDbArc 且圆心角为 PI 时删除。
|
2026-10-16 21:34:08 +08:00 |
|
company-desktop
|
a1c7d39dc6
|
fix(HLR): 清理剖切结果中的退化圆弧,避免圆心角溢出生成反向大圆弧
AecDbXCamera::hlrCalc 在 HLR 计算后新增 isDegenerateArc 判定:结果为 AcDbArc 且 弧长/半径 < 1e-6 时视为退化圆弧(圆心角极小),从 result1/result2 中删除,防止数值溢出把"很小一段"翻转成"反向的大圆弧"。
|
2026-10-16 13:11:21 +08:00 |
|
gjm
|
164968b62e
|
chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
|
2026-10-04 00:04:20 +08:00 |
|
gjm
|
345044cb46
|
初始化提交
|
2026-09-28 15:28:50 +08:00 |
|