Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
318 changes: 318 additions & 0 deletions modeling-cmds/openapi/api.json
Original file line number Diff line number Diff line change
Expand Up @@ -665,6 +665,65 @@
}
]
},
"AssemblyConstraint": {
"description": "How to constrain bodies in an assembly.",
"oneOf": [
{
"description": "Makes two entities occupy the same line/plane or places a point on a surface.",
"type": "object",
"properties": {
"coincident": {
"type": "object",
"properties": {
"targets": {
"description": "IDs of two mate frames in the assembly.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"minItems": 2,
"maxItems": 2
}
},
"required": [
"targets"
]
}
},
"required": [
"coincident"
],
"additionalProperties": false
},
{
"description": "Aligns cylindrical, conical, or spherical surfaces to a common center.",
"type": "object",
"properties": {
"concentric": {
"type": "object",
"properties": {
"targets": {
"description": "Which edge? IDs of two mate frames in the assembly. Must be >= 2 items.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
}
},
"required": [
"targets"
]
}
},
"required": [
"concentric"
],
"additionalProperties": false
}
]
},
"Axis": {
"description": "Co-ordinate axis specifier.\n\nSee [cglearn.eu] for background reading.\n\n[cglearn.eu]: https://cglearn.eu/pub/computer-graphics/introduction-to-geometry#material-coordinate-systems-1",
"oneOf": [
Expand Down Expand Up @@ -2532,6 +2591,78 @@
"type": "number",
"format": "double"
},
"MateFrameOn": {
"description": "What to create a mate frame on",
"oneOf": [
{
"description": "Mate frame at the centroid of this face.",
"type": "object",
"properties": {
"face_centroid": {
"type": "object",
"properties": {
"where_on_face": {
"description": "Where on the given face?",
"allOf": [
{
"$ref": "#/components/schemas/PointOnFace"
}
]
},
"which_face": {
"description": "Which face?",
"type": "string",
"format": "uuid"
}
},
"required": [
"where_on_face",
"which_face"
]
}
},
"required": [
"face_centroid"
],
"additionalProperties": false
},
{
"description": "Mate frame along this edge.",
"type": "object",
"properties": {
"edge": {
"type": "object",
"properties": {
"where_on_edge": {
"description": "Where on the given edge?",
"allOf": [
{
"$ref": "#/components/schemas/WhereOnEdge"
}
]
},
"which_edge": {
"description": "Which edge?",
"allOf": [
{
"$ref": "#/components/schemas/EdgeSpecifier"
}
]
}
},
"required": [
"where_on_edge",
"which_edge"
]
}
},
"required": [
"edge"
],
"additionalProperties": false
}
]
},
"MbdSymbol": {
"description": "MBD symbol type",
"type": "string",
Expand Down Expand Up @@ -8190,6 +8321,99 @@
"path_id",
"type"
]
},
{
"description": "Create a new assembly",
"type": "object",
"properties": {
"children": {
"description": "Which entities, if any, to move into this assembly.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"type": {
"type": "string",
"enum": [
"assembly_create"
]
}
},
"required": [
"type"
]
},
{
"description": "Add children to the assembly",
"type": "object",
"properties": {
"children": {
"description": "Which entities, to move into this assembly.",
"type": "array",
"items": {
"type": "string",
"format": "uuid"
}
},
"type": {
"type": "string",
"enum": [
"assembly_add_children"
]
}
},
"required": [
"type"
]
},
{
"description": "Create a mate frame",
"type": "object",
"properties": {
"on": {
"description": "What to create the mate frame on.",
"allOf": [
{
"$ref": "#/components/schemas/MateFrameOn"
}
]
},
"type": {
"type": "string",
"enum": [
"mate_frame_create"
]
}
},
"required": [
"on",
"type"
]
},
{
"description": "Add constraints to an assembly.",
"type": "object",
"properties": {
"constraints": {
"description": "Which constraints to apply.",
"type": "array",
"items": {
"$ref": "#/components/schemas/AssemblyConstraint"
}
},
"type": {
"type": "string",
"enum": [
"assembly_add_constraints"
]
}
},
"required": [
"constraints",
"type"
]
}
]
},
Expand Down Expand Up @@ -9118,6 +9342,57 @@
"z"
]
},
"PointOnFace": {
"description": "Identifies a point on a specific face.",
"oneOf": [
{
"description": "Centermost point of the face.",
"type": "object",
"properties": {
"centroid": {
"type": "object"
}
},
"required": [
"centroid"
],
"additionalProperties": false
},
{
"description": "Somewhere along the face.",
"type": "object",
"properties": {
"at_parameter": {
"type": "object",
"properties": {
"u": {
"description": "Value for the face's 2D parametric equation.",
"type": "number",
"format": "double",
"minimum": 0.0,
"maximum": 1.0
},
"v": {
"description": "Value for the face's 2D parametric equation.",
"type": "number",
"format": "double",
"minimum": 0.0,
"maximum": 1.0
}
},
"required": [
"u",
"v"
]
}
},
"required": [
"at_parameter"
],
"additionalProperties": false
}
]
},
"PrimitiveTopologyFallback": {
"description": "Optional fallback when primary UUIDs are missing from the client artifact graph (e.g. stale or engine-only ids). Identifies the same topology via a **parent** entity UUID and a **primitive index** on that parent.\n\nSemantics by selection kind (aligned with engine BREP topology):\n\n- **Face / Edge (3D)**: `parent_id` is the owning [`EntityType::Solid3D`] body UUID; `primitive_index` matches the index returned by **EntityGetPrimitiveIndex** for that face or edge (and matches **EntityGetParentId** → parent + **EntityGetPrimitiveIndex** → index). - **Vertex (3D)**: same `parent_id` (solid); `primitive_index` is the BREP vertex index on that solid. - **Solid2dEdge**: `parent_id` is the **Solid2D** profile UUID; `primitive_index` is the curve index within that profile. - **Segment**: `parent_id` is the **Path** UUID; `primitive_index` is the curve index within that path.\n\nOther [`EntityReference`] variants may omit this field or leave it unset when not applicable.",
"type": "object",
Expand Down Expand Up @@ -10178,6 +10453,49 @@
}
]
},
"WhereOnEdge": {
"description": "Identifies a point on a specific edge.",
"oneOf": [
{
"description": "Midpoint along the edge.",
"type": "object",
"properties": {
"midpoint": {
"type": "object"
}
},
"required": [
"midpoint"
],
"additionalProperties": false
},
{
"description": "Somewhere along the edge's length.",
"type": "object",
"properties": {
"at_parameter": {
"type": "object",
"properties": {
"t": {
"description": "Value which, substituted into the edge's parametric equation, gives a point. Must be between 0 and 1 (inclusive).",
"type": "number",
"format": "double",
"minimum": 0.0,
"maximum": 1.0
}
},
"required": [
"t"
]
}
},
"required": [
"at_parameter"
],
"additionalProperties": false
}
]
},
"WorldCoordinateSystem": {
"type": "string",
"enum": [
Expand Down
Loading