Makes the closed outline of an I-beam cross-section: two horizontal flanges joined by a vertical web.
width is the flange width, height the total height, webThickness and flangeThickness
the wall thicknesses; alignment says which point of the profile's box sits on center,
rotation turns it in its plane, in degrees. It lies on the ground, ready to extrude.
The profile size, the two thicknesses, the alignment, the rotation, the center and the plane normal
The I-beam outline wire
Makes the closed outline of an H-beam cross-section: two vertical flanges joined by a horizontal web, an I-beam on its side.
width is the total width, height the flange height, webThickness and flangeThickness
the wall thicknesses; alignment says which point of the profile's box sits on center,
rotation turns it in its plane, in degrees.
The profile size, the two thicknesses, the alignment, the rotation, the center and the plane normal
The H-beam outline wire
Makes the closed outline of a T-beam cross-section: a horizontal flange with a vertical web hanging from its middle.
width is the flange width, height the total height, webThickness and flangeThickness
the wall thicknesses; alignment says which point of the profile's box sits on center,
rotation turns it in its plane, in degrees. It lies on the ground.
The profile size, the two thicknesses, the alignment, the rotation, the center and the plane normal
The T-beam outline wire
Makes the closed outline of a U-beam cross-section, a channel: a web with two flanges of
flangeWidth standing up from its ends.
width and height are the total size, webThickness and flangeThickness the wall
thicknesses; alignment says which point of the profile's box sits on center, rotation
turns it in its plane, in degrees. It lies on the ground.
The profile size, the thicknesses, the flange width, the alignment, the rotation, the center and the plane normal
The U-beam outline wire
Joins edges and wires that touch end to end into one wire.
The pieces must connect; a set with a gap or a stray piece throws an error. Shapes of other kinds in the list are ignored.
The edges and wires to join
The joined wire
Wraps a single edge into a wire, so it can go where a wire is expected.
The edge
The wire holding that edge
Extends a wire with more edges and wires that touch it end to end.
The pieces must connect to the wire or to each other; a gap throws an error. Shapes of other kinds in the list are ignored.
The wire to extend and the edges and wires to add
The extended wire
Collects diagnostic facts about a wire: how many edges it has, whether it is closed, its
total length and, for every edge, the curve report shapes.edge.debugInfo gives.
An empty or null wire gives a report marked invalid with zero counts.
The wire to inspect
The report with the edge count, the closed flag, the length and one entry per edge
Closes an open wire with a straight edge from its end point back to its start point.
A wire whose ends already meet is returned as it is.
The wire to close
The closed wire
Cuts a wire into pieces at the given points.
Each point is moved to the closest place on the wire before cutting, so it need not lie exactly on it; repeated points are ignored. The pieces come back in order along the wire, from its start to its end.
The wire and the points to cut at
The pieces of the wire, in order
Turns every wire of a shape into a run of points that follows its curves closely enough to draw it, one list per wire.
The deflection settings say how tightly the points hug curved edges; where one edge ends and the next begins the shared point appears once.
The shape and the deflection settings
One list of points per wire
Places points along a wire at equal steps of its parameter, from start to end.
nrOfDivisions steps give one more point than that; removeStartPoint and removeEndPoint
drop the ends. The parameter follows each edge's own curve parameter, so equal steps are not
equal distances; use divideWireByEqualDistanceToPoints for those.
The wire, the number of divisions and whether to drop the end points
The points along the wire, in order
Places points along a wire at equal distances measured along its curves, from start to end.
nrOfDivisions steps give one more point than that; removeStartPoint and removeEndPoint
drop the ends.
The wire, the number of divisions and whether to drop the end points
The points along the wire, in order
Finds the point a fraction of the way along a wire: 0 is the start, 1 the end.
The fraction follows the parameters of the edges, not distance, so 0.5 is not always the
middle by length; use pointOnWireAtLength for a distance.
The wire and the fraction from 0 to 1
The point on the wire
Finds the point a given distance along a wire from its start, measured along its curves in model units.
The wire and the distance from its start
The point on the wire
Finds the points at several distances along a wire from its start, measured along its curves in model units.
The wire and the distances from its start
One point per distance, in the same order
Places points along a wire every length model units from its start, as many as fit.
includeFirst keeps the point at the start, includeLast appends the end point whatever the
spacing, and tryNext asks for one more point a step beyond the last one that fit.
The wire, the spacing and which end points to include
The points along the wire, in order
Places points along a wire at a repeating pattern of gaps, such as 1, 3, 1, 3, until the wire runs out.
lengths is the pattern of gaps in model units, repeated from the start; includeFirst
keeps the start point, includeLast appends the end point, and tryNext asks for one more
point at the next gap past the last.
The wire, the pattern of gaps and which end points to include
The points along the wire, in order
Finds the direction the wire is heading at a fraction of the way along it, from 0 at the start to 1 at the end.
The fraction follows the parameters of the edges, not distance.
The wire and the fraction from 0 to 1
The tangent direction
Finds the direction the wire is heading at a given distance from its start, measured along its curves in model units.
The wire and the distance from its start
The tangent direction
Computes the first, second and third derivatives of a wire's curve at a given distance from its start.
The first derivative is the tangent with its speed, the second tells how the curve bends, the third how that bending changes; all are with respect to the curve's parameter. The distance is measured along the curves in model units.
The wire and the distance from its start
The three derivative vectors, first to third
Computes the first, second and third derivatives of a wire's curve at a fraction of the way along it, from 0 at the start to 1 at the end.
The first derivative is the tangent with its speed, the second tells how the curve bends, the third how that bending changes; all are with respect to the curve's parameter.
The wire and the fraction from 0 to 1
The three derivative vectors, first to third
Reads the point where a wire starts, in the wire's own direction.
The wire
The start point
Finds the point halfway along a wire's parameter range.
The parameter follows the edges' own curves, not distance, so on a wire of unequal edges this
is not always the middle by length; pointOnWireAtLength with half of getWireLength gives
that.
The wire
The point at parameter 0.5
Reads the point where a wire ends, in the wire's own direction.
The wire
The end point
Runs divideWireByParamsToPoints on several wires with the same settings.
The wires, the number of divisions and whether to drop the end points
One list of points per wire, in the same order
Runs divideWireByEqualDistanceToPoints on several wires with the same settings.
The wires, the number of divisions and whether to drop the end points
One list of points per wire, in the same order
Makes a straight single-edge wire from a line object of the form { start, end }.
The line
The straight wire
Makes one straight single-edge wire per line object of the form { start, end }.
The lines
One wire per line, in the same order
Makes a straight single-edge wire from a segment, a pair of points [start, end].
The segment
The straight wire
Makes one straight single-edge wire per segment, each a pair of points [start, end].
The segments
One wire per segment, in the same order
Joins a list of points in order with straight edges into one wire.
Fewer than two points throw an error. When the last point repeats the first, the repeat is
dropped and the wire is closed back to the first point; otherwise the wire stays open. For a
closed outline without repeating a point use createPolygonWire.
The wire through the points
Makes a wire from a polyline object, one straight edge per segment; a polyline marked closed also gets the edge from its last point back to its first.
The polyline
The wire
Makes a closed three-edge wire from a triangle given as three points.
The triangle
The closed wire
Makes one closed three-edge wire per triangle of a mesh.
A triangle whose wire cannot be built is skipped with a warning rather than stopping the rest.
The mesh as a list of triangles
One wire per triangle that could be built
Picks one wire out of a shape by its position, counting from 0, in the order the kernel walks the shape.
The shape must be a wire or something built from wires; an index beyond the last wire throws an error.
The shape and the 0-based index
The wire at that index
Lists every wire of a shape in the order the kernel walks it.
The shape
The wires found in the shape
Finds the center of mass of a wire, the balance point of its curves; for a circle that is its center, off the wire itself.
The wire
The center of mass point
Finds the center of mass of each wire in a list.
The wires
One point per wire, in the same order
Flips the direction of a wire, so its start becomes its end.
The edges keep their own order and direction flags; the wire as a whole is marked reversed,
which is what most operations read. reversedWireFromReversedEdges rebuilds the wire edge by
edge instead.
The wire
A new wire running the other way
Flips the direction of a wire by reversing every edge and joining them again in the opposite order.
The result is a wire that runs the other way through and through, which some operations need
where the plain reversedWire flag is not enough.
The wire
A new wire running the other way
Tells whether a wire is closed, which is when its start and end points coincide within a small tolerance.
The wire
True when the ends meet
Measures the length of a wire along its curves, in model units.
The wire
The length
Measures the length of each wire in a list along its curves, in model units.
The wires
One length per wire, in the same order
Makes one closed polygon wire per point list, as createPolygonWire does.
With returnCompound true the wires are packed into one compound shape instead of a list.
The polygons and whether to pack them into a compound
The wires in order, or one compound holding them
Makes one straight single-edge wire per line definition.
With returnCompound true the wires are packed into one compound shape instead of a list.
The wires in order, or one compound holding them
Makes one open polyline wire per point list, as createPolylineWire does.
With returnCompound true the wires are packed into one compound shape instead of a list.
The polylines and whether to pack them into a compound
The wires in order, or one compound holding them
Makes one Bezier wire per definition, as createBezier does.
With returnCompound true the wires are packed into one compound shape instead of a list.
The Bezier definitions and whether to pack them into a compound
The wires in order, or one compound holding them
Makes one interpolated B-spline wire per definition, as interpolatePoints does.
With returnCompound true the wires are packed into one compound shape instead of a list.
The interpolation definitions and whether to pack them into a compound
The wires in order, or one compound holding them
Makes one approximating B-spline wire per definition, as createBSpline does.
With returnCompound true the wires are packed into one compound shape instead of a list.
The B-spline definitions and whether to pack them into a compound
The wires in order, or one compound holding them
Maps a flat wire drawn on the ground plane onto the surface of a face, as if the drawing were wrapped around it.
The wire's Z coordinate is read as U and its X coordinate as V, in the face's real UV values,
which shapes.face.getUMinBound and its siblings report; a drawing that fits inside those
bounds lands on the face.
The wire on the ground plane and the face
The wire lying on the face's surface
Maps several flat wires drawn on the ground plane onto the surface of a face, as
placeWireOnFace does for one.
The wires on the ground plane and the face
The wires lying on the face's surface, in the same order
Projects a wire onto a shape along a direction, like casting its shadow onto the surface.
The result is a compound of the curves where the projection meets the shape's faces, which
can be on both its near and far side. Cut a face with it through
shapes.face.createFaceFromWireOnFace or use it as a path.
The wire, the shape to project onto and the direction
A compound of the projected curves
Projects several wires onto a shape along one direction, as project does for one.
The wires, the shape to project onto and the direction
One compound of projected curves per wire, in the same order
Makes a full circle as a closed single-edge wire, lying in the plane whose normal is
direction; the default [0, 1, 0] lays it flat on the ground.
The circle wire
Fills a rectangle on the ground plane with a grid of closed hexagon wires, centered on the origin.
The hexagons are scaled so nrHexagonsInWidth fit across width and nrHexagonsInHeight
across height. The scale, fillet and inclusion patterns are read hexagon by hexagon and
repeat; the extend flags stretch the outer rows past the edges to cover the rectangle.
The rectangle size, the hexagon counts, the extend flags and the optional patterns
One wire per hexagon, row by row
Makes a closed square wire centered on center.
direction is the normal of its plane: the default [0, 1, 0] lays it flat on the ground.
The square wire
Makes a closed star-shaped wire with numRays points.
The points reach outerRadius and the notches between them innerRadius; offsetOuterEdges
lifts the ray tips out of the plane by that distance, making a 3D star, and half keeps the
first half of the rays as an open wire. It lies flat on the ground unless direction says
otherwise.
The star wire
Makes a closed wire shaped like a stylized Christmas tree: nrSkirts layers of branches,
narrowing from outerDist to innerDist off the trunk line, on a trunk of trunkHeight and
trunkWidth.
Unlike the other flat shapes here it stands upright in the XY plane, tip along Y; direction
is the trunk-to-tip direction, rotation spins it about that axis, in degrees.
The tree proportions, the trunk size, the options, the origin and the trunk-to-tip direction
The tree wire
Makes a closed regular polygon wire with nrCorners corners, all on a circle of radius.
direction is the normal of the plane; the default [0, 1, 0] lays it flat on the ground.
The number of corners, the radius, the center and the plane normal
The polygon wire
Makes a closed parallelogram wire: a rectangle of width and height whose sides lean over
by angle degrees.
With aroundCenter true the shape is centered on center; otherwise it starts there and
extends in the positive directions. direction is the plane normal; the default [0, 1, 0]
lays it flat on the ground.
The width, the height, the lean angle, whether to center it, the center and the plane normal
The parallelogram wire
Makes a closed heart-shaped wire of two smooth halves that fits roughly into a square of
sizeApprox.
rotation turns it in its plane, in degrees. direction is the plane normal; the default
[0, 1, 0] lays it flat on the ground.
The approximate size, the rotation, the center and the plane normal
The heart wire
Makes a closed rectangle wire centered on center.
On the ground plane width runs along X and length along Z; direction is the normal of
the plane, and the default [0, 1, 0] keeps the wire flat on the ground.
The width, the length, the center and the plane normal
The rectangle wire
Makes a closed L-shaped wire: two rectangular legs joined at a corner.
The first leg has widthFirst and lengthFirst, the second widthSecond and
lengthSecond; align puts the corner on the outside, inside or middle of the legs, and
rotation turns the shape in its plane, in degrees. It lies flat on the ground unless
direction says otherwise.
The two leg sizes, the alignment, the rotation, the center and the plane normal
The L-shaped wire
Makes a full ellipse as a closed single-edge wire, lying in the plane whose normal is
direction.
radiusMajor must not be smaller than radiusMinor, or the kernel refuses the ellipse; the
default direction [0, 1, 0] lays it flat on the ground.
The center, the plane normal and the two radii
The ellipse wire
Makes a helix wire, a coil of constant radius that climbs pitch model units per turn
until it reaches height.
It starts beside center and climbs along direction; clockwise reverses the winding. The
helix is approximated by a smooth curve within tolerance. A radius, pitch or height of 0 or
less gives a null wire.
The radius, the pitch, the height, the base center, the axis direction, the winding and the tolerance
The helix wire
Makes a helix wire like createHelixWire, but sized by numTurns instead of a height: the
coil climbs pitch model units per turn, numTurns times.
The radius, the pitch, the number of turns, the base center, the axis direction, the winding and the tolerance
The helix wire
Makes a conical helix wire whose radius changes evenly from startRadius at the base to
endRadius at the top, climbing pitch model units per turn until it reaches height.
It starts beside center and climbs along direction; clockwise reverses the winding. The
curve is approximated within tolerance.
The start and end radii, the pitch, the height, the base center, the axis direction, the winding and the tolerance
The tapered helix wire
Makes a flat spiral wire in the plane whose normal is direction: numTurns turns whose
radius grows evenly from startRadius to endRadius.
The default direction [0, 1, 0] lays it flat on the ground; clockwise reverses the
winding, and the curve is approximated within tolerance.
The start and end radii, the number of turns, the center, the plane normal, the winding and the tolerance
The spiral wire
Writes text as stroke wires on the ground plane in the single-line Hershey simplex font, one open polyline wire per pen stroke.
height is the height of a capital letter in model units, lineSpacing and letterSpacing
are multiples of it, align lines up lines of different length, and centerOnOrigin moves
the block to the origin.
The text, its size and spacing, the alignment and the placement options
One wire per stroke, in writing order
Writes text as stroke wires like textWires and packs them into compounds, with the size of
the block alongside.
The result carries compound with the whole text, characters with one compound per
character in writing order, width and height as the extent of the block along X and
along Z, and center as the middle of the block.
The text, its size and spacing, the alignment and the placement options
The text compound, the character compounds and the measured size
Rebuilds every edge of a wire as a B-spline of a given degree, within a tolerance, and joins the results back into a wire.
Lowering the degree simplifies the curves, raising it gives later operations more freedom;
either way each new curve stays within tolerance of the old.
The wire, the degree to rebuild to and the tolerance
A new wire with the rebuilt edges
Moves the seam of a closed periodic wire, the point where it starts and ends, to a given parameter along its curve.
The geometry does not change; only where the wire is considered to begin. Meant for single-edge wires such as circles: each periodic edge is moved, edges that are not periodic stay as they are.
The periodic wire and the parameter of the new seam
A new wire starting at the seam
Moves the seam of a closed periodic wire, the point where it starts and ends, by a distance along the curve from its current start.
The geometry does not change; only where the wire is considered to begin. Meant for single-edge wires such as circles: each periodic edge is moved, edges that are not periodic stay as they are.
The periodic wire and the distance to move the seam
A new wire starting at the seam
Makes a closed wire of straight edges through a list of corner points, adding the edge from the last point back to the first.
The points need not lie in one plane; a flat face needs a planar outline though.
The corner points, in order
The closed wire
Makes a straight single-edge wire between two points.
The straight wire
Makes a straight single-edge wire between two points and lengthens it beyond each of them.
extensionStart and extensionEnd are distances in model units added past the start and the
end along the line; the two points must differ or an error is thrown.
The start and end points and the two extension lengths
The extended straight wire
Makes an open wire of straight edges through a list of points, in order.
The wire is not closed; createPolygonWire adds the edge back to the first point.
The points, in order
The open wire
Makes a smooth Bezier wire steered by control points: it starts at the first point, ends at the last and is pulled toward the ones between without passing through them.
closed appends the first point again so the ends meet; periodic instead builds a closed
curve that is smooth across the seam. degree caps how many neighbors shape each part.
The control points and the closing and degree options
The Bezier wire
Makes a Bezier wire like createBezier, with a weight per control point that says how
strongly it pulls the curve.
A weight above 1 draws the curve toward its point, below 1 lets it go. The weights must match
the points: the same count, or one more when closed is true and periodic false, as the
first point repeats.
The control points, their weights and the closing and degree options
The weighted Bezier wire
Makes a smooth B-spline wire that passes through every point in order.
periodic closes the curve so it is smooth across the seam, which gives nicely shaped loops.
parametrization controls the spacing between points: centripetal resists cusps and
overshoot when the points are uneven. startTangent and endTangent, or one tangents
entry per point, force the curve's direction there.
The points, whether to close the curve, the tolerance, the parametrization and optional tangents
The B-spline wire through the points
Makes a closed, smooth B-spline wire through the points whose shape is mirror-symmetric whenever the points are, with no odd-looking start or end point.
A plain periodic interpolatePoints can look skewed at its seam for symmetric inputs such as
a square or a triangle; this variant does not. It fails with an error if the points cannot be
interpolated.
The points and the tolerance
The closed symmetric B-spline wire
Makes a smooth B-spline wire that approximates a list of points: it follows them closely but need not pass through each one exactly.
closed appends the first point again so the ends meet. The fit uses a degree between 3 and
8 and a tolerance of 0.001 model units; use interpolatePoints when the curve must go
through the points.
The points and whether to close the curve
The B-spline wire
Draws a zig-zag line that bounces between two wires: both are divided into the same number of points and a polyline visits them alternately.
nrZigZags sets the number of bounces; inverse starts on the second wire;
divideByEqualDistance spaces the points by length rather than by parameter; with
zigZagsPerEdge true each edge gets its own zig-zag, so edge counts must match.
The two wires, the number of zig-zags and the spacing options
The zig-zag wire
Connects the start points of several wires or edges into one new wire and their end points into another.
wireType makes them polylines or smooth interpolated curves, closed joins the last point
back to the first, and tolerance is used for the interpolation. Fewer than two shapes throw
an error.
The wires or edges, the kind of wire to build, whether to close it and the tolerance
Two wires: one through the start points, one through the end points
Divides several wires or edges into the same number of points and connects the points at each position into a new wire, like the rungs of a ladder.
nrOfDivisions steps give one rung more than that; divideByEqualDistance spaces the points
by length rather than by parameter; wireType makes the rungs polylines or smooth curves,
closed joins each into a loop.
The wires or edges, the number of divisions, the spacing, the kind of wire to build, whether to close it and the tolerance
One wire per division point, in order along the shapes
Draws a closed outline around two circles that lie in one plane, joining them with tangent lines: a belt or a capsule shape.
keepLines picks the outer tangent lines (the belt) or the crossing inner ones;
circleRemainders picks which arc of each circle stays in the outline. Each circle wire must
consist of a single edge.
The two circle wires, which tangent lines and arcs to keep, and the tolerance
The closed outline wire
Wires in OpenCascade: chains of edges joined end to end, open like a path or closed like an outline. Build them from points and curves (polylines, B-splines, Beziers, interpolations, helices, spirals), as ready-made flat outlines (circles, rectangles, stars, beam profiles, text) that lie on the ground plane unless
directionsays otherwise, or by joining and splitting existing edges and wires; read them back as points, tangents, lengths and centers; map them onto faces or project them onto shapes. Parameters along a wire run from 0 at its start to 1 at its end and follow each edge's own parameter, not distance. A closed wire is whatshapes.facefills to make a face.