// Bentley GenerativeComponents Transaction File -- File structure version 1.03. (Please do not delete or change this line.) environment { GCVersion = "08.09.05.50"; MSVersion = "08.09.04.51"; MSProject = "GC_Default"; MSDesignFile = "C:\\Documents and Settings\\Rob Woodbury\\Local Settings\\Application Data\\Bentley\\MicroStation\\8.9\\s0_tIuz1-SOIbXHdlUtOuQ\\GC\\workdgn\\$gcworkdgn.tmp"; } transaction modelBased "JIG: Three points on XY plane" { feature point01 GC.Point { CoordinateSystem = baseCS; XTranslation = (3.11121774772391); YTranslation = (-10.70434177215191); ZTranslation = (0.0); HandlesVisible = true; SymbolXY = {97, 101}; } feature point02 GC.Point { CoordinateSystem = baseCS; XTranslation = (10.3691165804087); YTranslation = (-14.22991139240508); ZTranslation = (0.0); HandlesVisible = true; SymbolXY = {98, 101}; } feature point03 GC.Point { CoordinateSystem = baseCS; XTranslation = (13.6809733293038); YTranslation = (-11.823329113924062); ZTranslation = (0.0); HandlesVisible = true; SymbolXY = {99, 101}; } } transaction modelBased "JIG: An arc based on the points" { feature arc01 GC.Arc { StartPoint = point01; PointOnCurve = point02; EndPoint = point03; SymbolXY = {98, 102}; } } transaction modelBased "JIG: Five points on the XZ plane" { feature point04 GC.Point { CoordinateSystem = baseCS; XTranslation = (0.817343850519002); YTranslation = (0.0); ZTranslation = (2.54843748758211); HandlesVisible = true; SymbolXY = {101, 101}; } feature point05 GC.Point { CoordinateSystem = baseCS; XTranslation = (3.99062184578395); YTranslation = (0.0); ZTranslation = (6.94073695241147); HandlesVisible = true; SymbolXY = {102, 101}; } feature point06 GC.Point { CoordinateSystem = baseCS; XTranslation = (8.30179245551258); YTranslation = (0.0); ZTranslation = (1.75070923890402); HandlesVisible = true; SymbolXY = {103, 101}; } feature point07 GC.Point { CoordinateSystem = baseCS; XTranslation = (12.1642166820724); YTranslation = (0.0); ZTranslation = (7.50179710302836); HandlesVisible = true; SymbolXY = {104, 101}; } feature point08 GC.Point { CoordinateSystem = baseCS; XTranslation = (16.4593606352593); YTranslation = (0.0); ZTranslation = (3.30186111841051); HandlesVisible = true; SymbolXY = {105, 101}; } } transaction modelBased "JIG: A bsplinecurve based on the points" { feature bsplineCurve01 GC.BSplineCurve { Poles = {point04,point05,point06,point07,point08}; Order = 3; SymbolXY = {103, 102}; } } transaction modelBased "JIG: Hide constructing points" { feature point01 GC.Point { Visible = false; } feature point02 GC.Point { Visible = false; } feature point03 GC.Point { Visible = false; } feature point04 GC.Point { Visible = false; } feature point05 GC.Point { Visible = false; } feature point06 GC.Point { Visible = false; } feature point07 GC.Point { Visible = false; } feature point08 GC.Point { Visible = false; } } transaction modelBased "JIG: A surface by lofting curves" { feature bsplineSurface01 GC.BSplineSurface { Curves = {arc01,bsplineCurve01}; SymbolXY = {100, 103}; } } transaction modelBased "JIG: Hide constructs" { feature arc01 GC.Arc { Visible = false; } feature bsplineCurve01 GC.BSplineCurve { Visible = false; } } transaction modelBased "Solid offset by the surface" { feature offsetFromSurface GC.Solid { SurfaceToOffset = bsplineSurface01; OffsetAboveSurface = 0.5; OffsetBelowSurface = 0.5; AutoHideInputs = false; SymbolXY = {101, 105}; } } transaction modelBased "Make offset solid invisible for next steps" { feature offsetFromSurface GC.Solid { Visible = false; } } transaction modelBased "OCOP: A collection of points on the surface" { feature point09 GC.Point { Surface = bsplineSurface01; U = Series(1/5,4/5,1/5); V = Series(1/5,4/5,1/5); HandlesVisible = true; Replication = ReplicationOption.AllCombinations; SymbolXY = {98, 104}; } } transaction modelBased "OCOP+JIG: Normal directions on the surface" { feature direction01 GC.Direction { Surface = bsplineSurface01; U = Series(1/5,4/5,1/5); V = Series(1/5,4/5,1/5); Replication = ReplicationOption.AllCombinations; SymbolXY = {99, 104}; } } transaction modelBased "PlaceHolder: Reference lines for the cones" { feature line01 GC.Line { StartPoint = point09; Direction = direction01; Length = 2; SymbolXY = {98, 105}; } feature line02 GC.Line { StartPoint = point09; Direction = direction01; Length = -2; SymbolXY = {99, 105}; } } transaction modelBased "Solid Cones" { feature cones GC.Solid { StartPoint = line01.EndPoint; EndPoint = line02.EndPoint; StartRadius = line01.Length/3; EndRadius = line01.Length/20; SymbolXY = {100, 106}; } } transaction modelBased "Hide constructs" { feature bsplineSurface01 GC.BSplineSurface { Visible = false; } feature direction01 GC.Direction { Visible = false; } feature line01 GC.Line { Visible = false; } feature line02 GC.Line { Visible = false; } feature point09 GC.Point { Visible = false; } } transaction modelBased "Collapse multiple cones into a single logical solid." { feature conesAsOneSolid GC.Solid { SolidsToUnion = cones; SymbolXY = {100, 107}; } } transaction modelBased "Make offset solid visible for next step." { feature offsetFromSurface GC.Solid { Visible = true; } } transaction modelBased "Cutting cones from the solid" { feature cones GC.Solid { Visible = false; } feature perforated GC.Solid { Solid0 = offsetFromSurface; Solid1 = conesAsOneSolid; Operation = BooleanOperation.Difference; SymbolXY = {101, 108}; } }