fix: AcDbX3dSolid 正确性小修(失败留痕/缓存失效/GSMarker/死代码) #27

Merged
gjm merged 1 commits from company-desktop-computer/fix/x3dsolid-correctness AGit into main 2026-10-21 15:33:33 +08:00
Collaborator
  • StringToRegion 两个重载在 fixACISFormat 拒绝时打印长度与 SAT 首行,
    原来完全静默,现场只表现为构件消失,无法定位
  • ReCreate 统一失效绘制缓存:清 m_pSolidDraw、m_arRegionFaces、
    m_pSubDMeshDraw。原来只有 AddMove/ResetMove/AddRotate/ResetRotate 清,
    TransformBy/SetSolidData/SetOrgPoint 调完 ReCreate 后 Draw3d 仍画旧几何
  • GSMarker 改用独立成员 m_nGSMarker,不再借用 m_sszPoint2ds。
    后者在 kExtrude/kLoft/kSweep 里存断面/路径串,SetGSMarkerID 会覆盖成数字,
    导致 ReCreate 静默失败、几何丢失
  • 删除 GetDrawSubDMesh 中 return 之后的 28 行不可达代码
  • GetDraw2d / ByJson 补注释说明现状
- StringToRegion 两个重载在 fixACISFormat 拒绝时打印长度与 SAT 首行, 原来完全静默,现场只表现为构件消失,无法定位 - ReCreate 统一失效绘制缓存:清 m_pSolidDraw、m_arRegionFaces、 m_pSubDMeshDraw。原来只有 AddMove/ResetMove/AddRotate/ResetRotate 清, TransformBy/SetSolidData/SetOrgPoint 调完 ReCreate 后 Draw3d 仍画旧几何 - GSMarker 改用独立成员 m_nGSMarker,不再借用 m_sszPoint2ds。 后者在 kExtrude/kLoft/kSweep 里存断面/路径串,SetGSMarkerID 会覆盖成数字, 导致 ReCreate 静默失败、几何丢失 - 删除 GetDrawSubDMesh 中 return 之后的 28 行不可达代码 - GetDraw2d / ByJson 补注释说明现状
company-desktop-computer added 1 commit 2026-10-21 15:31:40 +08:00
- StringToRegion 两个重载在 fixACISFormat 拒绝时打印长度与 SAT 首行,
  原来完全静默,现场只表现为构件消失,无法定位
- ReCreate 统一失效绘制缓存:清 m_pSolidDraw、m_arRegionFaces、
  m_pSubDMeshDraw。原来只有 AddMove/ResetMove/AddRotate/ResetRotate 清,
  TransformBy/SetSolidData/SetOrgPoint 调完 ReCreate 后 Draw3d 仍画旧几何
- GSMarker 改用独立成员 m_nGSMarker,不再借用 m_sszPoint2ds。
  后者在 kExtrude/kLoft/kSweep 里存断面/路径串,SetGSMarkerID 会覆盖成数字,
  导致 ReCreate 静默失败、几何丢失
- 删除 GetDrawSubDMesh 中 return 之后的 28 行不可达代码
- GetDraw2d / ByJson 补注释说明现状
gjm approved these changes 2026-10-21 15:33:23 +08:00
gjm merged commit 5543ac42a2 into main 2026-10-21 15:33:33 +08:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gjm/envi-code#27