Enum kittycad_modeling_cmds::ModelingCmd

source ·
pub enum ModelingCmd {
Show 105 variants StartPath(StartPath), MovePathPen(MovePathPen), ExtendPath(ExtendPath), Extrude(Extrude), Revolve(Revolve), Solid3dShellFace(Solid3dShellFace), RevolveAboutEdge(RevolveAboutEdge), Loft(Loft), ClosePath(ClosePath), CameraDragStart(CameraDragStart), CameraDragMove(CameraDragMove), CameraDragEnd(CameraDragEnd), DefaultCameraGetSettings(DefaultCameraGetSettings), DefaultCameraLookAt(DefaultCameraLookAt), DefaultCameraPerspectiveSettings(DefaultCameraPerspectiveSettings), DefaultCameraZoom(DefaultCameraZoom), Export(Export), EntityGetParentId(EntityGetParentId), EntityGetNumChildren(EntityGetNumChildren), EntityGetChildUuid(EntityGetChildUuid), EntityGetAllChildUuids(EntityGetAllChildUuids), EntityGetSketchPaths(EntityGetSketchPaths), EntityGetDistance(EntityGetDistance), EntityLinearPatternTransform(EntityLinearPatternTransform), EntityLinearPattern(EntityLinearPattern), EntityCircularPattern(EntityCircularPattern), EntityMakeHelix(EntityMakeHelix), EntityMirror(EntityMirror), EntityMirrorAcrossEdge(EntityMirrorAcrossEdge), EditModeEnter(EditModeEnter), SelectWithPoint(SelectWithPoint), SelectAdd(SelectAdd), SelectRemove(SelectRemove), SceneClearAll(SceneClearAll), SelectReplace(SelectReplace), HighlightSetEntity(HighlightSetEntity), HighlightSetEntities(HighlightSetEntities), NewAnnotation(NewAnnotation), UpdateAnnotation(UpdateAnnotation), EdgeLinesVisible(EdgeLinesVisible), ObjectVisible(ObjectVisible), ObjectBringToFront(ObjectBringToFront), ObjectSetMaterialParamsPbr(ObjectSetMaterialParamsPbr), GetEntityType(GetEntityType), Solid3dGetAllEdgeFaces(Solid3dGetAllEdgeFaces), Solid2dAddHole(Solid2dAddHole), Solid3dGetAllOppositeEdges(Solid3dGetAllOppositeEdges), Solid3dGetOppositeEdge(Solid3dGetOppositeEdge), Solid3dGetNextAdjacentEdge(Solid3dGetNextAdjacentEdge), Solid3dGetPrevAdjacentEdge(Solid3dGetPrevAdjacentEdge), Solid3dFilletEdge(Solid3dFilletEdge), FaceIsPlanar(FaceIsPlanar), FaceGetPosition(FaceGetPosition), FaceGetCenter(FaceGetCenter), FaceGetGradient(FaceGetGradient), SendObject(SendObject), EntitySetOpacity(EntitySetOpacity), EntityFade(EntityFade), MakePlane(MakePlane), PlaneSetColor(PlaneSetColor), SetTool(SetTool), MouseMove(MouseMove), MouseClick(MouseClick), SketchModeDisable(SketchModeDisable), GetSketchModePlane(GetSketchModePlane), CurveSetConstraint(CurveSetConstraint), EnableSketchMode(EnableSketchMode), SetBackgroundColor(SetBackgroundColor), SetCurrentToolProperties(SetCurrentToolProperties), SetDefaultSystemProperties(SetDefaultSystemProperties), CurveGetType(CurveGetType), CurveGetControlPoints(CurveGetControlPoints), TakeSnapshot(TakeSnapshot), MakeAxesGizmo(MakeAxesGizmo), PathGetInfo(PathGetInfo), PathGetCurveUuidsForVertices(PathGetCurveUuidsForVertices), PathGetCurveUuid(PathGetCurveUuid), PathGetVertexUuids(PathGetVertexUuids), PathGetSketchTargetUuid(PathGetSketchTargetUuid), HandleMouseDragStart(HandleMouseDragStart), HandleMouseDragMove(HandleMouseDragMove), HandleMouseDragEnd(HandleMouseDragEnd), RemoveSceneObjects(RemoveSceneObjects), PlaneIntersectAndProject(PlaneIntersectAndProject), CurveGetEndPoints(CurveGetEndPoints), ReconfigureStream(ReconfigureStream), ImportFiles(ImportFiles), SetSceneUnits(SetSceneUnits), Mass(Mass), Density(Density), Volume(Volume), CenterOfMass(CenterOfMass), SurfaceArea(SurfaceArea), DefaultCameraFocusOn(DefaultCameraFocusOn), SetSelectionType(SetSelectionType), SetSelectionFilter(SetSelectionFilter), DefaultCameraSetOrthographic(DefaultCameraSetOrthographic), DefaultCameraSetPerspective(DefaultCameraSetPerspective), ZoomToFit(ZoomToFit), ViewIsometric(ViewIsometric), Solid3dGetExtrusionFaceInfo(Solid3dGetExtrusionFaceInfo), EditModeExit(EditModeExit), SelectClear(SelectClear), SelectGet(SelectGet), GetNumObjects(GetNumObjects),
}
Expand description

Commands that the KittyCAD engine can execute.

Variants§

§

StartPath(StartPath)

Start a new path.

§

MovePathPen(MovePathPen)

Move the path’s “pen”. If you’re in sketch mode, these coordinates are in the local coordinate system, not the world’s coordinate system. For example, say you’re sketching on the plane {x: (1,0,0), y: (0,1,0), origin: (0, 0, 50)}. In other words, the plane 50 units above the default XY plane. Then, moving the pen to (1, 1, 0) with this command uses local coordinates. So, it would move the pen to (1, 1, 50) in global coordinates.

§

ExtendPath(ExtendPath)

Extend a path by adding a new segment which starts at the path’s “pen”. If no “pen” location has been set before (via MovePen), then the pen is at the origin.

§

Extrude(Extrude)

Command for extruding a solid 2d.

§

Revolve(Revolve)

Command for revolving a solid 2d.

§

Solid3dShellFace(Solid3dShellFace)

Command for shelling a solid3d face

§

RevolveAboutEdge(RevolveAboutEdge)

Command for revolving a solid 2d about a brep edge

§

Loft(Loft)

Command for lofting sections to create a solid

§

ClosePath(ClosePath)

Closes a path, converting it to a 2D solid.

§

CameraDragStart(CameraDragStart)

Camera drag started.

§

CameraDragMove(CameraDragMove)

Camera drag continued.

§

CameraDragEnd(CameraDragEnd)

Camera drag ended

§

DefaultCameraGetSettings(DefaultCameraGetSettings)

Gets the default camera’s camera settings

§

DefaultCameraLookAt(DefaultCameraLookAt)

Change what the default camera is looking at.

§

DefaultCameraPerspectiveSettings(DefaultCameraPerspectiveSettings)

Change what the default camera is looking at.

§

DefaultCameraZoom(DefaultCameraZoom)

Adjust zoom of the default camera.

§

Export(Export)

Export the scene to a file.

§

EntityGetParentId(EntityGetParentId)

What is this entity’s parent?

§

EntityGetNumChildren(EntityGetNumChildren)

How many children does the entity have?

§

EntityGetChildUuid(EntityGetChildUuid)

What is the UUID of this entity’s n-th child?

§

EntityGetAllChildUuids(EntityGetAllChildUuids)

What are all UUIDs of this entity’s children?

§

EntityGetSketchPaths(EntityGetSketchPaths)

What are all UUIDs of all the paths sketched on top of this entity?

§

EntityGetDistance(EntityGetDistance)

What is the distance between these two entities?

§

EntityLinearPatternTransform(EntityLinearPatternTransform)

Create a pattern using this entity by specifying the transform for each desired repetition. Transformations are performed in the following order (first applied to last applied): scale, rotate, translate.

§

EntityLinearPattern(EntityLinearPattern)

Create a linear pattern using this entity.

§

EntityCircularPattern(EntityCircularPattern)

Create a circular pattern using this entity.

§

EntityMakeHelix(EntityMakeHelix)

Create a helix using the input cylinder and other specified parameters.

§

EntityMirror(EntityMirror)

Mirror the input entities over the specified axis. (Currently only supports sketches)

§

EntityMirrorAcrossEdge(EntityMirrorAcrossEdge)

Mirror the input entities over the specified edge. (Currently only supports sketches)

§

EditModeEnter(EditModeEnter)

Enter edit mode

§

SelectWithPoint(SelectWithPoint)

Modifies the selection by simulating a “mouse click” at the given x,y window coordinate Returns ID of whatever was selected.

§

SelectAdd(SelectAdd)

Adds one or more entities (by UUID) to the selection.

§

SelectRemove(SelectRemove)

Removes one or more entities (by UUID) from the selection.

§

SceneClearAll(SceneClearAll)

Removes all of the Objects in the scene

§

SelectReplace(SelectReplace)

Replaces current selection with these entities (by UUID).

§

HighlightSetEntity(HighlightSetEntity)

Changes the current highlighted entity to whichever one is at the given window coordinate. If there’s no entity at this location, clears the highlight.

§

HighlightSetEntities(HighlightSetEntities)

Changes the current highlighted entity to these entities.

§

NewAnnotation(NewAnnotation)

Create a new annotation

§

UpdateAnnotation(UpdateAnnotation)

Update an annotation

§

EdgeLinesVisible(EdgeLinesVisible)

Changes visibility of scene-wide edge lines on brep solids

§

ObjectVisible(ObjectVisible)

Hide or show an object

§

ObjectBringToFront(ObjectBringToFront)

Bring an object to the front of the scene

§

ObjectSetMaterialParamsPbr(ObjectSetMaterialParamsPbr)

Set the material properties of an object

§

GetEntityType(GetEntityType)

What type of entity is this?

§

Solid3dGetAllEdgeFaces(Solid3dGetAllEdgeFaces)

Gets all faces which use the given edge.

§

Solid2dAddHole(Solid2dAddHole)

Add a hole to a Solid2d object before extruding it.

§

Solid3dGetAllOppositeEdges(Solid3dGetAllOppositeEdges)

Gets all edges which are opposite the given edge, across all possible faces.

§

Solid3dGetOppositeEdge(Solid3dGetOppositeEdge)

Gets the edge opposite the given edge, along the given face.

§

Solid3dGetNextAdjacentEdge(Solid3dGetNextAdjacentEdge)

Gets the next adjacent edge for the given edge, along the given face.

§

Solid3dGetPrevAdjacentEdge(Solid3dGetPrevAdjacentEdge)

Gets the previous adjacent edge for the given edge, along the given face.

§

Solid3dFilletEdge(Solid3dFilletEdge)

Fillets the given edge with the specified radius.

§

FaceIsPlanar(FaceIsPlanar)

Determines whether a brep face is planar and returns its surface-local planar axes if so

§

FaceGetPosition(FaceGetPosition)

Determines a position on a brep face evaluated by parameters u,v

§

FaceGetCenter(FaceGetCenter)

Obtains the surface “center of mass”

§

FaceGetGradient(FaceGetGradient)

Determines the gradient (dFdu, dFdv) + normal vector on a brep face evaluated by parameters u,v

§

SendObject(SendObject)

Send object to front or back.

§

EntitySetOpacity(EntitySetOpacity)

Set opacity of the entity.

§

EntityFade(EntityFade)

Fade entity in or out.

§

MakePlane(MakePlane)

Make a new plane

§

PlaneSetColor(PlaneSetColor)

Set the color of a plane.

§

SetTool(SetTool)

Set the current tool.

§

MouseMove(MouseMove)

Send a mouse move event

§

MouseClick(MouseClick)

Send a mouse click event Updates modified/selected entities.

§

SketchModeDisable(SketchModeDisable)

Disable sketch mode. If you are sketching on a face, be sure to not disable sketch mode until you have extruded. Otherwise, your object will not be fused with the face.

§

GetSketchModePlane(GetSketchModePlane)

Get the plane for sketch mode.

§

CurveSetConstraint(CurveSetConstraint)

Get the plane for sketch mode.

§

EnableSketchMode(EnableSketchMode)

Sketch on some entity (e.g. a plane, a face).

§

SetBackgroundColor(SetBackgroundColor)

Set the background color of the scene.

§

SetCurrentToolProperties(SetCurrentToolProperties)

Set the properties of the tool lines for the scene.

§

SetDefaultSystemProperties(SetDefaultSystemProperties)

Set the default system properties used when a specific property isn’t set.

§

CurveGetType(CurveGetType)

Get type of the given curve.

§

CurveGetControlPoints(CurveGetControlPoints)

Get control points of the given curve.

§

TakeSnapshot(TakeSnapshot)

Take a snapshot of the current view.

§

MakeAxesGizmo(MakeAxesGizmo)

Add a gizmo showing the axes.

§

PathGetInfo(PathGetInfo)

Query the given path.

§

PathGetCurveUuidsForVertices(PathGetCurveUuidsForVertices)

Obtain curve ids for vertex ids

§

PathGetCurveUuid(PathGetCurveUuid)

Obtain curve id by index

§

PathGetVertexUuids(PathGetVertexUuids)

Obtain vertex ids for a path

§

PathGetSketchTargetUuid(PathGetSketchTargetUuid)

Obtain the sketch target id (if the path was drawn in sketchmode) for a path

§

HandleMouseDragStart(HandleMouseDragStart)

Start dragging the mouse.

§

HandleMouseDragMove(HandleMouseDragMove)

Continue dragging the mouse.

§

HandleMouseDragEnd(HandleMouseDragEnd)

Stop dragging the mouse.

§

RemoveSceneObjects(RemoveSceneObjects)

Remove scene objects.

§

PlaneIntersectAndProject(PlaneIntersectAndProject)

Utility method. Performs both a ray cast and projection to plane-local coordinates. Returns the plane coordinates for the given window coordinates.

§

CurveGetEndPoints(CurveGetEndPoints)

Find the start and end of a curve.

§

ReconfigureStream(ReconfigureStream)

Reconfigure the stream.

§

ImportFiles(ImportFiles)

Import files to the current model.

§

SetSceneUnits(SetSceneUnits)

Set the units of the scene. For all following commands, the units will be interpreted as the given units.

§

Mass(Mass)

Get the mass of entities in the scene or the default scene.

§

Density(Density)

Get the density of entities in the scene or the default scene.

§

Volume(Volume)

Get the volume of entities in the scene or the default scene.

§

CenterOfMass(CenterOfMass)

Get the center of mass of entities in the scene or the default scene.

§

SurfaceArea(SurfaceArea)

Get the surface area of entities in the scene or the default scene.

§

DefaultCameraFocusOn(DefaultCameraFocusOn)

Focus the default camera upon an object in the scene.

§

SetSelectionType(SetSelectionType)

When you select some entity with the current tool, what should happen to the entity?

§

SetSelectionFilter(SetSelectionFilter)

What kind of entities can be selected?

§

DefaultCameraSetOrthographic(DefaultCameraSetOrthographic)

Use orthographic projection.

§

DefaultCameraSetPerspective(DefaultCameraSetPerspective)

Use perspective projection.

§

ZoomToFit(ZoomToFit)

Fit the view to the specified object(s).

§

ViewIsometric(ViewIsometric)

Fit the view to the scene with an isometric view.

§

Solid3dGetExtrusionFaceInfo(Solid3dGetExtrusionFaceInfo)

Get a concise description of all of an extrusion’s faces.

§

EditModeExit(EditModeExit)

Exit edit mode

§

SelectClear(SelectClear)

Clear the selection

§

SelectGet(SelectGet)

Find all IDs of selected entities

§

GetNumObjects(GetNumObjects)

Get the number of objects in the scene

Implementations§

source§

impl ModelingCmd

source

pub fn is_safe_to_batch(&self) -> bool

Is this command safe to run in an engine batch?

Trait Implementations§

source§

impl Clone for ModelingCmd

source§

fn clone(&self) -> ModelingCmd

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ModelingCmd

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for ModelingCmd

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<CmdVariant> From<CmdVariant> for ModelingCmd
where CmdVariant: ModelingCmdVariant,

source§

fn from(value: CmdVariant) -> Self

Converts to this type from the input type.
source§

impl From<ModelingCmd> for ModelingCmdEndpoint

You can easily convert each modeling command with its fields, into a modeling command without fields.

source§

fn from(v: ModelingCmd) -> Self

Converts to this type from the input type.
source§

impl JsonSchema for ModelingCmd

source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
source§

fn json_schema(gen: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
source§

impl Serialize for ModelingCmd

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

source§

impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> FutureExt for T

source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> IntoResult<T> for T

source§

impl<T> Same for T

source§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

source§

impl<T> SendSyncUnwindSafe for T
where T: Send + Sync + UnwindSafe + ?Sized,