Update api spec (#433)
* YOYO NEW API SPEC! * I have generated the latest API! --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
2fd4d315db
commit
06a646e558
File diff suppressed because it is too large
Load Diff
@ -52,6 +52,7 @@ from .cluster import Cluster
|
|||||||
from .code_language import CodeLanguage
|
from .code_language import CodeLanguage
|
||||||
from .code_output import CodeOutput
|
from .code_output import CodeOutput
|
||||||
from .color import Color
|
from .color import Color
|
||||||
|
from .complementary_edges import ComplementaryEdges
|
||||||
from .component_transform import ComponentTransform
|
from .component_transform import ComponentTransform
|
||||||
from .connection import Connection
|
from .connection import Connection
|
||||||
from .country_code import CountryCode
|
from .country_code import CountryCode
|
||||||
@ -67,6 +68,7 @@ from .curve_set_constraint import CurveSetConstraint
|
|||||||
from .curve_type import CurveType
|
from .curve_type import CurveType
|
||||||
from .customer import Customer
|
from .customer import Customer
|
||||||
from .customer_balance import CustomerBalance
|
from .customer_balance import CustomerBalance
|
||||||
|
from .cut_strategy import CutStrategy
|
||||||
from .cut_type import CutType
|
from .cut_type import CutType
|
||||||
from .default_camera_center_to_scene import DefaultCameraCenterToScene
|
from .default_camera_center_to_scene import DefaultCameraCenterToScene
|
||||||
from .default_camera_center_to_selection import DefaultCameraCenterToSelection
|
from .default_camera_center_to_selection import DefaultCameraCenterToSelection
|
||||||
@ -131,6 +133,7 @@ from .extrude import Extrude
|
|||||||
from .extruded_face_info import ExtrudedFaceInfo
|
from .extruded_face_info import ExtrudedFaceInfo
|
||||||
from .extrusion_face_cap_type import ExtrusionFaceCapType
|
from .extrusion_face_cap_type import ExtrusionFaceCapType
|
||||||
from .extrusion_face_info import ExtrusionFaceInfo
|
from .extrusion_face_info import ExtrusionFaceInfo
|
||||||
|
from .face_edge_info import FaceEdgeInfo
|
||||||
from .face_get_center import FaceGetCenter
|
from .face_get_center import FaceGetCenter
|
||||||
from .face_get_gradient import FaceGetGradient
|
from .face_get_gradient import FaceGetGradient
|
||||||
from .face_get_position import FaceGetPosition
|
from .face_get_position import FaceGetPosition
|
||||||
@ -304,10 +307,12 @@ from .solid3d_get_all_edge_faces import Solid3dGetAllEdgeFaces
|
|||||||
from .solid3d_get_all_opposite_edges import Solid3dGetAllOppositeEdges
|
from .solid3d_get_all_opposite_edges import Solid3dGetAllOppositeEdges
|
||||||
from .solid3d_get_common_edge import Solid3dGetCommonEdge
|
from .solid3d_get_common_edge import Solid3dGetCommonEdge
|
||||||
from .solid3d_get_extrusion_face_info import Solid3dGetExtrusionFaceInfo
|
from .solid3d_get_extrusion_face_info import Solid3dGetExtrusionFaceInfo
|
||||||
|
from .solid3d_get_info import Solid3dGetInfo
|
||||||
from .solid3d_get_next_adjacent_edge import Solid3dGetNextAdjacentEdge
|
from .solid3d_get_next_adjacent_edge import Solid3dGetNextAdjacentEdge
|
||||||
from .solid3d_get_opposite_edge import Solid3dGetOppositeEdge
|
from .solid3d_get_opposite_edge import Solid3dGetOppositeEdge
|
||||||
from .solid3d_get_prev_adjacent_edge import Solid3dGetPrevAdjacentEdge
|
from .solid3d_get_prev_adjacent_edge import Solid3dGetPrevAdjacentEdge
|
||||||
from .solid3d_shell_face import Solid3dShellFace
|
from .solid3d_shell_face import Solid3dShellFace
|
||||||
|
from .solid_info import SolidInfo
|
||||||
from .source_position import SourcePosition
|
from .source_position import SourcePosition
|
||||||
from .source_range import SourceRange
|
from .source_range import SourceRange
|
||||||
from .source_range_prompt import SourceRangePrompt
|
from .source_range_prompt import SourceRangePrompt
|
||||||
|
13
kittycad/models/complementary_edges.py
Normal file
13
kittycad/models/complementary_edges.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
from typing import List, Optional
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
|
||||||
|
class ComplementaryEdges(BaseModel):
|
||||||
|
"""Struct to contain the edge information of a wall of an extrude/rotate/loft/sweep."""
|
||||||
|
|
||||||
|
adjacent_ids: List[str]
|
||||||
|
|
||||||
|
opposite_id: Optional[str] = None
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
15
kittycad/models/cut_strategy.py
Normal file
15
kittycad/models/cut_strategy.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class CutStrategy(str, Enum):
|
||||||
|
"""What strategy (algorithm) should be used for cutting? Defaults to Automatic.""" # noqa: E501
|
||||||
|
|
||||||
|
"""# Basic fillet cut. This has limitations, like the filletted edges can't touch each other. But it's very fast and simple. """ # noqa: E501
|
||||||
|
BASIC = "basic"
|
||||||
|
"""# More complicated fillet cut. It works for more use-cases, like edges that touch each other. But it's slower than the Basic method. """ # noqa: E501
|
||||||
|
CSG = "csg"
|
||||||
|
"""# Tries the Basic method, and if that doesn't work, tries the CSG strategy. """ # noqa: E501
|
||||||
|
AUTOMATIC = "automatic"
|
||||||
|
|
||||||
|
def __str__(self) -> str:
|
||||||
|
return str(self.value)
|
@ -1,11 +1,15 @@
|
|||||||
from typing import List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityCircularPattern(BaseModel):
|
class EntityCircularPattern(BaseModel):
|
||||||
"""The response from the `EntityCircularPattern` command."""
|
"""The response from the `EntityCircularPattern` command."""
|
||||||
|
|
||||||
entity_ids: List[str]
|
entity_face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityClone(BaseModel):
|
class EntityClone(BaseModel):
|
||||||
"""The response from the `EntityClone` command."""
|
"""The response from the `EntityClone` command."""
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
|
face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
from typing import List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityLinearPattern(BaseModel):
|
class EntityLinearPattern(BaseModel):
|
||||||
"""The response from the `EntityLinearPattern` command."""
|
"""The response from the `EntityLinearPattern` command."""
|
||||||
|
|
||||||
entity_ids: List[str]
|
entity_face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
from typing import List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityLinearPatternTransform(BaseModel):
|
class EntityLinearPatternTransform(BaseModel):
|
||||||
"""The response from the `EntityLinearPatternTransform` command."""
|
"""The response from the `EntityLinearPatternTransform` command."""
|
||||||
|
|
||||||
entity_ids: List[str]
|
entity_face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
from typing import List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityMirror(BaseModel):
|
class EntityMirror(BaseModel):
|
||||||
"""The response from the `EntityMirror` endpoint."""
|
"""The response from the `EntityMirror` endpoint."""
|
||||||
|
|
||||||
entity_ids: List[str]
|
entity_face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
@ -1,11 +1,15 @@
|
|||||||
from typing import List
|
from typing import List, Optional
|
||||||
|
|
||||||
from pydantic import BaseModel, ConfigDict
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
|
|
||||||
|
|
||||||
class EntityMirrorAcrossEdge(BaseModel):
|
class EntityMirrorAcrossEdge(BaseModel):
|
||||||
"""The response from the `EntityMirrorAcrossEdge` endpoint."""
|
"""The response from the `EntityMirrorAcrossEdge` endpoint."""
|
||||||
|
|
||||||
entity_ids: List[str]
|
entity_face_edge_ids: Optional[List[FaceEdgeInfo]] = None
|
||||||
|
|
||||||
|
entity_ids: Optional[List[str]] = None
|
||||||
|
|
||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
15
kittycad/models/face_edge_info.py
Normal file
15
kittycad/models/face_edge_info.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from typing import List
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
|
||||||
|
class FaceEdgeInfo(BaseModel):
|
||||||
|
"""Faces and edges id info (most used in identifying geometry in patterned and mirrored objects)."""
|
||||||
|
|
||||||
|
edges: List[str]
|
||||||
|
|
||||||
|
faces: List[str]
|
||||||
|
|
||||||
|
object_id: str
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
@ -11,6 +11,7 @@ from ..models.camera_movement import CameraMovement
|
|||||||
from ..models.camera_view_state import CameraViewState
|
from ..models.camera_view_state import CameraViewState
|
||||||
from ..models.color import Color
|
from ..models.color import Color
|
||||||
from ..models.component_transform import ComponentTransform
|
from ..models.component_transform import ComponentTransform
|
||||||
|
from ..models.cut_strategy import CutStrategy
|
||||||
from ..models.cut_type import CutType
|
from ..models.cut_type import CutType
|
||||||
from ..models.distance_type import DistanceType
|
from ..models.distance_type import DistanceType
|
||||||
from ..models.entity_type import EntityType
|
from ..models.entity_type import EntityType
|
||||||
@ -817,12 +818,18 @@ class OptionSolid3DFilletEdge(BaseModel):
|
|||||||
|
|
||||||
cut_type: CutType = "fillet" # type: ignore
|
cut_type: CutType = "fillet" # type: ignore
|
||||||
|
|
||||||
edge_id: str
|
edge_id: Optional[str] = None
|
||||||
|
|
||||||
|
edge_ids: List[str] = []
|
||||||
|
|
||||||
|
extra_face_ids: List[str] = []
|
||||||
|
|
||||||
object_id: str
|
object_id: str
|
||||||
|
|
||||||
radius: LengthUnit
|
radius: LengthUnit
|
||||||
|
|
||||||
|
strategy: CutStrategy = "automatic" # type: ignore
|
||||||
|
|
||||||
tolerance: LengthUnit
|
tolerance: LengthUnit
|
||||||
|
|
||||||
type: Literal["solid3d_fillet_edge"] = "solid3d_fillet_edge"
|
type: Literal["solid3d_fillet_edge"] = "solid3d_fillet_edge"
|
||||||
@ -1486,6 +1493,16 @@ class OptionSolid3DGetExtrusionFaceInfo(BaseModel):
|
|||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
|
class OptionSolid3DGetInfo(BaseModel):
|
||||||
|
"""Get a concise description of all of solids edges."""
|
||||||
|
|
||||||
|
object_id: str
|
||||||
|
|
||||||
|
type: Literal["solid3d_get_info"] = "solid3d_get_info"
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
class OptionSelectClear(BaseModel):
|
class OptionSelectClear(BaseModel):
|
||||||
"""Clear the selection"""
|
"""Clear the selection"""
|
||||||
|
|
||||||
@ -1718,6 +1735,7 @@ ModelingCmd = RootModel[
|
|||||||
OptionOrientToFace,
|
OptionOrientToFace,
|
||||||
OptionViewIsometric,
|
OptionViewIsometric,
|
||||||
OptionSolid3DGetExtrusionFaceInfo,
|
OptionSolid3DGetExtrusionFaceInfo,
|
||||||
|
OptionSolid3DGetInfo,
|
||||||
OptionSelectClear,
|
OptionSelectClear,
|
||||||
OptionSelectGet,
|
OptionSelectGet,
|
||||||
OptionGetNumObjects,
|
OptionGetNumObjects,
|
||||||
|
@ -12,6 +12,7 @@ from ..models.camera_drag_move import CameraDragMove
|
|||||||
from ..models.camera_drag_start import CameraDragStart
|
from ..models.camera_drag_start import CameraDragStart
|
||||||
from ..models.center_of_mass import CenterOfMass
|
from ..models.center_of_mass import CenterOfMass
|
||||||
from ..models.close_path import ClosePath
|
from ..models.close_path import ClosePath
|
||||||
|
from ..models.complementary_edges import ComplementaryEdges
|
||||||
from ..models.curve_get_control_points import CurveGetControlPoints
|
from ..models.curve_get_control_points import CurveGetControlPoints
|
||||||
from ..models.curve_get_end_points import CurveGetEndPoints
|
from ..models.curve_get_end_points import CurveGetEndPoints
|
||||||
from ..models.curve_get_type import CurveGetType
|
from ..models.curve_get_type import CurveGetType
|
||||||
@ -58,6 +59,7 @@ from ..models.export3d import Export3d
|
|||||||
from ..models.extend_path import ExtendPath
|
from ..models.extend_path import ExtendPath
|
||||||
from ..models.extrude import Extrude
|
from ..models.extrude import Extrude
|
||||||
from ..models.extrusion_face_info import ExtrusionFaceInfo
|
from ..models.extrusion_face_info import ExtrusionFaceInfo
|
||||||
|
from ..models.face_edge_info import FaceEdgeInfo
|
||||||
from ..models.face_get_center import FaceGetCenter
|
from ..models.face_get_center import FaceGetCenter
|
||||||
from ..models.face_get_gradient import FaceGetGradient
|
from ..models.face_get_gradient import FaceGetGradient
|
||||||
from ..models.face_get_position import FaceGetPosition
|
from ..models.face_get_position import FaceGetPosition
|
||||||
@ -123,10 +125,12 @@ from ..models.solid3d_get_all_edge_faces import Solid3dGetAllEdgeFaces
|
|||||||
from ..models.solid3d_get_all_opposite_edges import Solid3dGetAllOppositeEdges
|
from ..models.solid3d_get_all_opposite_edges import Solid3dGetAllOppositeEdges
|
||||||
from ..models.solid3d_get_common_edge import Solid3dGetCommonEdge
|
from ..models.solid3d_get_common_edge import Solid3dGetCommonEdge
|
||||||
from ..models.solid3d_get_extrusion_face_info import Solid3dGetExtrusionFaceInfo
|
from ..models.solid3d_get_extrusion_face_info import Solid3dGetExtrusionFaceInfo
|
||||||
|
from ..models.solid3d_get_info import Solid3dGetInfo
|
||||||
from ..models.solid3d_get_next_adjacent_edge import Solid3dGetNextAdjacentEdge
|
from ..models.solid3d_get_next_adjacent_edge import Solid3dGetNextAdjacentEdge
|
||||||
from ..models.solid3d_get_opposite_edge import Solid3dGetOppositeEdge
|
from ..models.solid3d_get_opposite_edge import Solid3dGetOppositeEdge
|
||||||
from ..models.solid3d_get_prev_adjacent_edge import Solid3dGetPrevAdjacentEdge
|
from ..models.solid3d_get_prev_adjacent_edge import Solid3dGetPrevAdjacentEdge
|
||||||
from ..models.solid3d_shell_face import Solid3dShellFace
|
from ..models.solid3d_shell_face import Solid3dShellFace
|
||||||
|
from ..models.solid_info import SolidInfo
|
||||||
from ..models.start_path import StartPath
|
from ..models.start_path import StartPath
|
||||||
from ..models.surface_area import SurfaceArea
|
from ..models.surface_area import SurfaceArea
|
||||||
from ..models.sweep import Sweep
|
from ..models.sweep import Sweep
|
||||||
@ -1301,6 +1305,16 @@ class OptionEntityGetDistance(BaseModel):
|
|||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
|
class OptionFaceEdgeInfo(BaseModel):
|
||||||
|
""""""
|
||||||
|
|
||||||
|
data: FaceEdgeInfo
|
||||||
|
|
||||||
|
type: Literal["face_edge_info"] = "face_edge_info"
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
class OptionEntityClone(BaseModel):
|
class OptionEntityClone(BaseModel):
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
@ -1411,6 +1425,36 @@ class OptionExtrusionFaceInfo(BaseModel):
|
|||||||
model_config = ConfigDict(protected_namespaces=())
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
|
class OptionComplementaryEdges(BaseModel):
|
||||||
|
""""""
|
||||||
|
|
||||||
|
data: ComplementaryEdges
|
||||||
|
|
||||||
|
type: Literal["complementary_edges"] = "complementary_edges"
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
|
class OptionSolid3DGetInfo(BaseModel):
|
||||||
|
""""""
|
||||||
|
|
||||||
|
data: Solid3dGetInfo
|
||||||
|
|
||||||
|
type: Literal["solid3d_get_info"] = "solid3d_get_info"
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
|
class OptionSolidInfo(BaseModel):
|
||||||
|
""""""
|
||||||
|
|
||||||
|
data: SolidInfo
|
||||||
|
|
||||||
|
type: Literal["solid_info"] = "solid_info"
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
||||||
|
|
||||||
|
|
||||||
class OptionSetGridReferencePlane(BaseModel):
|
class OptionSetGridReferencePlane(BaseModel):
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
@ -1570,6 +1614,7 @@ OkModelingCmdResponse = RootModel[
|
|||||||
OptionCenterOfMass,
|
OptionCenterOfMass,
|
||||||
OptionGetSketchModePlane,
|
OptionGetSketchModePlane,
|
||||||
OptionEntityGetDistance,
|
OptionEntityGetDistance,
|
||||||
|
OptionFaceEdgeInfo,
|
||||||
OptionEntityClone,
|
OptionEntityClone,
|
||||||
OptionEntityLinearPatternTransform,
|
OptionEntityLinearPatternTransform,
|
||||||
OptionEntityLinearPattern,
|
OptionEntityLinearPattern,
|
||||||
@ -1581,6 +1626,9 @@ OkModelingCmdResponse = RootModel[
|
|||||||
OptionEntityMakeHelixFromEdge,
|
OptionEntityMakeHelixFromEdge,
|
||||||
OptionSolid3DGetExtrusionFaceInfo,
|
OptionSolid3DGetExtrusionFaceInfo,
|
||||||
OptionExtrusionFaceInfo,
|
OptionExtrusionFaceInfo,
|
||||||
|
OptionComplementaryEdges,
|
||||||
|
OptionSolid3DGetInfo,
|
||||||
|
OptionSolidInfo,
|
||||||
OptionSetGridReferencePlane,
|
OptionSetGridReferencePlane,
|
||||||
OptionBooleanUnion,
|
OptionBooleanUnion,
|
||||||
OptionBooleanIntersection,
|
OptionBooleanIntersection,
|
||||||
|
11
kittycad/models/solid3d_get_info.py
Normal file
11
kittycad/models/solid3d_get_info.py
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.solid_info import SolidInfo
|
||||||
|
|
||||||
|
|
||||||
|
class Solid3dGetInfo(BaseModel):
|
||||||
|
"""Extrusion face info struct (useful for maintaining mappings between source path segment ids and extrusion faces)"""
|
||||||
|
|
||||||
|
info: SolidInfo
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
19
kittycad/models/solid_info.py
Normal file
19
kittycad/models/solid_info.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
from typing import Dict, List, Optional
|
||||||
|
|
||||||
|
from pydantic import BaseModel, ConfigDict
|
||||||
|
|
||||||
|
from ..models.complementary_edges import ComplementaryEdges
|
||||||
|
|
||||||
|
|
||||||
|
class SolidInfo(BaseModel):
|
||||||
|
"""Solid info struct (useful for maintaining mappings between edges and faces and adjacent/opposite edges)."""
|
||||||
|
|
||||||
|
bottom_cap_id: Optional[str] = None
|
||||||
|
|
||||||
|
common_edges: Dict[str, List[str]]
|
||||||
|
|
||||||
|
complementary_edges: Dict[str, ComplementaryEdges]
|
||||||
|
|
||||||
|
top_cap_id: Optional[str] = None
|
||||||
|
|
||||||
|
model_config = ConfigDict(protected_namespaces=())
|
339
spec.json
339
spec.json
@ -19258,6 +19258,29 @@
|
|||||||
"r"
|
"r"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"ComplementaryEdges": {
|
||||||
|
"description": "Struct to contain the edge information of a wall of an extrude/rotate/loft/sweep.",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"adjacent_ids": {
|
||||||
|
"description": "Every edge that shared one common vertex with the original edge.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"opposite_id": {
|
||||||
|
"nullable": true,
|
||||||
|
"description": "The opposite edge has no common vertices with the original edge. A wall may not have an opposite edge (i.e. a revolve that touches the axis of rotation).",
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"adjacent_ids"
|
||||||
|
]
|
||||||
|
},
|
||||||
"ComponentTransform": {
|
"ComponentTransform": {
|
||||||
"description": "Container that holds a translate, rotate and scale. Defaults to no change, everything stays the same (i.e. the identity function).",
|
"description": "Container that holds a translate, rotate and scale. Defaults to no change, everything stays the same (i.e. the identity function).",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -19986,6 +20009,32 @@
|
|||||||
"updated_at"
|
"updated_at"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"CutStrategy": {
|
||||||
|
"description": "What strategy (algorithm) should be used for cutting? Defaults to Automatic.",
|
||||||
|
"oneOf": [
|
||||||
|
{
|
||||||
|
"description": "Basic fillet cut. This has limitations, like the filletted edges can't touch each other. But it's very fast and simple.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"basic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "More complicated fillet cut. It works for more use-cases, like edges that touch each other. But it's slower than the Basic method.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"csg"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": "Tries the Basic method, and if that doesn't work, tries the CSG strategy.",
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"automatic"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"CutType": {
|
"CutType": {
|
||||||
"description": "What kind of cut to do",
|
"description": "What kind of cut to do",
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
@ -20442,6 +20491,13 @@
|
|||||||
"description": "The response from the `EntityCircularPattern` command.",
|
"description": "The response from the `EntityCircularPattern` command.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"entity_face_edge_ids": {
|
||||||
|
"description": "The Face, edge, and entity ids of the patterned entities.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"entity_ids": {
|
"entity_ids": {
|
||||||
"description": "The UUIDs of the entities that were created.",
|
"description": "The UUIDs of the entities that were created.",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -20450,14 +20506,28 @@
|
|||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"required": [
|
|
||||||
"entity_ids"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"EntityClone": {
|
"EntityClone": {
|
||||||
"description": "The response from the `EntityClone` command.",
|
"description": "The response from the `EntityClone` command.",
|
||||||
"type": "object"
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"entity_ids": {
|
||||||
|
"description": "The UUIDs of the entities that were created.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"face_edge_ids": {
|
||||||
|
"description": "The Face and Edge Ids of the cloned entity.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"EntityFade": {
|
"EntityFade": {
|
||||||
"description": "The response from the `EntityFade` endpoint.",
|
"description": "The response from the `EntityFade` endpoint.",
|
||||||
@ -20570,6 +20640,13 @@
|
|||||||
"description": "The response from the `EntityLinearPattern` command.",
|
"description": "The response from the `EntityLinearPattern` command.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"entity_face_edge_ids": {
|
||||||
|
"description": "The Face, edge, and entity ids of the patterned entities.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"entity_ids": {
|
"entity_ids": {
|
||||||
"description": "The UUIDs of the entities that were created.",
|
"description": "The UUIDs of the entities that were created.",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -20578,15 +20655,19 @@
|
|||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"required": [
|
|
||||||
"entity_ids"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"EntityLinearPatternTransform": {
|
"EntityLinearPatternTransform": {
|
||||||
"description": "The response from the `EntityLinearPatternTransform` command.",
|
"description": "The response from the `EntityLinearPatternTransform` command.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"entity_face_edge_ids": {
|
||||||
|
"description": "The Face, edge, and entity ids of the patterned entities.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"entity_ids": {
|
"entity_ids": {
|
||||||
"description": "The UUIDs of the entities that were created.",
|
"description": "The UUIDs of the entities that were created.",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -20595,10 +20676,7 @@
|
|||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"required": [
|
|
||||||
"entity_ids"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"EntityMakeHelix": {
|
"EntityMakeHelix": {
|
||||||
"description": "The response from the `EntityMakeHelix` endpoint.",
|
"description": "The response from the `EntityMakeHelix` endpoint.",
|
||||||
@ -20616,6 +20694,13 @@
|
|||||||
"description": "The response from the `EntityMirror` endpoint.",
|
"description": "The response from the `EntityMirror` endpoint.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"entity_face_edge_ids": {
|
||||||
|
"description": "The Face, edge, and entity ids of the patterned entities.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"entity_ids": {
|
"entity_ids": {
|
||||||
"description": "The UUIDs of the entities that were created.",
|
"description": "The UUIDs of the entities that were created.",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -20624,15 +20709,19 @@
|
|||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"required": [
|
|
||||||
"entity_ids"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"EntityMirrorAcrossEdge": {
|
"EntityMirrorAcrossEdge": {
|
||||||
"description": "The response from the `EntityMirrorAcrossEdge` endpoint.",
|
"description": "The response from the `EntityMirrorAcrossEdge` endpoint.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"entity_face_edge_ids": {
|
||||||
|
"description": "The Face, edge, and entity ids of the patterned entities.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
"entity_ids": {
|
"entity_ids": {
|
||||||
"description": "The UUIDs of the entities that were created.",
|
"description": "The UUIDs of the entities that were created.",
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -20641,10 +20730,7 @@
|
|||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
"required": [
|
|
||||||
"entity_ids"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"EntitySetOpacity": {
|
"EntitySetOpacity": {
|
||||||
"description": "The response from the `EntitySetOpacity` endpoint.",
|
"description": "The response from the `EntitySetOpacity` endpoint.",
|
||||||
@ -21162,6 +21248,38 @@
|
|||||||
"cap"
|
"cap"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"FaceEdgeInfo": {
|
||||||
|
"description": "Faces and edges id info (most used in identifying geometry in patterned and mirrored objects).",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"edges": {
|
||||||
|
"description": "The edges of each object.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"faces": {
|
||||||
|
"description": "The faces of each object.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"object_id": {
|
||||||
|
"description": "The UUID of the object.",
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"edges",
|
||||||
|
"faces",
|
||||||
|
"object_id"
|
||||||
|
]
|
||||||
|
},
|
||||||
"FaceGetCenter": {
|
"FaceGetCenter": {
|
||||||
"description": "The 3D center of mass on the surface",
|
"description": "The 3D center of mass on the surface",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -25958,10 +26076,29 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"edge_id": {
|
"edge_id": {
|
||||||
|
"nullable": true,
|
||||||
"description": "Which edge you want to fillet.",
|
"description": "Which edge you want to fillet.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "uuid"
|
"format": "uuid"
|
||||||
},
|
},
|
||||||
|
"edge_ids": {
|
||||||
|
"description": "Which edges you want to fillet.",
|
||||||
|
"default": [],
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extra_face_ids": {
|
||||||
|
"description": "What IDs should the resulting faces have? If you've only passed one edge ID, its ID will be the command ID used to send this command, and this field should be empty. If you've passed `n` IDs (to fillet `n` edges), then this should be length `n-1`, and the first edge will use the command ID used to send this command.",
|
||||||
|
"default": [],
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
"object_id": {
|
"object_id": {
|
||||||
"description": "Which object is being filletted.",
|
"description": "Which object is being filletted.",
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -25975,6 +26112,15 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"strategy": {
|
||||||
|
"description": "Which cutting algorithm to use.",
|
||||||
|
"default": "automatic",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/CutStrategy"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"tolerance": {
|
"tolerance": {
|
||||||
"description": "The maximum acceptable surface gap computed between the filleted surfaces. Must be positive (i.e. greater than zero).",
|
"description": "The maximum acceptable surface gap computed between the filleted surfaces. Must be positive (i.e. greater than zero).",
|
||||||
"allOf": [
|
"allOf": [
|
||||||
@ -25991,7 +26137,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"required": [
|
"required": [
|
||||||
"edge_id",
|
|
||||||
"object_id",
|
"object_id",
|
||||||
"radius",
|
"radius",
|
||||||
"tolerance",
|
"tolerance",
|
||||||
@ -27568,6 +27713,27 @@
|
|||||||
"type"
|
"type"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"description": "Get a concise description of all of solids edges.",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"object_id": {
|
||||||
|
"description": "The Solid3d object whose info is being queried.",
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"solid3d_get_info"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"object_id",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"description": "Clear the selection",
|
"description": "Clear the selection",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -30063,6 +30229,24 @@
|
|||||||
"type"
|
"type"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"$ref": "#/components/schemas/FaceEdgeInfo"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"face_edge_info"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"data",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -30261,6 +30445,60 @@
|
|||||||
"type"
|
"type"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"$ref": "#/components/schemas/ComplementaryEdges"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"complementary_edges"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"data",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"$ref": "#/components/schemas/Solid3dGetInfo"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"solid3d_get_info"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"data",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"$ref": "#/components/schemas/SolidInfo"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string",
|
||||||
|
"enum": [
|
||||||
|
"solid_info"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"data",
|
||||||
|
"type"
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
@ -32905,6 +33143,23 @@
|
|||||||
"faces"
|
"faces"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"Solid3dGetInfo": {
|
||||||
|
"description": "Extrusion face info struct (useful for maintaining mappings between source path segment ids and extrusion faces)",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"info": {
|
||||||
|
"description": "Details of each face.",
|
||||||
|
"allOf": [
|
||||||
|
{
|
||||||
|
"$ref": "#/components/schemas/SolidInfo"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"info"
|
||||||
|
]
|
||||||
|
},
|
||||||
"Solid3dGetNextAdjacentEdge": {
|
"Solid3dGetNextAdjacentEdge": {
|
||||||
"description": "The response from the `Solid3dGetNextAdjacentEdge` command.",
|
"description": "The response from the `Solid3dGetNextAdjacentEdge` command.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -32947,6 +33202,46 @@
|
|||||||
"description": "The response from the `Solid3dShellFace` endpoint.",
|
"description": "The response from the `Solid3dShellFace` endpoint.",
|
||||||
"type": "object"
|
"type": "object"
|
||||||
},
|
},
|
||||||
|
"SolidInfo": {
|
||||||
|
"description": "Solid info struct (useful for maintaining mappings between edges and faces and adjacent/opposite edges).",
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"bottom_cap_id": {
|
||||||
|
"nullable": true,
|
||||||
|
"description": "UUID for bottom cap.",
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
},
|
||||||
|
"common_edges": {
|
||||||
|
"description": "A map containing the common faces for all edges.",
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"complementary_edges": {
|
||||||
|
"description": "A map containing the adjacent and opposite edge ids of each wall face.",
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {
|
||||||
|
"$ref": "#/components/schemas/ComplementaryEdges"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"top_cap_id": {
|
||||||
|
"nullable": true,
|
||||||
|
"description": "UUID for top cap.",
|
||||||
|
"type": "string",
|
||||||
|
"format": "uuid"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"common_edges",
|
||||||
|
"complementary_edges"
|
||||||
|
]
|
||||||
|
},
|
||||||
"SourcePosition": {
|
"SourcePosition": {
|
||||||
"description": "A position in the source code.",
|
"description": "A position in the source code.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
Reference in New Issue
Block a user