///|
// Represents an OFFSET_SURFACE entity.
// Example:
// OFFSET_SURFACE('name', #10, 5.0, .F.)
pub struct OffsetSurface {
name : String
basis_surface : @step.Ref
distance : Double
self_intersect : Bool
}
///|
pub fn OffsetSurface::new(
name : String,
basis_surface : @step.Ref,
distance : Double,
self_intersect : Bool,
) -> OffsetSurface {
OffsetSurface::{ name, basis_surface, distance, self_intersect, }
}
///|
pub impl @step.Entity for OffsetSurface with fn to_step(self) {
let basis_str = "#\{self.basis_surface.id.value}"
let si_str = bool_to_step(self.self_intersect)
"OFFSET_SURFACE(\{@step.step_str(self.name)},\{basis_str},\{@step.fmt_num(self.distance)},\{si_str})"
}