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

- 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 补注释说明现状
This commit is contained in:
company-desktop-computer committed 2026-10-21 15:31:27 +08:00
1 parent 10d1fc00c8
commit f80ec56189
3 files changed
+54 -45

No files matched your search

+1
View File
@@ -244,6 +244,7 @@ protected:
AcGeVector3d m_vtDirXY;
float m_fStair[3]; //
Adesk::Int32 m_nKind; //类型
Adesk::Int32 m_nGSMarker; //GSMarker,不序列化.不能与 m_sszPoint2ds 共用,后者在拉伸/放样/扫掠时存几何
//变换部分
AcGeVector3d m_vtMove; //总移动