pub struct EdgeFlange;Expand description
Bends a flange up from the straight edge edge of a sheet-metal body,
for the operation F: the body is consumed and rebuilt as
edge_flange(F), every face, edge and vertex it had keeping its name
except the edge, which the flange replaces.
edge is an edge of a flat face of the body on its outline (where the
face meets a wall across the thickness), and the flange turns angle
degrees towards that face’s side, length long as reference says,
with its bend’s inner radius radius (the body’s own by default), set
as position says. It runs along the edge from offset_start after
the edge’s start to offset_end before its end (the edge running with
its face on its left, seen from outside); where it is narrower than the
edge, the body’s relief is cut beside the bend. An end of the edge that
meets a bend already there keeps the body’s corner gap from it — or,
with a closed corner, its flat reaches on to the other flange.
What it builds is named edge_flange(F,...): the bend bend, the
flange’s flat face flange with its edges flange,line where the bend
ends, flange,side0, flange,end and flange,side1 — and where a
closed corner carries its flat past its bend, flange,corner0 or
flange,corner1 on from its line; where the bend
starts on the body line, the rest of the edge before and after,
and the reliefs
relief0,in, relief0,across, relief0,out (and relief1,...) — each
a face’s name with a/b added, an edge’s or a wall’s as
crate::thicken says.
Trait Implementations§
Source§impl Clone for EdgeFlange
impl Clone for EdgeFlange
Source§fn clone(&self) -> EdgeFlange
fn clone(&self) -> EdgeFlange
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for EdgeFlange
Source§impl Debug for EdgeFlange
impl Debug for EdgeFlange
Source§impl Default for EdgeFlange
impl Default for EdgeFlange
Source§fn default() -> EdgeFlange
fn default() -> EdgeFlange
Source§impl<'de> Deserialize<'de> for EdgeFlange
impl<'de> Deserialize<'de> for EdgeFlange
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Editable for EdgeFlange
impl Editable for EdgeFlange
const INFO: OperationInfo = <EdgeFlange as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<EdgeFlange as PartOperation>::Session>
type EditingState = FormState<<EdgeFlange as PartOperation>::Session>
Source§fn new_args(context: &Context<'_>) -> Self::Args
fn new_args(context: &Context<'_>) -> Self::Args
Source§fn presentation(
context: &Context<'_>,
args: &Self::Args,
editing: &Self::EditingState,
) -> Form
fn presentation( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, ) -> Form
Source§fn process_user_event(
context: &Context<'_>,
args: &Self::Args,
editing: &Self::EditingState,
event: Event,
) -> (Self::Args, Self::EditingState)
fn process_user_event( context: &Context<'_>, args: &Self::Args, editing: &Self::EditingState, event: Event, ) -> (Self::Args, Self::EditingState)
event.Source§impl ModelOperation for EdgeFlange
impl ModelOperation for EdgeFlange
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
_: &EdgeFlangeArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, _: &EdgeFlangeArgs, ) -> GeopResult<()>
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 EdgeFlange
impl Operation for EdgeFlange
Source§const KIND: &'static str = <EdgeFlange as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <EdgeFlange as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <EdgeFlange as PartOperation>::Args
type Args = <EdgeFlange as PartOperation>::Args
Source§fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &Self::Args) -> __GeopResult<()>
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 EdgeFlange
impl PartOperation for EdgeFlange
Source§fn new_args(_: &Context<'_>) -> EdgeFlangeArgs
fn new_args(_: &Context<'_>) -> EdgeFlangeArgs
No edge yet: a right angle, half a unit long, material inside.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &EdgeFlangeArgs,
_: &FormState<()>,
) -> EditForm<'a, EdgeFlangeArgs>
fn form<'a>( context: &'a Context<'a>, args: &EdgeFlangeArgs, _: &FormState<()>, ) -> EditForm<'a, EdgeFlangeArgs>
The edge, picked; angle and length; what the length is measured from and where the bend sits; the radius, if its own; and how far in from the edge’s ends.
const INFO: OperationInfo
Source§type Args = EdgeFlangeArgs
type Args = EdgeFlangeArgs
Source§type Session = ()
type Session = ()
() for most.Source§fn run(ctx: &mut StepContext<'_>, args: &EdgeFlangeArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &EdgeFlangeArgs) -> GeopResult<()>
ctx (see
StepContext::produce).