gmlewis/step/components/common does not have a README file
pub(all) struct Approximation {
feature : String
kind : ApproximationKind
deviation_mm : Double
control : String
}fn Approximation::new(feature~ : String, kind~ : ApproximationKind, deviation_mm~ : Double, control~ : String) -> Approximationpub(all) enum ApproximationKind {
PolylineArc
PolygonRevolve
SweptSpline
EngineeringDefault
}pub struct Component {
// private fields
}fn Component::new(name~ : String, metadata~ : Metadata, description? : String, features? : FeatureRecord) -> Componentpub(all) enum DetailLevel {
Simplified
Detailed
FullyModeled
}pub(all) struct DetailPolicy {
level : DetailLevel
threads : ThreadRepresentation
segments_per_turn : Int
circle_segments : Int
include_small_features : Bool
}pub(all) struct FeatureRecord {
modeled : Array[String]
approximated : Array[Approximation]
omitted : Array[Omission]
tolerance_mm : Double
}fn FeatureRecord::add_approximated(self : FeatureRecord, approximation : Approximation) -> FeatureRecordfn FeatureRecord::new(modeled? : Array[String], approximated? : Array[Approximation], omitted? : Array[Omission], tolerance_mm? : Double) -> FeatureRecordfn FeatureRecord::with_approximated(self : FeatureRecord, approximated : Array[Approximation]) -> FeatureRecordpub(all) struct MateAlignment {
placement : Placement
axis : (Double, Double, Double)
parent_connector : MateConnector
child_connector : MateConnector
fit : Fit
insertion_anti_parallel : Bool
axis_flipped : Bool
} derive(Eq, Debug)fn MateConnector::from_m_rad(name : String, xyz_m : (Double, Double, Double), rpy_rad : (Double, Double, Double), axis? : (Double, Double, Double), kind? : MateKind, gender? : MateGender, diameter_mm? : Double, depth_mm? : Double, fit? : Fit, description? : String) -> MateConnectorfn MateConnector::from_mm_deg(name : String, x? : Double, y? : Double, z? : Double, rx_deg? : Double, ry_deg? : Double, rz_deg? : Double, axis? : (Double, Double, Double), kind? : MateKind, gender? : MateGender, diameter_mm? : Double, depth_mm? : Double, fit? : Fit, description? : String) -> MateConnectorfn MateConnector::new(name : String, placement? : Placement, axis? : (Double, Double, Double), kind? : MateKind, gender? : MateGender, diameter_mm? : Double, depth_mm? : Double, fit? : Fit, description? : String) -> MateConnectorfn MateConnector::to_m_rad(self : MateConnector) -> ((Double, Double, Double), (Double, Double, Double))fn MatePair::resolve(self : MatePair, parent : MateConnector, child : MateConnector) -> Result[MateAlignment, MatePairError]fn MatePair::validate(self : MatePair, parent : MateConnector, child : MateConnector) -> Result[Unit, MatePairError]pub(all) enum MatePairError {
MissingConnector(String)
MissingInstance(String)
ConnectorNameMismatch(String, String)
IncompatibleKind(String, String)
IncompatibleGender(String, String)
DiameterMismatch(Double, Double)
FitMismatch(String)
InvalidConnector(String)
InvalidPair(String)
} derive(Eq, Debug)pub(all) struct Metadata {
designation : String
standard : String
family : String
size : String
length_mm : Double?
material : String?
source : String
}pub(all) struct Omission {
feature : String
reason : String
}compose(outer, inner).apply_point(p) == outer.apply_point(inner.apply_point(p))pub(all) enum SpecError {
InvalidSize(String)
UnsupportedLength(String)
InvalidDimension(String)
InvalidParameter(String)
}pub(all) enum ThreadRepresentation {
None
Cosmetic
Helical
}fn chord_deviation(radius : Double, segments : Int) -> Doublefn dir_dot(a : (Double, Double, Double), b : (Double, Double, Double)) -> Doublefn genders_compatible(parent : MateKind, parent_gender : MateGender, child : MateKind, child_gender : MateGender) -> Boolfn is_finite(v : Double) -> Boolfn is_mate_name_valid(name : String) -> Boolfn near(a : Double, b : Double, tol? : Double) -> Boolfn normalize_dir(v : (Double, Double, Double)) -> (Double, Double, Double)fn snap_connectors(parent : MateConnector, child : MateConnector, offset_mm? : Double, twist_rad? : Double, flip_axis? : Bool) -> (Placement, (Double, Double, Double))Install
Download zipA high-level 3D modeling DSL and lossless STEP (ISO 10303-21) parser/serializer in MoonBit.