+[2D into 3D – Microstation VBA- Microstation Generative Componets [GC] – Parametric Modeling]

Rotations (Descriptive geometry vs.3d translations)

P2

P3

//////////////////////////////////////////////////////////////////////////////////////

Geometric machines (Surface modelling)

//////////////////////////////////////////////////////////////////////////////////////

Parametric Design (Generative Components)

GC

Hyperbolic_Parabloid

transaction (top)
+1:points
+2:vertical lines on points
+3:add line05, line06, line07, line08, line09
+4:delete line01, line03, line05
+5:add point05, point06, point07, point08
+6:change height, nrules, sixe
+7:add line10, line11transaction

transaction (bottom) +1:  Add baselength, curveorder, outerangle, outerlength, ridgeheight
+2:  Add coordinateSystem01
+3:  Add point01, point02
+4:  step
+5:  Add point03, point04
+6:  Add point03, point04
+7:  Add bsplineCurve01, point05; change point03, point04
+8:  Change curveorder, outerangle
+9:  Change arc01, line01, line02, point01, point02, point03, point05
+10: Generate feature type GC.profile_curve01
+11: Replace existing components with profile_curve0101
+12: Change baselength, curveorder, outerangle, outerlength, ridgeheight
+13: Add framespacing, numberofframes; change profile_curve0101
+14: Change coordinateSystem01
+15: Add controlModel_baseCS, plane01
+16: Add lawCurveFrame01
+17: Add point06, point07, point08
+18: Add lawCurve01; change point06, point07
+19: Change ridgeheight
+20: Add lawCurveFrame02, lawCurveFrame03, plane02, plane03, plane04
+21: Add point09, point10, point11, point12, point13, point14
+22: Add lawCurve02, lawCurve03
+23: Add lawCurve04; change point14, profile_curve0101
+24: Add profile_curve0102
+25: Add bsplineSurface01; change baselength, curveorder, framespacing, numberofframes, outerangle, outerlength
+26: Add point15
+27: Add point16, point17, point18, point19
+28: Add cone01, cone02, cone03, line03, line04, line05
+29: Generate feature type GC.bracing01
+30: Replace existing components with bracing0101
+31: Add polygon01
+32: Add polygon02
+33:Add polyLine01; change framespacing, numberofframes, outerangle

hyperbola

ribs

transaction for ribs
round_hyper

transaction
+1:  add angle, angle_inc, low_radius, nrules, point01, point02, top_radius
+2:  add line01
+3:  add height, off_angle, offset; change angle_inc, low_radius, nrules, top_radius
+4:  change angle, angle_inc, height, low_radius, nrules, off_angle, offset, point01, top_radius
+5:  change point01
+6:  change height, low_radius, nrules, off_angle
+7:  change nrules, offset
+8:  change low_radius, top_radius
+9:  change angle, height, top_radius
+10: add point03
+11: add line02
+12: add top_radius2; change height, point03
+13: add angle_inc2, off_angle2, offset2; change point03, top_radius2
+14: change top_radius2
+15: change nrules, point02

round_hyper_spiral

transaction
+1:  add angle, angle_inc, low_radius, nrules, point01, point02, top_radius
+2:  add line01
+3:  add height, off_angle, offset; change angle_inc, low_radius, nrules, top_radius
+4:  change angle, angle_inc, height, low_radius, nrules, off_angle, offset, point01, top_radius
+5:  change point01
+6:  change height, low_radius, nrules, off_angle
+7:  change nrules, offset
+8:  change low_radius, top_radius
+9:  change angle, height, top_radius
+10: add point03
+11: add line02
+12: add top_radius2; change height, point03
+13: add angle_inc2, off_angle2, offset2; change point03, top_radius2
+14: change top_radius2
+15: change height
+16: add point04
+17: add number_inc; change point03
+18: change nrules

/////////////////////////////////////////////////////////////////////////////////////////////////////////

GC_SpiralCylinders_Root_leave’s length_Variables

GC_spiral cylinders_root_leaves

GC_spiral cylinders_root_leaves

transaction
+1:  add angle, angle_inc, low_radius, nrules, point01, point02, top_radius
+2:  add line01
+3:  add height, off_angle, offset; change angle_inc, low_radius, nrules, top_radius
+4:  change angle, angle_inc, height, low_radius, nrules, off_angle, offset, point01, top_radius
+5:  change point01
+6:  change height, low_radius, nrules, off_angle
+7:  change nrules, offset
+8:  change low_radius, top_radius
+9:  change angle, height, top_radius
+10: add point03
+11: add line02
+12: add top_radius2; change height, point03
+13: add angle_inc2, off_angle2, offset2; change point03, top_radius2
+14: change top_radius2
+15: change height
+16: add point04
+17: add number_inc; change point03
+18: change nrules
+19: change nrules, point02; delete point04
+20: add cone01, cone02, nrules2, point05; change line01, line02,
nrules, number_inc, point01, point02, point03, top_radius
+21: change cone01, cone02
+22: change low_radius, nrules, offset, top_radius, top_radius2
+23: change low_radius, nrules, nrules2, off_angle, offset, top_radius, top_radius2
+24: change cone01
+25: change cone01, cone02, low_radius, nrules, nrules2
+26: change low_radius, nrules, nrules2
+27: Change nrules, nrules2, offset, top_radius, top_radius2

//////////////////////////////////////////////////////////////////////////////////////

GC_SpiralCylinders_Root_leave’s length_

Variables_Twist

gc_spiral_cylinders_root_leave length_variables

gc_spiral_cylinders_root_leave length_variables

transaction
+1:  add angle, angle_inc, low_radius, nrules, point01, point02, top_radius
+2:  add line01
+3:  add height, off_angle, offset; change angle_inc, low_radius, nrules, top_radius
+4:  change angle, angle_inc, height, low_radius, nrules, off_angle, offset, point01, top_radius
+5:  change point01
+6:  change height, low_radius, nrules, off_angle
+7:  change nrules, offset
+8:  change low_radius, top_radius
+9:  change angle, height, top_radius
+10: add point03
+11: add line02
+12: add top_radius2; change height, point03
+13: add angle_inc2, off_angle2, offset2; change point03, top_radius2
+14: change top_radius2
+15: change height
+16: add point04
+17: add number_inc; change point03
+18: change nrules
+19: change nrules, point02; delete point04
+20: add cone01, cone02, nrules2, point05; change line01, line02,
nrules, number_inc, point01, point02, point03, top_radius
+21: change cone01, cone02
+22: change low_radius, nrules, offset, top_radius, top_radius2
+23: change low_radius, nrules, nrules2, off_angle, offset,
top_radius, top_radius2
+24: change cone01
+25: change cone01, cone02, low_radius, nrules, nrules2, offset,
top_radius, top_radius2
+26: change low_radius, nrules, nrules2
+27: change cone01, cone02, line02, nrules, nrules2, point05
+28: add point06; change height, nrules, point03, point05
+29: change angle_inc2, low_radius, nrules, nrules2, offset,
top_radius, top_radius2
+30: add cone03
+31: change low_radius, nrules, nrules2
+32: change angle, cone01, cone02, cone03, height, low_radius,
nrules, number_inc, offset, point03, point05, point06, top_radius, top_radius2

/////////////////////////////////////////////////////////////////////////////////////////////////////////

GC_Cylinders_Arc_PointLocation_Variables

gc_cylinders_arc_point location variables

gc_cylinders_arc_point location variables

transaction
+1:  add arc01
+2:  add arc02
+3:  Add point01, rule_lines
+4:  add point02
+5:  add line01; change rule_lines
+6:  add c_radius, cone01
+7:  change c_radius, cone01, rule_lines
+8:  change arc01, arc02, line01, point01, point02, rule_lines
+9:  add coordinateSystem01
+10: change arc01
+11: add arc03, line02, point03
+12: add arc04; change arc03, coordinateSystem01
+13: add point05; change arc04, c_radius
+14: add cone03, cone04, coordinateSystem02, line04; change arc01, arc04, coordinateSystem01, rule_lines
+15: add cone02, line03, point04
+16: change baseCS, coordinateSystem01, coordinateSystem02, point03, point04, point05

/////////////////////////////////////////////////////////////////////////////////////////////////////////

GC_B-SplineSurface_Root_Leaves_Length_

Points_Variables_SpinFactor

gc_b_spline surface_root_leave_length_variable_points

gc_b_spline surface_root_leave_length_variable_points

gc_b_spline surface_root_leave_length_variable_points

transaction
+1:  add bsplineCurve01, point01, point02, point03, point04
+2:  add leaf_density
+3:  add coordinateSystem01, spin_factor
+4:  add coordinateSystem02; change coordinateSystem01
+5:  add leaf_length, line01
+6:  change coordinateSystem02
+7:  add leaf_root, leaf_tip; change leaf_length, spin_factor
+8:  add cone01
+9:  Change bsplineCurve01, coordinateSystem02, leaf_length, leaf_root, leaf_tip, spin_factor
+10: Change leaf_length, leaf_root, spin_factor
+11: Change leaf_length
+12: Change baseCS, bsplineCurve01, coordinateSystem02, leaf_density, leaf_length, leaf_root, line01, point01,     point02, point03, point04, spin_factor

//////////////////////////////////////////////////////////////////////////////////////

GC_B-SplineSurface_Twist_Variables_Point_Location_

Arc_Curve_Cylinder_Length

GC_B-SplineSurface_Twist_Variables_PointLocation_Arc_Curve_Cylindrer_Length

GC_B-SplineSurface_Twist_Variables_Point__Location_ Arc_Curve_Length

GC_B-SplineSurface_Twist_Variables_Point_Location_ Arc_Curve_Cylinder_Length

GC_B-SplineSurface_Twist_Variables_Point_Location_ Arc_Curve_Cylinder_Length

GC_B-SplineSurface_Twist_Variables_Point_Location_ Arc_Curve_Cylinder_Length

transaction
+1:  add point01, point02, point03, point04, point05, point06
+2:  add bsplineCurve01, bsplineCurve01_Poles, point07
+3:  add plane01
+4:  add plane02
+5:  add direction01
+6:  add lone01
+7:  add line01
+8:  add direction02
+9:  change plane01
+10: add bsplineSurface01; change line01
+11: add bsplineSurface02
+12: change point01, point02, point03, point04, point07
+13: add point08
+14: add point09; change point08
+15: change point09
+16: Add line04, polygon01, polyLine01, polyLine01_Vertices, solid01

+17: Change polygon01

+18: Add point10, point11, point12, point13, polyLine02, polyLine02_Vertices;                                                                                change point02, point03, point06, point07 point08, point09, polyLine01_Vertices
+19: Add line05, line06; change point11, point13
+20: Change point11, point12, point13, polyLine02_Vertices
+21: Add cone01, cone02
+22: Add cone03, point14, solid02; change bsplineCurve01, cone01, direction01, direction02,                                                 line01, line02, line03, line04, line05, line06, plane01, polygon01, polyLine01,                                                  polyLine01_Vertices, polyLine0…
+23: Change cone03, plane02, solid02

//////////////////////////////////////////////////////////////////////////////////////

Process and Emergence (Scripting)

Boxes_In_Spiral

boxes in a spiral_p1

mvba script code (left)
Sub boxspiral03()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim boxlength As Double
Dim boxwith As Double
Dim boxheight As Double
Dim turn As Integer
Dim angle As Double
Dim vertstep As Double
Dim length_xdist As Double
Dim length_ydist As Double
Dim width_xdist As Double
Dim width_ydist As Double
Dim zdist As Double
boxlength = 0.2
boxwith = 0.1
boxheight = 0.1
verstep = 0.05
angle = 0
zdist = 0
‘   Coordinates are in master units
startPoint.X = 0#
startPoint.Y = 0#
startPoint.Z = 0#
For turn = 1 To 100
length_xdist = boxlength * Cos(angle)
length_ydist = boxlength * Sin(angle)
width_xdist = boxwidth * Cos((Pi / 2) + angle)
width_ydist = boxwidth * Sin((Pi / 2) – angle)
zdist = zdist + 0.0
‘   start a command
CadInputQueue.SendCommand “PLACE SLAB ICON”
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist
point.Y = startPoint.Y + length_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + width_xdist
point.Y = startPoint.Y + width_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z + boxheight
CadInputQueue.SendDataPoint point, 3
CommandState.StartDefaultCommand
angle = angle + (Pi / 24)
startPoint.Z = startPoint.Z + verstep
boxlength = boxlength – 0.01
boxwidth = boxwidth – 0.1
zdist = zdist + 0.01
Next
End Sub

mvba script code (right)
Sub boxspiral05()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim boxlength As Double
Dim boxwith As Double
Dim boxheight As Double
Dim turn As Integer
Dim angle As Double
Dim length_xdist As Double
Dim length_ydist As Double
Dim width_xdist As Double
Dim width_ydist As Double
Dim zdist As Double
boxlength = 0.2
boxwith = 0.1
boxheight = 0.1
angle = 0
zdist = 0
‘   Coordinates are in master units
startPoint.X = 0#
startPoint.Y = 0#
startPoint.Z = 0#
For turn = 1 To 100
length_xdist = boxlength * Cos(angle)
length_ydist = boxlength * Sin(angle)
width_xdist = boxwidth * Cos((Pi / 2) + angle)
width_ydist = boxwidth * Sin((Pi / 2) – angle)
‘   start a command
CadInputQueue.SendCommand “PLACE SLAB ICON”
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist
point.Y = startPoint.Y + length_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + width_xdist
point.Y = startPoint.Y + width_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z + boxheight
CadInputQueue.SendDataPoint point, 3
CommandState.StartDefaultCommand
angle = angle + (Pi / 24)
startPoint.Z = startPoint.Z + zdist
boxlength = boxlength – 0.01
boxwidth = boxwidth – 0.1
zdist = zdist + 0.01
Next
End Sub

/////////////////////////////////////////////////////////////////////////////////////

BoxesInSpiral

mvba script code
Sub boxspiral08()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim verstep As Double
Dim boxlength As Double
Dim boxwith As Double
Dim boxheight As Double
Dim turn As Integer
Dim angle As Double
Dim divisor As Integer
Dim radius As Double
Dim length_xdist As Double
Dim length_ydist As Double
Dim width_xdist As Double
Dim width_ydist As Double
Dim zdist As Double
boxlength = 0.2
boxwith = 0.1
boxheight = 0.1
angle = (Pi / 2)
zdist = 0
divisor = 0
radius = 0.015
‘   Coordinates are in master units
startPoint.X = 0#
startPoint.Y = 0#
startPoint.Z = 0#
For turn = 1 To 100
length_xdist = boxlength * (Cos(angle) / 2 + angle)
length_ydist = boxlength * (Sin(angle) / 2) – angle
width_xdist = boxwidth * Cos((Pi / 2) – angle)
width_ydist = boxwidth * Sin((Pi / 2) – angle)
‘   start a command
CadInputQueue.SendCommand “PLACE SLAB ICON”
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist
point.Y = startPoint.Y + length_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + width_xdist
point.Y = startPoint.Y + width_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z + boxheight
CadInputQueue.SendDataPoint point, 3
CommandState.StartDefaultCommand
angle = angle + (Pi / 24)
startPoint.Z = startPoint.Z + zdist
boxlength = boxlength – 0.01
boxwidth = boxwidth – 0.1
zdist = 0.05
radius = 0.015
verstep = 0.05
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

p6

mvba script code (left)
Sub boxspiral09()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim verstep As Double
Dim boxlength As Double
Dim boxwith As Double
Dim boxheight As Double
Dim turn As Integer
Dim angle As Double
Dim divisor As Integer
Dim radius As Double
Dim length_xdist As Double
Dim length_ydist As Double
Dim width_xdist As Double
Dim width_ydist As Double
Dim zdist As Double
boxlength = 0.2
boxwith = 0.1
boxheight = 0.1
angle = (Pi / 2)
zdist = 0
divisor = 0
radius = 0.015
‘   Coordinates are in master units
startPoint.X = 0#
startPoint.Y = 0#
startPoint.Z = 0#
For turn = 1 To 100
length_xdist = boxlength * (Cos(angle) / 2 + angle)
length_ydist = boxlength * (Sin(angle) / 2) – angle
width_xdist = boxwidth * Cos((Pi / 2) + angle)
width_ydist = boxwidth * Sin((Pi / 2) – angle)
‘   start a command
CadInputQueue.SendCommand “PLACE SLAB ICON”
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist
point.Y = startPoint.Y – length_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + width_xdist
point.Y = startPoint.Y – width_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z + boxheight
CadInputQueue.SendDataPoint point, 3
CommandState.StartDefaultCommand
angle = angle
startPoint.Z = startPoint.Z + zdist
boxlength = boxlength + 0.01
boxwidth = boxwidth + 0.1
zdist = 0.05
radius = 0.015
verstep = 0.05
Next
End Sub

mvba script code  (right)
Sub boxspiral011()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim boxlength As Double
Dim boxwith As Double
Dim boxheight As Double
Dim turn As Integer
Dim angle As Double
Dim vertstep As Double
Dim length_xdist As Double
Dim length_ydist As Double
Dim width_xdist As Double
Dim width_ydist As Double
Dim zdist As Double
Dim radius As Double
Dim line As Double
boxlength = 0.2
boxwith = 0.1
boxheight = 0.15
verstep = 0.05
angle = 0
zdist = 0
radius = 0.15
‘   Coordinates are in master units
startPoint.X = 0#
startPoint.Y = 0#
startPoint.Z = 0#
For turn = 1 To 100
length_xdist = boxlength * Cos(angle)
length_ydist = boxlength * Sin(angle)
width_xdist = boxwidth * Cos((Pi / 2) + angle)
width_ydist = boxwidth * Sin((Pi / 2) – angle)
radius = 0.15
zdist = zdist + 0.01
‘   start a command
CadInputQueue.SendCommand “PLACE SLAB ICON”
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist + line
point.Y = startPoint.Y + length_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + width_xdist
point.Y = startPoint.Y + width_ydist
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z + boxheight
CadInputQueue.SendDataPoint point, 3
CommandState.StartDefaultCommand’   Start a command
CadInputQueue.SendCommand “DMSG ACTIVATETOOLBYPATH
DrawingLinearPlace
SmartLine”
CadInputQueue.SendCommand “PLACE SMARTLINE”
‘   Coordinates are in master units
startPoint.X  = 0
startPoint.Y = 0
startPoint.Z = 0#
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = startPoint.X + length_xdist
point.Y = startPoint.Y + length_ydist
point.Z = startPoint.Z + boxheight + zdist
CadInputQueue.SendDataPoint point, 1
‘   Send a reset to the current command
CadInputQueue.SendReset
angle = angle + (Pi / 24)
startPoint.Z = (startPoint.Z + verstep)
boxlength = (boxlength + 0.01)
boxwidth = (boxwidth + 0.1) * (Pi / 6)
zdist = (zdist + 0.01)
radius = 0.15
line = (startPoint.Z + verstep)
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

Points_In_Spiral_Lines

PointsInSpiralLines

mvba script code (left)
Sub spiral8()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
angle = o
radius = 1
maxpoints = 100
zdist = 0

‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 4”
For npoints = 1 To 300
angle = angle + (Pi / 48)
xdist = (radius – 0.015) * Cos(2 * angle)
ydist = radius * Sin(2 * angle)
zdist = zdist + Sin(2 * angle)

CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0

‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2

point.X = (startPoint.X + xdist) * angle
point.Y = (startPoint.Y + ydist)
point.Z = (startPoint.Z + zdist)
CadInputQueue.SendDataPoint point, 2

‘   Send a reset to the current command
CadInputQueue.SendReset

CommandState.StartDefaultCommand
Next
End Sub

mvba script code (right)
Sub spiral9()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
angle = o
radius = 1
maxpoints = 100
zdist = 0

‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 3”
For npoints = 1 To 200
angle = angle + (Pi / 48)
xdist = xdist + Cos(2 * angle)
ydist = ydist + (radius * Sin(2 * angle))
zdist = Sin(2 * angle)

CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0

‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2

point.X = (startPoint.X + xdist) * Cos(angle / 2)
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * angle / 2
CadInputQueue.SendDataPoint point, 2

‘   Send a reset to the current command
CadInputQueue.SendReset

CommandState.StartDefaultCommand

Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

mvba script code
Sub spiral16()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
angle = o
radius = 1
maxpoints = 100
zdist = 0
For npoints = 1 To 200
angle = angle + (Pi / 48)
xdist = xdist + Cos(2 * angle)
ydist = ydist + (radius * Sin(2 * angle))
zdist = Sin(2 * angle)
‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 1”
CadInputQueue.SendCommand “DMSG ACTIVATETOOLBYPATH
DrawingLinearPlace SmartLine”
CadInputQueue.SendCommand “PLACE SMARTLINE”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = (startPoint.X + xdist + 0.15) * Cos(angle / 2)
point.Y = (startPoint.Y + ydist + 0.15) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist + 0.15) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 4”
CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist + 0.15) * Cos(angle / 2)
point.Y = (startPoint.Y + ydist + 0.15) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist + 0.15) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 1”
CadInputQueue.SendCommand “DMSG ACTIVATETOOLBYPATH
DrawingLinearPlace SmartLine”
CadInputQueue.SendCommand “PLACE SMARTLINE”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0’  Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = (startPoint.X + xdist) * Cos(angle / 2)
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist + 0.5) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘ Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 4”
CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist) * Cos(angle / 2)
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist + 0.5) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 1”
CadInputQueue.SendCommand “DMSG ACTIVATETOOLBYPATH
DrawingLinearPlace SmartLine”
CadInputQueue.SendCommand “PLACE SMARTLINE”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1
point.X = (startPoint.X + xdist) * Cos(angle / 2)
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 4”
CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist) * Cos(angle / 2)
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

p10

mvba script code
Sub spiral17()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
angle = o
radius = 1
maxpoints = 100
zdist = 0
For npoints = 1 To 200
angle = angle + (Pi / 48)
xdist = xdist + Cos(2 * angle)
ydist = ydist + Sin(2 * angle)
zdist = zdist + Sin(2 * angle)

‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 1”
CadInputQueue.SendCommand “DMSG ACTIVATETOOLBYPATH
DrawingLinearPlace SmartLine”
CadInputQueue.SendCommand “PLACE SMARTLINE
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 1

point.X = (startPoint.X + xdist) + Cos(angle / 2)
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * angle / 2
CadInputQueue.SendDataPoint point, 2

‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand

‘   Start a command
CadInputQueue.SendCommand “ACTIVE WEIGHT 4”
CadInputQueue.SendCommand “PLACE POINT”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist) + Cos(angle / 2)
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * angle / 2
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand

Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////////////////////////

Cylinders_In_ShadedMode

Cylinders_vba

mvba script code (left)
Sub cylinder_sphere2()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim verstep As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
verstep = 1.5
For npoints = 1 To 100
angle = angle + (Pi / 12)
xdist = xdist + Cos(2 * angle)
ydist = ydist + Sin(2 * angle)
zdist = Sin(2 * angle) + Cos(2 * angle)
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = (startPoint.X + xdist) + Cos(angle)
point.Y = (startPoint.Y + ydist)
point.Z = (startPoint.Z + zdist)
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist)
point.Y = (startPoint.Y + ydist) * Sin(angle)
point.Z = (startPoint.Z + zdist)
CadInputQueue.SendDataPoint point, 1
point.X = (startPoint.X + xdist)
point.Y = (startPoint.Y + ydist)
point.Z = (startPoint.Z + zdist) + verstep
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub


mvba script code
(right)
Sub cylinder_sphere2()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim verstep As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
verstep = 1.5
For npoints = 1 To 100
angle = angle + (Pi / 12)
xdist = xdist + Cos(2 * angle)
ydist = ydist + Sin(2 * angle)
zdist = Sin(2 * angle) + Cos(2 * angle)
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = (startPoint.X + xdist) + Cos(angle)
point.Y = (startPoint.Y + ydist)
point.Z = (startPoint.Z + zdist)
CadInputQueue.SendDataPoint point, 2
point.X = (startPoint.X + xdist)
point.Y = (startPoint.Y + ydist) * Sin(angle)
point.Z = (startPoint.Z + zdist)
CadInputQueue.SendDataPoint point, 1
point.X = (startPoint.X + xdist)
point.Y = (startPoint.Y + ydist)
point.Z = (startPoint.Z + zdist) + verstep
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

cylinders_

mvba script code (left)
Sub cylinder_sphere5()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim rotate As Double
Dim extend As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
For npoints = 1 To 100
angle = angle + (Pi / 36)
xdist = (xdist + Cos(2 * angle))
ydist = ydist + (radius * Sin(2 * angle))
zdist = (Sin(2 * angle) + Cos(2 * angle))
rotate = 1.5
extend = 1.5
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y + ydist) * Sin(angle / 2) * maxpoints
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

mvba script code (right)
Sub cylinder_sphere6()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim rotate As Double
Dim extend As Double
angle = o
radius = 1
maxpoints = 70
zdist = 0
For npoints = 1 To 70
angle = angle + (Pi / 36)
xdist = (xdist + Cos(2 * angle))
ydist = ydist + (radius * Sin(2 * angle))
zdist = (Sin(2 * angle) + Cos(2 * angle))
rotate = 1.5
extend = 1.5
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36)) * maxpoints
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand

Next

End Sub

////////////////////////////////////////////////////////////////////////////////////

cylinders_

mvba script code (left)
Sub cylinder_sphere8()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim rotate As Double
Dim extend As Double
Dim verstep As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
verstep = 1.5
For npoints = 1 To 40
angle = angle + (Pi / 36)
xdist = (xdist + Cos(2 * angle))
ydist = ydist + (radius * Sin(2 * angle))
zdist = (Sin(2 * angle) + Cos(2 * angle))
rotate = 1.5
extend = 1.5
verstep = zdist + verstep
maxpoints = maxpoints + Cos(angle)
‘   Start a command
CadInputQueue.SendCommand “PLACE SPHERE ICON”
angle = angle + Cos(Pi / 12)
xdist = radius + (Cos(2 * angle) + Sin(2 * angle))
ydist = radius * (Sin(2 * angle)) – Cos(angle)
zdist = radius + verstep + zdist
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = startPoint.X + (xdist * Cos(Pi / 12))
point.Y = startPoint.Y – ydist
point.Z = startPoint.Z + zdist
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36)) * maxpoints
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

mvba script code (right)
Sub cylinder_sphere9()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim rotate As Double
Dim extend As Double
Dim verstep As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
verstep = 1.5
For npoints = 1 To 40
angle = angle + (Pi / 36)
xdist = (xdist * Cos(2 * angle))
ydist = ydist + (radius * Sin(2 * angle))
zdist = (Sin(2 * angle) + Cos(2 * angle))
rotate = 1.5
extend = 1.5
verstep = zdist + verstep
maxpoints = maxpoints + Cos(angle)
‘   Start a command
CadInputQueue.SendCommand “PLACE SPHERE ICON”
angle = angle + Cos(Pi / 12)
xdist = radius * (Cos(2 * angle) + Sin(2 * angle))
ydist = radius * (Sin(2 * angle)) – Cos(angle)
zdist = radius * (verstep + zdist)
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = startPoint.X + (xdist * Cos(Pi / 12))
point.Y = startPoint.Y – ydist
point.Z = startPoint.Z + zdist
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36)) * maxpoints
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////                                     cylinders

mvba script code
Sub cylinder_sphere10()
Dim startPoint As Point3d
Dim point As Point3d, point2 As Point3d
Dim lngTemp As Long
Dim radius As Double
Dim angle As Double
Dim xdist As Double
Dim ydist As Double
Dim npoints As Integer
Dim zdist As Double
Dim divisor As Integer
Dim turn As Integer
Dim maxpoints As Integer
Dim rotate As Double
Dim extend As Double
Dim verstep As Double
angle = o
radius = 1
maxpoints = 100
zdist = 0
verstep = 1.5
For npoints = 1 To 40
angle = angle + (Pi / 36)
xdist = (xdist * Cos(2 * angle))
ydist = ydist + (radius * Sin(2 * angle))
zdist = (Sin(2 * angle) + Cos(2 * angle))
rotate = 1.5
extend = 1.5
verstep = zdist + verstep
maxpoints = maxpoints + Cos(angle)
‘   Start a command
CadInputQueue.SendCommand “PLACE SPHERE ICON”
angle = angle * Cos(Pi / 12)
xdist = radius * (Cos(2 * angle) + Sin(2 * angle))
ydist = radius * (Sin(2 * angle)) – Cos(angle)
zdist = radius * (verstep + zdist)
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = startPoint.X + (xdist * Cos(Pi / 12))
point.Y = startPoint.Y – ydist
point.Z = startPoint.Z + zdist
CadInputQueue.SendDataPoint point, 2
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
‘   Start a command
CadInputQueue.SendCommand “PLACE CYLINDER ICON”
‘   Coordinates are in master units
startPoint.X = 0
startPoint.Y = 0
startPoint.Z = 0
‘   Send a data point to the current command
point.X = startPoint.X
point.Y = startPoint.Y
point.Z = startPoint.Z
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36)) * maxpoints
point.Y = (startPoint.Y + ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 2
point.X = ((startPoint.X + xdist) * Cos(Pi / 36))
point.Y = (startPoint.Y – ydist) * Sin(angle / 2)
point.Z = (startPoint.Z + zdist) * Cos(angle / 2)
CadInputQueue.SendDataPoint point, 3
‘   Send a reset to the current command
CadInputQueue.SendReset
CommandState.StartDefaultCommand
Next
End Sub

//////////////////////////////////////////////////////////////////////////////////////

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

3D Model

Ruled_Surface

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

transaction
+1:  add bsplineCurve01, point01, point02, point03, point04
+2:  add leaf_density
+3:  add coordinateSystem01, spin_factor
+4:  add coordinateSystem02; change coordinateSystem01
+5:  add leaf_length, line01
+6:  change coordinateSystem02
+7:  add leaf_root, leaf_tip; change leaf_length, spin_factor
+8:  add cone01
+9:  change bsplineCurve01, coordinateSystem02, leaf_length, leaf_root, leaf_tip, spin_factor
+10: change leaf_length, leaf_root, spin_factor
+11: change leaf_length
+12: add bsplineCurve02, nrules, point05, point06, point07; change coordinateSystem02, leaf_density, leaf_length, leaf_root, line01, point02, point04, spin_factor
+13: add point08; change bsplineCurve02, point05, point06
+14: add cone02, point09; change leaf_density, leaf_root, leaf_tip, nrules
+15: change point03, point06
+16: change baseCS, bsplineCurve01, bsplineCurve02, point01, point02, point03, point04, point05, point06, point07, point08, point09
+17: change point04, point05, point06
+18: change baseCS, bsplineCurve01, bsplineCurve02, point01, point02, point03, point04, point05, point06, point07, point08, point09
+19: change cone02

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

/////////////////////////////////////////////////////////////////////////////////////////

3D Model 1

Ruled_Surface

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

transaction
+1:  add bsplineCurve01, point01, point02, point03, point04
+2:  add leaf_density
+3:  add coordinateSystem01, spin_factor
+4:  add coordinateSystem02; change coordinateSystem01
+5:  add leaf_length, line01
+6:  change coordinateSystem02
+7:  add leaf_root, leaf_tip; change leaf_length, spin_factor
+8:  add cone01
+9:  change bsplineCurve01, coordinateSystem02, leaf_length, leaf_root, leaf_tip, spin_factor
+10: change leaf_length, leaf_root, spin_factor
+11: change leaf_length
+12: add bsplineCurve02, nrules, point05, point06, point07; change coordinateSystem02,                               leaf_density, leaf_length, leaf_root, line01, point02, point04, spin_factor
+13: add point08; change bsplineCurve02, point05, point06
+14: add cone02, point09; change leaf_density, leaf_root, leaf_tip, nrules
+15: change point03, point06

Photographic_Images

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

/////////////////////////////////////////////////////////////////////////////////////////

3D Model2

Ruled_Surface

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

transaction
+1:  add point01, point02, point03, point04, point05, point06, point07, point08, point09
+2:  add arc01; change point01, point03, point07, point08, point09
+3:  add bsplineCurve01; change point04, point05, point06
+4:  add cone01, nrulles, point10, point11; change point02, point03, point04
+5:  change arc01, baseCS, bsplineCurve01, point01, point02, point03, point04,
+6:  change point05, point06, point07, point08, point09, point10, point11

Photographic_Images

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

Rapid prototyping (CNC Router, Laser cutter and Fused Deposition Modelling)

//////////////////////////////////////////////////////////////////////////////////////////

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s