Skip to main content

FlatPattern

Struct FlatPattern 

Source
pub struct FlatPattern;
Expand description

Unfolds the sheet-metal body named solid into its flat pattern, for the operation P: every bend laid flat as a strip as wide as its developed length (angle * (radius + k_factor * thickness), see crate::SheetMetalRules), every flat face moved with it, the body’s first face where it was. The flat body is the solid flat_pattern(P), and each of its entities is named after the one it is the unfolded copy of, flat_pattern(P,X) for X — so a bend’s faces are flat_pattern(P,X,a) for its faces X,a, and the lines it is bent along the edges between it and its flat faces. The body is replaced by its flat pattern unless keep.

The bend lines — down the middle of each bend’s strip — are also the sketch flat_pattern(P,bend_lines), on the flat pattern’s A side, one line per bend in the order the bends were made; and what each bend is is recorded for the flat body as FlatPatternData (see crate::body::sheets).

Only a body whose bends were recorded as it was built — by a base flange and its flanges — unfolds, and only while it is still made of just the faces they built: a body some other step has changed is refused, naming the faces that are not sheet metal.

Trait Implementations§

Source§

impl Clone for FlatPattern

Source§

fn clone(&self) -> FlatPattern

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for FlatPattern

Source§

impl Debug for FlatPattern

Source§

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

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

impl Default for FlatPattern

Source§

fn default() -> FlatPattern

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for FlatPattern

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 Editable for FlatPattern

Source§

const INFO: OperationInfo = <FlatPattern as ::geop_core_editor::part_operation::PartOperation>::INFO

Source§

type EditingState = FormState<<FlatPattern as PartOperation>::Session>

What the editor keeps about a step while it is edited, beyond its arguments, starting from the default whenever a step is opened.
Source§

fn new_args(context: &Context<'_>) -> Self::Args

The arguments of a new step: sensible defaults, taking the part it is inserted into into account.
Source§

fn presentation( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, ) -> Form

What the editor shows while the step is edited. Never fails: an editor needs the form most exactly when the arguments do not build, so whatever is wrong is said in it.
Source§

fn process_user_event( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, event: Event, ) -> (Self::Args, Self::EditingState)

The step’s arguments and editing state after event.
Source§

impl ModelOperation for FlatPattern

Source§

fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, _: &FlatPatternArgs, ) -> GeopResult<()>

Builds the step step — what everything it makes is named after — into model, reading whatever else it builds on through reader, so the step is rebuilt when that changes.
Source§

impl Operation for FlatPattern

Source§

const KIND: &'static str = <FlatPattern as ::geop_core_editor::part_operation::PartOperation>::KIND

The name programs store its steps under.
Source§

type Args = <FlatPattern as PartOperation>::Args

What a step of the operation is given. It is saved with the program, so it names targets and elements, never holds their internal ids.
Source§

fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>

Declares what the step produces, through ctx (see StepContext::produce): cheap, since it runs in every run. What takes work is done in the makes, which run only when what they read changed.
Source§

impl PartOperation for FlatPattern

Source§

fn new_args(context: &Context<'_>) -> FlatPatternArgs

The newest sheet-metal body.

Source§

fn run(ctx: &mut StepContext<'_>, args: &FlatPatternArgs) -> GeopResult<()>

Unfolds the body, and draws its bend lines as a sketch.

Source§

fn form<'a>( context: &'a Context<'a>, args: &FlatPatternArgs, _: &FormState<()>, ) -> EditForm<'a, FlatPatternArgs>

The body, picked, and whether to keep it.

Source§

const KIND: &'static str = "flat_pattern"

The name programs store its steps under.
Source§

const INFO: OperationInfo

Source§

type Args = FlatPatternArgs

What a step is given. It is saved with the program, so it names targets and elements, never holds their internal ids.
Source§

type Session = ()

What the editor keeps while a step is edited besides its arguments and the visuals selected: () for most.
Source§

fn begin_event(session: &mut Self::Session)

What the session forgets at the start of every event, before the event is handled: nothing, by default.
Source§

fn canvas( context: &Context<'_>, edit: Edit<'_, Self::Args, Self::Session>, event: &CanvasEvent, )

What the pointer or a key did on the canvas: nothing, by default.
Source§

impl PartialEq for FlatPattern

Source§

fn eq(&self, other: &FlatPattern) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for FlatPattern

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
Source§

impl StructuralPartialEq for FlatPattern

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<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, dest: *mut u8)

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

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

Source§

impl<O> ErasedEditable for O
where O: Editable,

Source§

fn info(&self) -> &'static OperationInfo

Source§

fn new_args(&self, context: &Context<'_>) -> Result<Value, GeopError>

Source§

fn initial_editing(&self) -> Box<dyn Any>

Source§

fn presentation( &self, context: &Context<'_>, args: &Value, editing: &(dyn Any + 'static), ) -> Result<Form, GeopError>

Source§

fn process_user_event( &self, context: &Context<'_>, args: &Value, editing: &(dyn Any + 'static), event: Event, ) -> Result<Edited, GeopError>

Source§

impl<O> ErasedOperation for O
where O: Operation,

Source§

fn kind(&self) -> &'static str

Source§

fn check_args(&self, args: &Value) -> Result<(), GeopError>

Whether args are arguments of the operation, as saved.
Source§

fn run(&self, ctx: &mut StepContext<'_>, args: &Value) -> Result<(), GeopError>

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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.