pub struct Hole;Expand description
Drills holes into the planar face face at each of points, for the
operation H: every hole a solid of revolution around the face’s
normal through its point, cut out of the face’s solid in one boolean.
The result replaces the solid and is named hole(H).
A point is a sketch’s point, a datum point or a vertex, lying on the face; a sketch stands for its points that no line, arc or spline runs through — points placed on their own, and circles’ centres.
What each hole leaves is named after its point X — K,p3 for the
point p3 of the sketch K, else the point’s name: its wall
hole(H,X,wall,q0) .. q3 by quarter turn, a counterbore’s
hole(H,X,counterbore,q) and hole(H,X,shoulder,q), a countersink’s
hole(H,X,countersink,q), a blind hole’s bottom hole(H,X,bottom,q) or
drill point hole(H,X,point,q) (see crate::hole); what the boolean
creates is named combine(H,X,...). A tapped hole’s cosmetic thread is
the part’s thread hole(H,X,thread) (see threads()).
Trait Implementations§
impl Copy for Hole
Source§impl<'de> Deserialize<'de> for Hole
impl<'de> Deserialize<'de> for Hole
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 Hole
impl Editable for Hole
const INFO: OperationInfo = <Hole as ::geop_core_editor::part_operation::PartOperation>::INFO
Source§type EditingState = FormState<<Hole as PartOperation>::Session>
type EditingState = FormState<<Hole 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 Hole
impl ModelOperation for Hole
Source§fn build(
model: &mut NamedModel,
reader: &Reader<'_>,
step: &str,
args: &HoleArgs,
) -> GeopResult<()>
fn build( model: &mut NamedModel, reader: &Reader<'_>, step: &str, args: &HoleArgs, ) -> 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 Hole
impl Operation for Hole
Source§const KIND: &'static str = <Hole as ::geop_core_editor::part_operation::PartOperation>::KIND
const KIND: &'static str = <Hole as ::geop_core_editor::part_operation::PartOperation>::KIND
Source§type Args = <Hole as PartOperation>::Args
type Args = <Hole 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 Hole
impl PartOperation for Hole
Source§fn new_args(_: &Context<'_>) -> HoleArgs
fn new_args(_: &Context<'_>) -> HoleArgs
No face or point yet; a simple M6 clearance hole, 10 deep.
Source§fn run(ctx: &mut StepContext<'_>, args: &HoleArgs) -> GeopResult<()>
fn run(ctx: &mut StepContext<'_>, args: &HoleArgs) -> GeopResult<()>
Drills the holes, then records them — and, tapped, their threads — where the part before the step put them and on the walls the holes left.
Source§fn form<'a>(
context: &'a Context<'a>,
args: &HoleArgs,
_: &FormState<()>,
) -> EditForm<'a, HoleArgs>
fn form<'a>( context: &'a Context<'a>, args: &HoleArgs, _: &FormState<()>, ) -> EditForm<'a, HoleArgs>
The face and the points, picked; the kind of hole; its standard, size and fit — or its diameters by hand — and what they come to; how deep. Each hole drawn as a circle of its diameter on the face.
const INFO: OperationInfo
Source§type Args = HoleArgs
type Args = HoleArgs
Source§type Session = ()
type Session = ()
() for most.