diff --git a/modeling-cmds/src/def_enum.rs b/modeling-cmds/src/def_enum.rs index 64adf73f..90f93699 100644 --- a/modeling-cmds/src/def_enum.rs +++ b/modeling-cmds/src/def_enum.rs @@ -1190,6 +1190,15 @@ define_modeling_cmd_enum! { /// The distance to offset the path (positive for outset, negative for inset) pub offset: LengthUnit, } + + /// Add a hole to a closed path by offsetting it a uniform distance inward. + #[derive(Clone, Debug, Deserialize, JsonSchema, Serialize, ModelingCmdVariant)] + pub struct AddHoleFromOffset { + /// The closed path to add a hole to. + pub object_id: Uuid, + /// The distance to offset the path (positive for outset, negative for inset) + pub offset: LengthUnit, + } } } diff --git a/modeling-cmds/src/ok_response.rs b/modeling-cmds/src/ok_response.rs index 659f0633..25fe3b85 100644 --- a/modeling-cmds/src/ok_response.rs +++ b/modeling-cmds/src/ok_response.rs @@ -435,6 +435,16 @@ define_ok_modeling_cmd_response_enum! { pub entity_ids: Vec, } + /// The response from the `AddHoleFromOffset` command. + #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)] + pub struct AddHoleFromOffset { + /// If the offset path splits into multiple paths, this will contain the UUIDs of the + /// new paths. + /// If the offset path remains as a single path, this will be empty, and the resulting ID + /// of the (single) new path will be the ID of the `AddHoleFromOffset` command. + pub entity_ids: Vec, + } + /// The response from the `DefaultCameraFocusOn` command. #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)] pub struct DefaultCameraFocusOn { }