Expand description
Author IFC geometry entities from plain numbers.
The write direction of this bridge (ADR 0011). Everything here is
kernel-free: arguments are f64, [f64; 3], and index buffers, no
signature names an axiolid type, and the module compiles with
--no-default-features. That is what lets an application compute with
CGAL, OCCT, or Axiolid and still author through one API – the kernel is
a source of numbers, never a dependency of the writer.
IFC geometry entities are exact descriptions, not evaluations, so
writing them needs no evaluator. A cut is stored as an unevaluated
IfcBooleanResult: this module never tessellates, matching the standing
invariant of the read direction.
Slot positions are not restated here. Each writer indexes the same
pub(crate) mod slot constants its reader uses, so a layout correction
lands once and serves both directions.
Values follow the declared attribute type (#200): a defined type such as
IfcParameterValue is written bare, and only a SELECT slot carries the
typed parameter of its member. Where a slot changes kind between releases
(the directrix sweeps’ trims), a *_in writer takes the model and binds
its declared release.
Structs§
- AsymmetricI
Dims - The required dimensions of an asymmetric I-section.
- AsymmetricI
Extras - The optional attributes an asymmetric I-section may carry.
- CShape
Dims - The required dimensions of a C-section.
- Flanged
Dims - The required dimensions of a T, U or Z section.
- IShape
Dims - The four required dimensions of an I-section.
- IShape
Extras - The optional radii and slope an I-section may carry.
- Knot
Vector - The knot vector of a B-spline curve.
- LShape
Extras - The optional radii and slope an L-section may carry.
- Polynomial
Coefficients - The per-axis coefficient lists of an
polynomial_curve. - Profile
Header - The two attributes every parameterized profile carries.
- Rectangle
Hollow Dims - The required dimensions of a rectangular hollow section.
- Rectangle
Hollow Fillets - The two optional fillet radii of a rectangular hollow section.
- Surface
Basis - Everything a B-spline surface states apart from its control grid.
- Surface
Knots - A knot vector along one surface direction.
- Sweep
Trim - Optional trim parameters shared by the directrix-driven sweeps.
- TShape
Extras - The optional radii and slopes a T-section may carry.
- Transform
- The axes and scale shared by every transformation operator.
- Trapezium
Dims - The required dimensions of a trapezium.
- Triangulated
Extras - The optional parts of an
IfcTriangulatedFaceSet. - UShape
Extras - The optional radii and slope a U-section (channel) may carry.
- ZShape
Extras - The optional radii a Z-section may carry.
Enums§
- Bare
Topology - Stage a bare
IfcLooporIfcVertex. - Brep
Kind - Which brep flavour to author.
- Connection
Kind - Which connection geometry form to author.
- Curve
Measure - A length along a curve, or a parameter in its own space.
- OnSurface
Kind - Which composite-curve-on-surface flavour to author.
- Poly
Curve Segment - One member of an
IfcSegmentIndexSelect. - Profile
Type IfcProfileTypeEnum: whether the profile bounds an area or is a bare curve.- Sectioned
Kind - Which sectioned entity to stage.
- Shell
Kind - Which shell kind a face set forms.
- Spiral
Kind - Which spiral to stage, with its defining terms.
- Surface
Curve Kind - Which surface curve flavour to author.
- Surface
Curve Representation - Which representation of a surface curve is authoritative.
Functions§
- arbitrary_
closed_ profile - Stage an
IfcArbitraryClosedProfileDeffrom an outer curve. - arbitrary_
open_ profile - Stage an
IfcArbitraryOpenProfileDef. - arbitrary_
profile_ with_ voids - Stage an
IfcArbitraryProfileDefWithVoids. - asymmetric_
i_ shape - Stage an
IfcAsymmetricIShapeProfileDef. - axis1_
placement - Stage an
IfcAxis1Placement: a point and an optional axis direction. - axis2_
placement_ 2d - Stage an
IfcAxis2Placement2D. - axis2_
placement_ 3d - Stage an
IfcAxis2Placement3D. - bare_
topology - Stage an attribute-less topological item.
- block
- Stage an
IfcBlock: a box with a corner atposition. - boolean_
clipping_ result - Stage an
IfcBooleanClippingResult. - boolean_
result - Stage an
IfcBooleanResult. - bounding_
box - Stage an
IfcBoundingBox. - boxed_
half_ space - Stage an
IfcBoxedHalfSpace. - bspline_
curve_ with_ knots - Stage an
IfcBSplineCurveWithKnots. - bspline_
surface_ with_ knots - Stage an
IfcBSplineSurfaceWithKnots. - c_shape
- Stage an
IfcCShapeProfileDef. - cartesian_
point - Stage an
IfcCartesianPoint. - cartesian_
point_ list_ 2d - Stage an
IfcCartesianPointList2D. - cartesian_
point_ list_ 3d - Stage an
IfcCartesianPointList3D. - center_
line_ profile - Stage an
IfcCenterLineProfileDef. - circle
- Stage an
IfcCircle. - circle_
hollow_ profile - Stage an
IfcCircleHollowProfileDef. - circle_
profile - Stage an
IfcCircleProfileDef. - composite_
curve - Stage an
IfcCompositeCurveover existing segments. - composite_
curve_ on_ surface - Stage a composite curve lying on a surface.
- composite_
curve_ segment - Stage an
IfcCompositeCurveSegment. - composite_
profile - Stage an
IfcCompositeProfileDef. - cone
- Stage an
IfcRightCircularCone. - connection_
geometry - Stage a connection geometry.
- connection_
point_ eccentricity - Stage an
IfcConnectionPointEccentricity. - csg_
solid - Stage an
IfcCsgSolidover a tree root. - curve_
bounded_ plane - Stage an
IfcCurveBoundedPlane: a plane cut to an outline. - curve_
bounded_ surface - Stage an
IfcCurveBoundedSurface. - curve_
segment - Stage an
IfcCurveSegment. - cylinder
- Stage an
IfcRightCircularCylinder. - cylindrical_
surface - Stage an
IfcCylindricalSurface. - derived_
profile - Stage an
IfcDerivedProfileDef: a parent profile plus a transform. - direction
- Stage an
IfcDirection. - directrix_
derived_ reference_ swept_ area_ solid - Stage an
IfcDirectrixDerivedReferenceSweptAreaSolid. - edge
- Stage an
IfcEdgebetween two vertices. - edge_
curve - Stage an
IfcEdgeCurve: an edge with curve geometry. - edge_
loop - Stage an
IfcEdgeLoopover oriented edges. - ellipse
- Stage an
IfcEllipse. - ellipse_
profile - Stage an
IfcEllipseProfileDef. - extruded_
area_ solid - Stage an
IfcExtrudedAreaSolid. - extruded_
area_ solid_ tapered - Stage an
IfcExtrudedAreaSolidTapered. - face
- Stage an
IfcFacefrom its bounds. - face_
based_ surface_ model - Stage an
IfcFaceBasedSurfaceModel. - face_
bound - Stage an
IfcFaceBound. - face_
outer_ bound - Stage an
IfcFaceOuterBound: the bound enclosing the face’s area. - face_
surface - Stage an
IfcFaceSurfaceorIfcAdvancedFace. - fixed_
reference_ swept_ area_ solid - Stage an
IfcFixedReferenceSweptAreaSolid, in the IFC4X3 form. - fixed_
reference_ swept_ area_ solid_ in - Stage an
IfcFixedReferenceSweptAreaSolidinmodel’s declared release. - geometric_
set - Stage an
IfcGeometricSetorIfcGeometricCurveSet. - gradient_
curve - Stage an
IfcGradientCurve. - grid
- Stage an
IfcGrid: the U/V/W axis system a plan is dimensioned against. - grid_
axis - Stage an
IfcGridAxis. - grid_
placement - Stage an
IfcGridPlacement: a placement located on a grid. - grid_
with_ owner_ history gridin the model’s declared release, with a caller-suppliedIfcOwnerHistory, which IFC2X3 requires on everyIfcRoot.- half_
space - Stage an
IfcHalfSpaceSolid: everything on one side of a surface. - i_shape
- Stage an
IfcIShapeProfileDef. - indexed_
poly_ curve - Stage an
IfcIndexedPolyCurveover a point list. - indexed_
polygonal_ face - Stage an
IfcIndexedPolygonalFace. - indexed_
polygonal_ face_ with_ voids - Stage an
IfcIndexedPolygonalFaceWithVoids. - l_shape
- Stage an
IfcLShapeProfileDef. - line
- Stage an
IfcLinethrough a point along a vector. - local_
placement - Stage an
IfcLocalPlacement. - manifold_
solid_ brep - Stage a manifold solid brep, with or without voids.
- mapped_
item - Stage an
IfcMappedItem: one placed instance of a mapped shape. - mirrored_
profile - Stage an
IfcMirroredProfileDef. - offset_
curve_ 2d - Stage an
IfcOffsetCurve2D. - offset_
curve_ 3d - Stage an
IfcOffsetCurve3D. - offset_
curve_ by_ distances - Stage an
IfcOffsetCurveByDistances. - open_
cross_ profile - Stage an
IfcOpenCrossProfileDef. - oriented_
edge - Stage an
IfcOrientedEdgeover an existing edge. - path
- Stage an
IfcPath: an ordered run of oriented edges. - pcurve
- Stage an
IfcPcurve: a curve in a surface’s parameter space. - plane
- Stage an
IfcPlane. - point_
on_ curve - Stage an
IfcPointOnCurve. - point_
on_ surface - Stage an
IfcPointOnSurface. - poly_
loop - Stage an
IfcPolyLoopthrough an ordered point list. - polygonal_
bounded_ half_ space - Stage an
IfcPolygonalBoundedHalfSpace. - polygonal_
face_ set - Stage an
IfcPolygonalFaceSetover existing faces. - polyline
- Stage an
IfcPolyline. - polynomial_
curve - Stage an
IfcPolynomialCurve. - profile_
def - Stage a bare
IfcProfileDef. - rational_
bspline_ curve_ with_ knots - Stage an
IfcRationalBSplineCurveWithKnots. - rational_
bspline_ surface_ with_ knots - Stage an
IfcRationalBSplineSurfaceWithKnots. - rectangle_
hollow_ profile - Stage an
IfcRectangleHollowProfileDef. - rectangle_
profile - Stage an
IfcRectangleProfileDef. - rectangular_
pyramid - Stage an
IfcRectangularPyramid. - rectangular_
trimmed_ surface - Stage an
IfcRectangularTrimmedSurface. - reparametrised_
composite_ curve_ segment - Stage an
IfcReparametrisedCompositeCurveSegment. - representation_
map - Stage an
IfcRepresentationMap: a reusable shape and its origin. - revolved_
area_ solid - Stage an
IfcRevolvedAreaSolid. - revolved_
area_ solid_ tapered - Stage an
IfcRevolvedAreaSolidTapered. - rounded_
rectangle_ profile - Stage an
IfcRoundedRectangleProfileDef. - sectioned
- Stage an
IfcSectionedSolidHorizontalorIfcSectionedSurface. - sectioned_
spine - Stage an
IfcSectionedSpine. - segmented_
reference_ curve - Stage an
IfcSegmentedReferenceCurve. - shape_
aspect - Stage an
IfcShapeAspect: a named part of a product shape. - shell
- Stage a shell over a set of faces.
- shell_
based_ surface_ model - Stage an
IfcShellBasedSurfaceModel. - sphere
- Stage an
IfcSphere. - spherical_
surface - Stage an
IfcSphericalSurface. - spiral
- Stage a transition spiral.
- subedge
- Stage an
IfcSubedge. - surface_
curve - Stage a surface curve.
- surface_
curve_ swept_ area_ solid - Stage an
IfcSurfaceCurveSweptAreaSolid, in the IFC4X3 form. - surface_
curve_ swept_ area_ solid_ in - Stage an
IfcSurfaceCurveSweptAreaSolidinmodel’s declared release. - surface_
of_ linear_ extrusion - Stage an
IfcSurfaceOfLinearExtrusion: a surface, not a solid. - surface_
of_ revolution - Stage an
IfcSurfaceOfRevolution. - swept_
disk_ solid - Stage an
IfcSweptDiskSolid: a disk swept along a curve. - swept_
disk_ solid_ polygonal - Stage an
IfcSweptDiskSolidPolygonal. - t_shape
- Stage an
IfcTShapeProfileDef. - topology_
representation - Stage an
IfcTopologyRepresentation. - toroidal_
surface - Stage an
IfcToroidalSurface. - transformation_
operator_ 2d - Stage an
IfcCartesianTransformationOperator2D. - transformation_
operator_ 2d_ non_ uniform - Stage an
IfcCartesianTransformationOperator2DnonUniform. - transformation_
operator_ 3d - Stage an
IfcCartesianTransformationOperator3D. - transformation_
operator_ 3d_ non_ uniform - Stage an
IfcCartesianTransformationOperator3DnonUniform. - trapezium_
profile - Stage an
IfcTrapeziumProfileDef. - triangulated_
face_ set - Stage an
IfcTriangulatedFaceSetover an existing point list. - triangulated_
irregular_ network - Stage an
IfcTriangulatedIrregularNetwork. - trimmed_
curve - Stage an
IfcTrimmedCurve. - u_shape
- Stage an
IfcUShapeProfileDef. - vector
- Stage an
IfcVector: a direction with a magnitude. - vertex_
loop - Stage an
IfcVertexLoop: a degenerate loop at a single vertex. - vertex_
point - Stage an
IfcVertexPoint. - virtual_
grid_ intersection - Stage an
IfcVirtualGridIntersection. - z_shape
- Stage an
IfcZShapeProfileDef.