Expand description
Rebuilding a solid face by face: some of its faces put on new surfaces,
everything they reach moved to where the surfaces now meet
(rebuilt, replace_faces) — what a draft, a face moved, offset or
replaced, and a face deleted and healed over (delete_faces) do.
Shelling: a solid hollowed out to walls of one thickness, open where
faces are taken away (shell()); a sheet thickened into a solid
(thicken) or offset (offset_faces). How the hollow is built,
and what it does not do yet, is told in shell.rs.
What rebuilding needs, for others that do it: room around a surface
([extended]), a pcurve on it (pcurve), and whether a curve lies on
the surfaces it should (surface_missed).
Enums§
- Heal
- What
delete_facesleaves where the faces were. - Smooth
- Whether
replace_facestakes along the faces a face it puts on a new surface runs smoothly into, or refuses.
Functions§
- delete_
faces - Takes the faces
facesout of their solid ofpartand leaves the gap ashealsays — see the module docs — and returns what is left: the healed solid, namednamer’s root, or the sheet. Every face, edge and vertex that stays keeps its name; of two vertices made one, the one the face’s loop reaches first. - offset_
faces - Copies the faces
facesofpart— of a solid or of a sheet — into a sheetdistancealong their normals (against them for a negative distance), and returns it: the inner side of the faces shelled (see the module docs), sharing nothing with them, which stay as they are. - pcurve
- The pcurve on
surfaceof a coedge that runs alongcurve— or sits at a vertex, without one — from(u, v)starttoend. Exact where it can be: on a surface affine in(u, v), a plane, the curve mapped (NurbSurface3D::affine_pcurve); and straight where the coedge it is a copy of ran along an iso-line,original, and its copy does too — the line keeps itsu(orv) — as a cylinder’s rim or seam does. Fitted otherwise: a sphere’s meridian cut by a plane is straight, but its inner copy, where the offset plane cuts the offset sphere, is a small circle no straight pcurve follows. - rebuilt
- The body
specrebuilt: the faces markedreplacedlie on the surfacesspecgives them now — made from the old ones given room first (room): a fitted offset given room after, its end span of many carried on, is extrapolated and widened, and an exact one given room before and after is widened twice — every vertex they reach — and every vertex markedreseat, at the pointspecgives as a seed — moves to where the surfaces around it meet, every edge they reach to where its faces’ surfaces meet (see the module docs).spec’s edge curves are where the edges were: the guides the new ones follow.namesname its entities, for the errors. - replace_
faces - Puts the faces
facesof one solid ofparton new surfaces —surface(name, old)gives the one for the face namedname, on the surfaceold— and rebuilds the solid around them (rebuilt): the result replaces it, namednamer’s root, and every face, edge and vertex keeps its name. What a draft, a face moved, offset or replaced do. A new surface’s normal points out of the solid, as the old one’s did. - room
surfacewith room around it: carried on past each side (NurbSurface3D::extended) by as much of its parameter as its end span is long that way — or by a half, a quarter or an eighth of that where more would carry it too far: an arc round past where its weights stay positive, a cone through its apex, a free-form patch past where it folds back on itself and has no normal. Not past a side that is a single point, a pole: the pole would end up inside the patch, where it has no normal. How much room is a free choice; the patch’s own size is room enough unless a face moves as far as it is wide.- shell
- Hollows the solid
solidofpartout to wallsthicknessthick — measured inward from its faces, or outward for a negative thickness — those of the faces inthickeras thick as it says instead — open where its facesopenwere — see the module docs — and returns the hollowed solid, which replaces it and is namednamer’s root. - surface_
missed - The first of the faces
faces, indices intosurfaces, whose surfacecurvedoes not lie on all along, with a point that shows it: the middle of the first stretch of the curve that is off the surface.Noneif the curve could lie on all of them. A curve built for an edge between moved faces is only right if it does. - tangent_
to_ kept - A face to be put on another surface,
f, that meets a face kept,g, tangentially along the edgee— a fillet or a smooth blend along it — if there is one:(f, g, e). Asked ofspecbefore the surfaces change. A face kept that runs smoothly into one that moves would have to move with it, whichrebuiltdoes not do: they would no longer meet along the edge, or cross where they should touch. - thicken
- Thickens the sheet
sheetofpartinto a solid of wallsthicknessthick — against its faces’ normals, or along them ifalong_normal— and returns it: the sheet shelled (see the module docs), which replaces it and is namednamer’s root.