gjm
|
2ec42bdd5f
|
Merge pull request '修复 XEquipment 参数 getter 的 M8-M10 缺陷' (#83) from company-laptop/fix-xequipment-m8-m10 into main
Reviewed-on: #83
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-27 10:59:38 +08:00 |
|
home-laptop
|
39634dc86a
|
修复 XEquipment 参数 getter 的 M8-M10 缺陷
- M8 DEF_KEY_FUNC 返回值改为值初始化,键缺失或类型不符时不再返回栈上垃圾值
- M9 getter 内对 m_pXDataMap 判空,避免空 map 构造的 impl 直接崩溃
- M10 GetType 读取 KEY_TYPE 失败时输出日志,不再静默返回 0
- 两份 DEF_KEY_FUNC 定义(XEquipmentImpl.h 与 ParamEquImpl.h)同步修改
|
2026-10-27 10:57:20 +08:00 |
|
gjm
|
a51a550a99
|
Merge pull request '修复 XEquipment 外壳/Impl 分离机制的 M1-M7 缺陷' (#82) from company-laptop/fix-xequipment-m1-m7 into main
Reviewed-on: #82
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-27 09:58:07 +08:00 |
|
home-laptop
|
75819c0b72
|
修复 XEquipment 外壳/Impl 分离机制的 M1-M7 缺陷
- M1 createParamEquImpl 成功替换前释放旧 impl,消除 inplace 编辑泄漏
- M2 copyFrom2 先克隆成功再替换,避免旧 impl 泄漏或被置空
- M3 copyFrom 补基类深拷贝并兜底重建 impl,修复 clone/复制得到空壳
- M4 在 XEquipmentImplBase 注明 impl 不拥有 xdata 的所有权契约
- M5 draw3dByImp 改用临时数组,绘制失败时保留旧 3D 缓存并提示
- M6 抽出 makeTempClone(),集中 ToJson 的克隆/补数据/拷 part 流程
- M7 getUniqueName 的 %s 统一传 LPCTSTR、修正 sizeof,XL 的 %d 改 %f
|
2026-10-26 22:36:28 +08:00 |
|
gjm
|
d33ab67b13
|
Merge pull request 'fix aecdbcamera.cpp 的链接错误' (#80) from home-lenovo-legion-r9000/fix-aecdbcamera.cpp-的链接错误 into main
Reviewed-on: #80
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 21:28:25 +08:00 |
|
gjm
|
bc6996830f
|
fix aecdbcamera.cpp 的链接错误
fix aecdbcamera.cpp 的链接错误
|
2026-10-26 21:26:40 +08:00 |
|
gjm
|
1d9e94481f
|
Merge pull request '修复相机 HLR 结果处理中的三处正确性缺陷' (#79) from company-desktop-computer/fix-hlr-b-series into main
Reviewed-on: #79
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 21:23:06 +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 |
|
gjm
|
ce886ff952
|
Merge pull request '补充 HLR 模块问题记录文档' (#77) from company-desktop-computer/hlr-model-refactor-doc into main
Reviewed-on: #77
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 20:32:30 +08:00 |
|
company-desktop
|
f349ed2dca
|
补充 HLR 模块问题记录文档
记录相机剖切计算链路的调用链与所有权约定、已修复的 5 处泄漏(PR #76)、
尚未修复的 L6 与正确性缺陷 B1~B3,以及评估后放弃的组合设备块展开改造
(含识别方式、关键结论与放弃原因),供后续重做时参考。
|
2026-10-26 20:30:56 +08:00 |
|
gjm
|
7870a2ba7b
|
Merge pull request '修复相机 HLR 计算链路上的几处内存泄漏' (#76) from company-desktop-computer/fix-aecdbcamera-hlr-leak into main
Reviewed-on: #76
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 20:27:00 +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 |
|
gjm
|
bc16d46c13
|
Merge pull request 'fix-aecdbcamera-崩溃导致双击无法退出' (#75) from company-desktop-computer/fix-aecdbcamera-崩溃导致双击无法退出 into main
Reviewed-on: #75
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 14:05:00 +08:00 |
|
company-desktop
|
e555d29529
|
fix-aecdbcamera-崩溃导致双击无法退出
fix-aecdbcamera-崩溃导致双击无法退出
|
2026-10-26 14:04:38 +08:00 |
|
gjm
|
19131f3055
|
Merge pull request '修正 XEquipment 重构计划的核对错误并补充遗漏项' (#74) from company-desktop-computer/xequipment-plan-fix into main
Reviewed-on: #74
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-26 14:03:08 +08:00 |
|
company-desktop
|
cee49e6e63
|
修正 XEquipment 重构计划的核对错误并补充遗漏项
- 3.2:改为 4 个类型有 getInterfaces 重写(DLD_FZ/DMF_56/YUANXINGGUAN/FANGXINGXIANG),补全 m_interfaces 四个写入点,删除 ent2db 未纳入支持列表的错误说法,新增 dwgIn 读入接口被工厂 getInterfaces 覆盖的顺序缺陷
- M1/M2/M3:修正修法——工厂改为先建后替(default 分支不能先删)、copyFrom2 判空、copyFrom 走基类后仅在 impl 为空时补建(基类 CopyObject 会经 dwgInFields 重建)
- M7:补 XL 的 %d 与 double 实参 ABI 错配;M8:补 ParamEquImpl.h:42 同名宏与 IMP_XDATA_KEY 说明
- 修正参考行号(AecDbParamEquipment.cpp:162)、子类计数(46=45+1)、验证 preset(R230→R190)与 cmake 命令语法;新增 L6 与 subTransformBy 接口未跟随移动
|
2026-10-26 13:55:24 +08:00 |
|
gjm
|
20dccfa524
|
Merge pull request '合并 AecDbSlab 缺陷与运行效率审查文档' (#73) from company-desktop-computer/slab-review-merge into main
Reviewed-on: #73
|
2026-10-26 13:39:13 +08:00 |
|
company-desktop
|
60d0b51d6c
|
合并 AecDbSlab 缺陷与运行效率审查文档
将 AecDbSlab-analysis.md 与 AecDbSlab-performance.md 合并为 AecDbSlab-review.md:第 1~6 章为内存泄漏/潜在 Bug/运行逻辑,第 7~12 章为运行效率(调用链、E1~E11、改造顺序、验证方法),并补充 GetRotation(Z) 恒返回 0 等跨章发现。
|
2026-10-26 13:38:15 +08:00 |
|
gjm
|
d1bdf281cc
|
Merge pull request '更新 CODEBUDDY.md:补充构建/链接细节,修正 preset 数量,新增 ZRX 平台注意事项' (#72) from home-lenovo-legion-r9000/doc-codebuddy-md-update into main
Reviewed-on: #72
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 23:14:03 +08:00 |
|
gjm
|
46e329181c
|
更新 CODEBUDDY.md:补充构建/链接细节,修正 preset 数量,新增 ZRX 平台注意事项
|
2026-10-25 23:13:02 +08:00 |
|
gjm
|
662ca27149
|
Merge pull request '新增 XEquipment 外壳/Impl 机制分析与重构计划文档' (#71) from home-lenovo-legion-r9000/xequipment-refactor-plan into main
Reviewed-on: #71
|
2026-10-25 23:12:01 +08:00 |
|
gjm
|
aabbd3cc1d
|
新增 XEquipment 外壳/Impl 机制分析与重构计划文档
|
2026-10-25 23:10:15 +08:00 |
|
gjm
|
c30d3afde2
|
Merge pull request '更新分析文档:E3 已修复,补充 E2/E4/E5 不改的原因' (#70) from home-lenovo-legion-r9000/doc-gidraw-e2-e4-e5 into main
Reviewed-on: #70
|
2026-10-25 19:20:15 +08:00 |
|
gjm
|
8bf914e6b6
|
更新分析文档:E3 已修复,补充 E2/E4/E5 不改的原因
- 7.1 增加 E3 条目(PR #69);
- 7.4 由“未处理”改为“确认不改”,逐条写明原因;
- E2 重点说明:只在超长路径回退分支触发、需重构两个 DrawPipe 重载、
真正的瓶颈是后续 N-1 次 booleanOper 合并,收益不划算。
|
2026-10-25 19:20:00 +08:00 |
|
gjm
|
d329428791
|
Merge pull request '优化 transfromRegion:旋转与平移合成一次 region 变换(E3)' (#69) from home-lenovo-legion-r9000/fix-gidraw-transfromregion-e3 into main
Reviewed-on: #69
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 19:18:26 +08:00 |
|
gjm
|
86bb3b778a
|
优化 transfromRegion:旋转与平移合成一次 region 变换(E3)
原来对 AcDbRegion 连做两次 transformBy(先转到平面、再平移),
region 是 ACIS body,每次变换都要重建拓扑,而该函数在
DrawPipe(pCurve, pRegion, ptCenInRgn) 里每个管件都会调用。
改为先算出 ptOnRegion 变换后的落点,把平移量用 preMultBy 合成进
同一个矩阵,region 只做一次 ACIS 变换;顺带删掉 plan.get(pt0,pt1,pt2)
这三个未使用的局部变量。
|
2026-10-25 19:16:43 +08:00 |
|
gjm
|
bc7bf7b15b
|
Merge pull request '更新 GiDrawUtility 分析文档:补充修复状态与 S3 误判结论' (#68) from home-lenovo-legion-r9000/doc-gidrawutility-analysis-status into main
Reviewed-on: #68
|
2026-10-25 19:10:10 +08:00 |
|
gjm
|
4e2ac8e23d
|
更新 GiDrawUtility 分析文档:补充修复状态与 S3 误判结论
- 顶部状态改为已修复清单(PR #62/#64/#65/#67);
- 新增第 7 节:已修复明细、确认不改项、S3 误判说明、未处理的效率项;
- 修正关联头文件:DELETE_PTR 实际来自 inc/memOper.h 的模板函数。
|
2026-10-25 19:09:49 +08:00 |
|
gjm
|
3e6d7f4dec
|
Merge pull request '修复 GiDrawUtility 参数校验与规范问题 B7、B9、S1' (#67) from home-lenovo-legion-r9000/fix-gidrawutility-b7-b9-s1 into main
Reviewed-on: #67
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 19:08:16 +08:00 |
|
gjm
|
74730f2c91
|
修复 GiDrawUtility 参数校验与规范问题 B7、B9、S1
- B7: DrawPipe(pCurve, dR) 检查 getStartPoint 返回值,避免未定义点传给 getFirstDeriv。
- B9: 补充参数校验:
DrawDish 大直径为 0 时 2*dH/dD 除零;
DrawCirTorus / DrawRectTorus 小半径不小于大半径时截面半径为负(RectTorus 另校验高度);
DrawPipe(ptFrom, ptTo, ...) 零长度路径无法扫掠;
DrawPipe(pCurve, dR) 半径非正。
- S1: spliteCurve、deleteContainerOfArx 由文件级 static 移入已有的匿名 namespace。
|
2026-10-25 19:07:16 +08:00 |
|
gjm
|
01b21dfa0d
|
Merge pull request '修复 GiDrawUtility 逻辑缺陷 L7、B2-B5' (#65) from home-lenovo-legion-r9000/fix-gidrawutility-l7-b2-b5 into main
Reviewed-on: #65
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 18:48:15 +08:00 |
|
gjm
|
14d3ff43c9
|
修复 GiDrawUtility 逻辑缺陷 L7、B2-B5
- L7: 新增 TakeFirstRegion,createFromCurves 返回多个 region 时只取第一个并释放其余,
createRegion(AcDbEntity*)、DrawDish、DrawPipe(curve,dR) 三处统一走此路径;
DrawDish 同时在 DrawRevolve 失败时释放 region。
- B2: RotateAndMove 的零向量防护原为 "*= 1" 空操作,改为显式判零并退化为 Z 轴。
- B3: DrawTydf 的 tfdy 分支截面各自平移后未更新引导线,改为重设端点到变换后的截面中心。
- B4: DrawMesh 增加入参校验(pVertexList 非空、rows>=2、columns>=3),避免越界读与空截面。
- B5: DrawRevolve 建 region 失败时不再往模型空间塞红色曲线,改为直接释放克隆对象。
|
2026-10-25 18:46:19 +08:00 |
|
gjm
|
fad993af97
|
Merge pull request '修复 RotateAndMove 平移项缺失旋转分量导致落点错位' (#64) from home-lenovo-legion-r9000/fix-gidraw-rotatemove into main
Reviewed-on: #64
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 18:41:51 +08:00 |
|
gjm
|
938edc0204
|
修复 RotateAndMove 平移项缺失旋转分量导致落点错位
平移量应为 ptDist - R*ptOrig,原实现写成 ptDist - ptOrig,
仅在 ptOrig 位于旋转轴上(含原点)时才成立。
DrawTydf 台体分支传入的 ptBottom 非原点,vtMove 倾斜时
实体整体偏移 |R*ptOrig - ptOrig|,本次一并修正。
|
2026-10-25 18:35:41 +08:00 |
|
gjm
|
ed996c10bc
|
Merge pull request 'fix: 修复 GiDrawUtility 失败路径内存泄漏(L3-L6)' (#62) from home-lenovo-legion-r9000/fix/gidrawutility-leak-l3-l6 into main
Reviewed-on: #62
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 18:18:29 +08:00 |
|
gjm
|
4de7c883a6
|
fix: 修复 GiDrawUtility 失败路径内存泄漏(L3-L6)
- L3: DrawLoft(曲线版) createRegion 失败时清理三个 clone 及已成功的 region
- L4: DrawBox/DrawSphere 创建失败时释放 pSolid
- L5: DrawMesh loft 失败时释放 pSection 数组与 vecPLs 中各 polyline
- L6: DrawPipe(曲线,半径) ARX 扫掠分支补 DELETE_PTR(pReg),与 ZWCAD/extrude 分支对齐
|
2026-10-25 18:05:51 +08:00 |
|
gjm
|
fd422a0255
|
Merge pull request 'fix: 修复 GiDrawUtility::DrawPipe 每次画管泄漏 region' (#61) from home-lenovo-legion-r9000/fix/gidrawutility-pipe-region-leak into main
Reviewed-on: #61
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 18:01:16 +08:00 |
|
gjm
|
7c9d849348
|
fix: 修复 GiDrawUtility::DrawPipe 每次画管泄漏 region
- 删除重复调用且丢弃结果的 createRegion(L1:每次调用必漏一个 AcDbRegion)
- 内圆 region 创建失败时释放 pBig(L2a)
- booleanOper 成功后释放第二个操作数 pSml(L2b,与 AecDbEwPipeBase/AecDbEwFitting 惯例一致)
|
2026-10-25 17:59:42 +08:00 |
|
gjm
|
0ca35c9d6d
|
Merge pull request 'docs: GiDrawUtility 内存泄漏/效率/逻辑分析,未改代码' (#60) from home-lenovo-legion-r9000/docs/gidrawutility-analysis into main
Reviewed-on: #60
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 17:53:56 +08:00 |
|
gjm
|
f7272787c5
|
docs: GiDrawUtility 内存泄漏/效率/逻辑分析,未改代码
|
2026-10-25 17:52:58 +08:00 |
|
gjm
|
fead8cccac
|
Merge pull request '重新整理utility/copyarx的目录结构' (#59) from home-lenovo-legion-r9000/重新整理utility/copyarx的目录结构 into main
Reviewed-on: #59
|
2026-10-25 17:49:24 +08:00 |
|
gjm
|
4fa3276b58
|
重新整理utility/copyarx的目录结构
重新整理utility/copyarx的目录结构
|
2026-10-25 17:49:05 +08:00 |
|
gjm
|
e0f31a3e61
|
Merge pull request '上传copyarx工程' (#58) from home-lenovo-legion-r9000/上传-copyarx-工程 into main
Reviewed-on: #58
|
2026-10-25 13:35:35 +08:00 |
|
gjm
|
ac3e6b0083
|
上传copyarx工程
上传copyarx工程
|
2026-10-25 13:34:19 +08:00 |
|
gjm
|
9ba35dbfdf
|
Merge pull request 'docs: 性能部分收尾,4.4/4.6 定为不做' (#57) from company-desktop-computer/docs/ewequipment-perf-final into main
Reviewed-on: #57
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 13:08:30 +08:00 |
|
company-desktop
|
72f225a455
|
docs: 性能部分收尾,4.4/4.6 定为不做
|
2026-10-25 13:06:35 +08:00 |
|
gjm
|
5a07b11e42
|
Merge pull request 'docs: 记录性能部分 4.2~4.6 的结论' (#56) from company-desktop-computer/docs/ewequipment-perf-decisions into main
Reviewed-on: #56
|
2026-10-25 13:01:36 +08:00 |
|
company-desktop
|
2a6421de95
|
docs: 记录性能部分 4.2~4.6 的结论
- 4.2 已修复(PR #53),补充实际做法和原因
- 4.3 核实「缩放频繁时开销明显」不准确:Draw2d 开头命中 2D 缓存就直接返回,
只有 2D 缓存失效后的第一次绘制才会走到 Draw*Vlv2d,是一次性开销,暂缓
- 4.4 决定不缓存 INSUNITS;补「单元 -> 世界矩阵」的具体解释
- 4.5 剖切确实不再调用,但 KTEarthWormCmd 等仍有十几处,暂不动
- 4.6 评估后不建议照 AecDbX3dPart 惰性化:m_arSubPrimPtrs 是持久化数据本体,
99 处引用、约 40 个读函数,且索引语义在解析前后会变;给出先量、
解析结果缓存、惰性化三步替代路径
|
2026-10-25 12:47:35 +08:00 |
|
gjm
|
f60cfb50bf
|
Merge pull request 'fix: GetInterface 数组版 bSizeUnLock 被 memset 清成 false' (#55) from company-desktop-computer/fix/ewequipment-sizelock into main
Reviewed-on: #55
Reviewed-by: gjm <littleoldpan@163.com>
|
2026-10-25 12:18:49 +08:00 |
|
company-desktop
|
e448dbacfd
|
fix: GetInterface 数组版 bSizeUnLock 被 memset 清成 false
inf.bSizeUnLock = true 原来写在循环外,循环内每次都 memset(&inf, 0, ...),
赋值被清掉,数组版返回的接口实际一直是"锁定"状态。
把赋值挪到 memset 之后;循环外那两行初始化(bSizeUnLock / dGasket)删掉,
memset 之后本来就是 0。
bSizeUnLock 目前只在 i_AecDbXEquipment.cpp 里序列化,没有读取判断的地方,
所以此前没暴露成故障。
|
2026-10-25 12:10:09 +08:00 |
|