Files
cdsl-cad/docs/cdsl-format.md
T
2026-09-02 13:51:35 +08:00

2.6 KiB
Raw Blame History

CDSL 格式说明

CDSLcad.cdsl.llm.v1)是描述单个零件建模历史的 JSON 格式。当前版本为 1.1.0:先定义草图,再按依赖顺序定义基体、切除、孔和修饰等特征。

基本结构

根对象
|- 身份信息:schema、schema_version、kind、part_id、meta
|- geometry.sketches:二维草图及其三维工作平面
`- features:按依赖顺序执行的建模特征

下面的示例创建一个半径 20 mm、高 8 mm 的圆柱:

{
  "schema": "cad.cdsl.llm.v1",
  "schema_version": "1.1.0",
  "kind": "part",
  "part_id": "cylinder-001",
  "meta": {"unit": "mm"},
  "geometry": {
    "sketches": [
      {
        "id": "sk_base",
        "workplane": {
          "origin_mm": [0, 0, 0],
          "x_dir": [1, 0, 0],
          "normal": [0, 0, 1]
        },
        "profile": {
          "type": "circle",
          "center": [0, 0],
          "radius_mm": 20
        }
      }
    ]
  },
  "features": [
    {
      "id": "base_add",
      "atomic_id": "extrude_add_blind",
      "depends_on": [],
      "sketch_id": "sk_base",
      "params": {"distance_mm": 8},
      "execution_status": "supported"
    }
  ]
}

字段说明

部分 关键字段 含义
根对象 part_idmeta.unit 零件 IDv1.1 的单位固定为 mm
草图 idworkplaneprofile 草图 ID、所在平面和二维轮廓。工作平面使用三维坐标与方向;轮廓可为 circlepolygonanalytic_contours
特征 idatomic_idparams 特征 ID、操作类型及其尺寸/参数。
引用 sketch_iddepends_on sketch_id 引用草图;depends_on 指向必须先完成的特征。
拓扑选择 selectors 或参数内的选择器 对已有面、边、轴或基准面进行孔、圆角、倒角等操作时使用。

常见 atomic_idextrude_add_blind(拉伸增加)、extrude_cut_blind(拉伸切除)、revolve_add / revolve_cut(旋转)、hole_blind(孔)、fillet(圆角)、chamfer(倒角)、pattern_linear / pattern_mirror(阵列)。

编写规则

  • 所有长度字段使用 mm;二维点为草图平面坐标 [u, v],三维点/方向为 [x, y, z]
  • 草图和特征 ID 必须唯一。特征必须在其 depends_on 所引用的特征之后出现。
  • 拉伸和旋转需要 sketch_id;孔、圆角、倒角等操作通常需要选择已有的面或边。
  • execution_statussupporteddeferred;它记录导出状态,实际能否重建仍取决于当前引擎预检。