company-desktop-computer
|
cad5289fae
|
docs: 补阶段三的降级导出方案(新格式 → 老格式)
新增第 12 节。核心结论:降级不需要重建几何,容器里就是 acisOut 的 SAT
ASCII 字节,老 m_sScr 里也是同一批字节,解包后按老规则拼回即可,纯内存、
不调 acisIn、不落临时文件。
- 在 dwgOutFields 里做:AcDbX3dSolid 的持有关系分散在 X3dPart、X3dPartEntity
以及 Hanger/Roof/Stair 的 m_solids 缓存里,命令层遍历不全,但存盘时每个
实例必然走 dwgOutFields
- 进程级开关 + RAII 复位,只改写出内容,不改对象状态,导出后当前图仍是新格式
- MakeLegacyScr 按 3.2 的表分四类拼回,容器写出长度 0
- 12.6 指出 4.3.6「region 类型停写 m_sScr」与 kIntersect/kSliceSolid 的折线
后缀冲突,建议这两种类型继续只写折线后缀
- 12.8 记录限制:导出写的对象版本号是 4,只能被 kCurrentVersionNumber >= 4
的插件读取;版本号 3 的存量插件靠降级救不回来,需要另写 v3 布局
11.1、11.2、11.4 同步加交叉引用与状态行。
|
2026-10-22 13:26:51 +08:00 |
|
company-desktop-computer
|
e693e99f4c
|
docs: 修正 3.2 类型表,kIntersect/kSliceSolid 是 region + 折线
原表把 kIntersect(28)、kSliceSolid(29) 归为"2 个 region(外 + 内)",
实际 m_sScr 是 "regionSAT|折线文本":写端用 CurveToString 产出折线
(:2130、:2184),读端用 StringToPolyline 还原(:4403、:4441)。
按原表装容器,解包时第二个 acisIn 必然失败。容器只装 region,折线
部分不进容器。
同时补三条核对结论:切分取第一个 | 且 sScr2 保留分隔符;kSweep 的路径
在 m_sszPoint2ds 不在 m_sScr;降级导出要按这张表拼回。
|
2026-10-22 11:02:16 +08:00 |
|
company-desktop-computer
|
bed6556adf
|
docs: 明确阶段三单向兼容——老版看不到新图 region 几何
兼容方案定为第一项:不升 kCurrentVersionNumber,新版能完整读旧版图纸,
旧版打开新图时 region 类型的 AcDbX3dSolid 几何不可见。
补充说明 m_pSatBuffer 在旧版也会原样读写,所以旧版另存后回新版仍能恢复;
非 region 类型(点串、SubDMesh、管廊脚本)不受影响。
文档开头的原则、4.3.4 的不升版本理由同步。
|
2026-10-22 10:43:45 +08:00 |
|
company-desktop-computer
|
fbb2ca8890
|
docs: 阶段三暂缓,补兼容取舍与已核对的技术前提
- 新增第 11 节:阶段三暂缓的决定、三个兼容选项的后果、重启前必须先定的事
- 修正过时内容:kCurrentVersionNumber 实际是 4;不需要新增
CoreTools::RegionToBuffer,现有 RegionToString(char*&) 已输出 ASCII 字节
- 写入点、读取点表格按当前 main 行号更新,标注以函数名定位
- 4.3 开头注明阶段一、二已合并,阶段三暂缓
|
2026-10-22 10:38:35 +08:00 |
|
company-desktop-computer
|
e65eba26c8
|
docs: 新增 AcDbX3dSolid 重构计划
- 现状:m_sScr 用 CString 存 ACIS SAT,UTF-16 导致体积翻倍;临时文件名写死;开图逐单元走临时文件
- 否决方案:存构建曲线、自写 AcDbDwgFiler、持有 AcDbRegion 对象、隐藏 BTR、zlib 压缩
- 采用方案:SAT 的 ASCII 字节流存进 m_pSatBuffer(RegionBlobHeader + 长度前缀)
- 三阶段:临时文件唯一化 -> 懒重建 -> region 数据二进制化
- 兼容策略:读兼容老图纸(m_sScr / 0x00c1 切分),写入统一新格式,不自动迁移
- 公开 CString 接口签名不变,内部转换
- kLoftReducer 纳入统一容器;kEarthWorm/kSHEarthWorm 已废弃但 m_sScr 字段暂不删除
|
2026-10-20 16:20:48 +08:00 |
|