Commit Graph
5 Commits
Author SHA1 Message Date
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-computer 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