1use kittycad_modeling_cmds_macros::define_ok_modeling_cmd_response_enum;
2use serde::{Deserialize, Serialize};
3
4impl crate::ModelingCmdOutput for () {}
5
6define_ok_modeling_cmd_response_enum! {
7 pub mod output {
9
10 use kittycad_modeling_cmds_macros::ModelingCmdOutput;
11 use schemars::JsonSchema;
12 use serde::{Deserialize, Serialize};
13 use uuid::Uuid;
14 use crate::shared::CameraSettings;
15 use crate::shared::CameraViewState;
16
17 use crate::{self as kittycad_modeling_cmds};
18 use crate::{
19 base64::Base64Data,
20 id::ModelingCmdId,
21 length_unit::LengthUnit,
22 shared::{CurveType, EntityType, ExportFile, ExtrusionFaceCapType, PathCommand, Point2d, Point3d},
23 units,
24 };
25
26 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
28 pub struct EngineUtilEvaluatePath {
29 pub pos: Point3d<LengthUnit>,
31 }
32
33 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
35 pub struct StartPath {
36 }
37
38 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
40 pub struct MovePathPen {
41 }
42
43 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
45 pub struct ExtendPath {
46 }
47
48 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
50 pub struct Extrude {
51 }
52
53 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
55 pub struct Sweep {
56 }
57
58 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
60 pub struct Revolve {
61 }
62
63 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
65 pub struct Solid3dShellFace {
66 }
67
68 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
70 pub struct RevolveAboutEdge {
71 }
72
73 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
75 pub struct CameraDragStart {
76 }
77
78 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
80 pub struct DefaultCameraLookAt {
81 }
82
83 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
85 pub struct DefaultCameraPerspectiveSettings {
86 }
87
88 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
90 pub struct SelectAdd {
91 }
92 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
94 pub struct SelectRemove {
95 }
96
97 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
99 pub struct SceneClearAll {
100 }
101
102 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
104 pub struct SelectReplace {
105 }
106
107 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
109 pub struct HighlightSetEntities {
110 }
111
112 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
114 pub struct NewAnnotation {
115 }
116
117 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
119 pub struct UpdateAnnotation {
120 }
121
122 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
124 pub struct EdgeLinesVisible {
125 }
126
127 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
129 pub struct ObjectVisible {
130 }
131
132 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
134 pub struct ObjectBringToFront {
135 }
136
137 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
139 pub struct ObjectSetMaterialParamsPbr {
140 }
141
142 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
144 pub struct Solid2dAddHole {
145 }
146
147 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
149 pub struct Solid3dFilletEdge {
150 }
151
152 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
154 pub struct SendObject {
155 }
156
157 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
159 pub struct EntitySetOpacity {
160 }
161
162 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
164 pub struct EntityFade {
165 }
166
167 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
169 pub struct MakePlane {
170 }
171
172 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
174 pub struct PlaneSetColor {
175 }
176
177 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
179 pub struct SetTool {
180 }
181
182 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
184 pub struct MouseMove {
185 }
186
187 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
189 pub struct SketchModeDisable {
190 }
191
192 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
194 pub struct EnableDryRun {
195 }
196
197 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
199 pub struct DisableDryRun {
200 }
201
202 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
204 pub struct CurveSetConstraint {
205 }
206
207 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
209 pub struct EnableSketchMode {
210 }
211
212 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
214 pub struct SetBackgroundColor {
215 }
216
217 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
219 pub struct SetCurrentToolProperties {
220 }
221
222 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
224 pub struct SetDefaultSystemProperties {
225 }
226
227 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
229 pub struct MakeAxesGizmo {
230 }
231
232 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
234 pub struct HandleMouseDragStart {
235 }
236
237 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
239 pub struct HandleMouseDragMove {
240 }
241
242 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
244 pub struct HandleMouseDragEnd {
245 }
246
247 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
249 pub struct RemoveSceneObjects {
250 }
251
252 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
254 pub struct ReconfigureStream {
255 }
256
257 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
259 pub struct SetSceneUnits {
260 }
261
262 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
264 pub struct SetSelectionType {
265 }
266
267 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
269 pub struct SetSelectionFilter {
270 }
271
272 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
274 pub struct DefaultCameraSetOrthographic {
275 }
276
277 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
279 pub struct DefaultCameraSetPerspective {
280 }
281
282 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
284 pub struct DefaultCameraCenterToSelection {
285 }
286
287 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
289 pub struct DefaultCameraCenterToScene {
290 }
291
292 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
294 pub struct SelectClear {
295 }
296
297 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
299 pub struct Export2d {
300 pub files: Vec<ExportFile>,
302 }
303
304 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
306 pub struct Export3d {
307 pub files: Vec<ExportFile>,
309 }
310
311 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
313 pub struct Export {
314 pub files: Vec<ExportFile>,
316 }
317
318 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
320 pub struct SelectWithPoint {
321 pub entity_id: Option<Uuid>,
323 }
324 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
326 pub struct HighlightSetEntity {
327 pub entity_id: Option<Uuid>,
329 pub sequence: Option<u32>,
331 }
332 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
334 pub struct EntityGetChildUuid {
335 pub entity_id: Uuid,
337 }
338 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
340 pub struct EntityGetNumChildren {
341 pub num: u32,
343 }
344 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
346 pub struct EntityGetParentId {
347 pub entity_id: Uuid,
349 }
350 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
352 pub struct EntityGetAllChildUuids {
353 pub entity_ids: Vec<Uuid>,
355 }
356
357 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
359 pub struct EntityGetSketchPaths {
360 pub entity_ids: Vec<Uuid>,
362 }
363
364 #[derive(Debug, Serialize, Deserialize, JsonSchema, ModelingCmdOutput, Clone)]
366 pub struct Loft {
367 pub solid_id: Uuid,
369 }
370
371 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
373 pub struct ClosePath {
374 pub face_id: Uuid,
376 }
377
378 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
382 pub struct CameraDragMove {
383 pub settings: CameraSettings
385 }
386
387 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
389 pub struct CameraDragEnd {
390 pub settings: CameraSettings
392 }
393
394 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
396 pub struct DefaultCameraGetSettings {
397 pub settings: CameraSettings
399 }
400
401 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
403 pub struct DefaultCameraGetView {
404 pub view: CameraViewState
406 }
407
408 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
410 pub struct DefaultCameraSetView {}
411
412 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
414 pub struct DefaultCameraZoom {
415 pub settings: CameraSettings
417 }
418
419 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
421 pub struct ZoomToFit {
422 pub settings: CameraSettings
424 }
425
426 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
428 pub struct OrientToFace {
429 pub settings: CameraSettings
431 }
432
433 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
435 pub struct ViewIsometric {
436 pub settings: CameraSettings
438 }
439
440 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
442 pub struct GetNumObjects {
443 pub num_objects: u32,
445 }
446
447 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
449 pub struct MakeOffsetPath {
450 pub entity_ids: Vec<Uuid>,
455 }
456
457 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
459 pub struct SetObjectTransform {}
460
461 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
463 pub struct AddHoleFromOffset {
464 pub entity_ids: Vec<Uuid>,
469 }
470
471 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
473 pub struct DefaultCameraFocusOn { }
474
475 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
477 pub struct SelectGet {
478 pub entity_ids: Vec<Uuid>,
480 }
481
482 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
484 pub struct Solid3dGetAllEdgeFaces {
485 pub faces: Vec<Uuid>,
487 }
488
489 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
491 pub struct Solid3dGetAllOppositeEdges {
492 pub edges: Vec<Uuid>,
494 }
495
496 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
498 pub struct Solid3dGetOppositeEdge {
499 pub edge: Uuid,
501 }
502
503 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
505 pub struct Solid3dGetNextAdjacentEdge {
506 pub edge: Option<Uuid>,
508 }
509
510 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
512 pub struct Solid3dGetPrevAdjacentEdge {
513 pub edge: Option<Uuid>,
515 }
516
517 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
519 pub struct Solid3dGetCommonEdge {
520 pub edge: Option<Uuid>,
522 }
523
524 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
526 pub struct GetEntityType {
527 pub entity_type: EntityType,
529 }
530 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
532 pub struct CurveGetControlPoints {
533 pub control_points: Vec<Point3d<f64>>,
535 }
536
537 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
539 pub struct ProjectEntityToPlane {
540 pub projected_points: Vec<Point3d<f64>>,
542 }
543
544 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
546 pub struct ProjectPointsToPlane {
547 pub projected_points: Vec<Point3d<f64>>,
549 }
550
551 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, Eq, PartialEq, ModelingCmdOutput)]
553 pub struct CurveGetType {
554 pub curve_type: CurveType,
556 }
557
558 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
560 pub struct MouseClick {
561 pub entities_modified: Vec<Uuid>,
563 pub entities_selected: Vec<Uuid>,
565 }
566
567 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
569 pub struct TakeSnapshot {
570 pub contents: Base64Data,
572 }
573
574 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
576 pub struct PathGetInfo {
577 pub segments: Vec<PathSegmentInfo>,
579 }
580
581 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
583 pub struct PathSegmentInfo {
584 pub command_id: Option<ModelingCmdId>,
588 pub command: PathCommand,
590 pub relative: bool,
592 }
593
594 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
596 pub struct PathGetCurveUuidsForVertices {
597 pub curve_ids: Vec<Uuid>,
599 }
600
601 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
603 pub struct PathGetCurveUuid {
604 pub curve_id: Uuid,
606 }
607
608 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
610 pub struct PathGetVertexUuids {
611 pub vertex_ids: Vec<Uuid>,
613 }
614
615 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
617 pub struct PathGetSketchTargetUuid {
618 pub target_id: Option<Uuid>,
620 }
621
622 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
624 pub struct CurveGetEndPoints {
625 pub start: Point3d<LengthUnit>,
627 pub end: Point3d<LengthUnit>,
629 }
630
631 #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, ModelingCmdOutput)]
633 pub struct FaceIsPlanar {
634 pub origin: Option<Point3d<LengthUnit>>,
636
637 pub x_axis: Option<Point3d<f64>>,
639
640 pub y_axis: Option<Point3d<f64>>,
642
643 pub z_axis: Option<Point3d<f64>>,
645 }
646
647 #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, ModelingCmdOutput)]
649 pub struct FaceGetPosition {
650 pub pos: Point3d<LengthUnit>,
652 }
653
654 #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, ModelingCmdOutput)]
656 pub struct FaceGetCenter {
657 pub pos: Point3d<LengthUnit>,
659 }
660
661 #[derive(Debug, Clone, Serialize, Deserialize, JsonSchema, ModelingCmdOutput)]
663 pub struct FaceGetGradient {
664 pub df_du: Point3d<f64>,
666
667 pub df_dv: Point3d<f64>,
669
670 pub normal: Point3d<f64>,
672 }
673
674 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
676 pub struct PlaneIntersectAndProject {
677 pub plane_coordinates: Option<Point2d<LengthUnit>>,
679 }
680
681 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
683 pub struct ImportFiles {
684 pub object_id: Uuid,
686 }
687
688 #[derive(Debug, Eq, PartialEq, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
690 pub struct ImportedGeometry {
691 pub id: Uuid,
693 pub value: Vec<String>,
695 }
696
697 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
699 #[cfg_attr(feature = "tabled", derive(tabled::Tabled))]
700 pub struct Mass {
701 pub mass: f64,
703 pub output_unit: units::UnitMass,
705 }
706
707 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
709 #[cfg_attr(feature = "tabled", derive(tabled::Tabled))]
710 pub struct Volume {
711 pub volume: f64,
713 pub output_unit: units::UnitVolume,
715 }
716
717 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
719 #[cfg_attr(feature = "tabled", derive(tabled::Tabled))]
720 pub struct Density {
721 pub density: f64,
723 pub output_unit: units::UnitDensity,
725 }
726
727 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
729 #[cfg_attr(feature = "tabled", derive(tabled::Tabled))]
730 pub struct SurfaceArea {
731 pub surface_area: f64,
733 pub output_unit: units::UnitArea,
735 }
736
737 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
739 #[cfg_attr(feature = "tabled", derive(tabled::Tabled))]
740 pub struct CenterOfMass {
741 pub center_of_mass: Point3d<f64>,
743 pub output_unit: units::UnitLength,
745 }
746
747 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
749 pub struct GetSketchModePlane {
750 pub origin: Point3d<LengthUnit>,
752 pub x_axis: Point3d<f64>,
754 pub y_axis: Point3d<f64>,
756 pub z_axis: Point3d<f64>,
758 }
759
760 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
762 pub struct EntityGetDistance {
763 pub min_distance: LengthUnit,
765 pub max_distance: LengthUnit,
767 }
768
769 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
771 pub struct EntityClone {
772 }
773
774 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
776 pub struct EntityLinearPatternTransform {
777 pub entity_ids: Vec<Uuid>,
779 }
780
781 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
783 pub struct EntityLinearPattern {
784 pub entity_ids: Vec<Uuid>,
786 }
787
788 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
790 pub struct EntityCircularPattern {
791 pub entity_ids: Vec<Uuid>,
793 }
794
795 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
797 pub struct EntityMirror {
798 pub entity_ids: Vec<Uuid>
800 }
801
802 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
804 pub struct EntityMirrorAcrossEdge {
805 pub entity_ids: Vec<Uuid>
807 }
808
809 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
811 pub struct EntityMakeHelix {
812 }
813
814 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
816 pub struct EntityMakeHelixFromParams {
817 }
818
819 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
821 pub struct EntityMakeHelixFromEdge {
822 }
823
824 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
826 pub struct Solid3dGetExtrusionFaceInfo {
827 pub faces: Vec<ExtrusionFaceInfo>,
829 }
830
831 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
833 pub struct ExtrusionFaceInfo {
834 pub curve_id: Option<Uuid>,
836
837 pub face_id: Option<Uuid>,
839
840 pub cap: ExtrusionFaceCapType,
843 }
844
845 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
847 pub struct SetGridReferencePlane {}
848
849 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
851 pub struct BooleanUnion {
852 pub extra_solid_ids: Vec<Uuid>,
857 }
858
859 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
861 pub struct BooleanIntersection {
862 pub extra_solid_ids: Vec<Uuid>,
867 }
868
869 #[derive(Debug, Serialize, Deserialize, Clone, JsonSchema, ModelingCmdOutput)]
871 pub struct BooleanSubtract {
872 pub extra_solid_ids: Vec<Uuid>,
877 }
878
879 }
880}