<table>
<tr>
<td>[[image:Cube-icon.png | link=Getting_Started_with_EM.Cube]] [[image:cad-ico.png | link=Building_Geometrical_Constructions_in_CubeCAD]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:static-ico.png | link=EM.Ferma]] [[image:planar-ico.png | link=EM.Picasso]] [[image:metal-ico.png | link=EM.Libera]] [[image:po-ico.png | link=EM.Illumina]]</td>
<tr>
</table>
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
<br />
Â
== Box Tool ==
BOX PARAMETERS
{| border="0"
|-
| valign="top"|
|-
{| class="wikitable"
|-
</td>
</tr>
</table>
<table>
<tr>
<td>
</table>
== Cylinder Circle Strip Tool ==
ICON: [[File:cylinder_tool_tncirclestrip_tool_tn.png]]
MENU: '''Object Objects → Solid Surfaces → CylinderCircle Strip'''
TO DRAW A CYLINDERCIRCLE STRIP:
# Activate the '''Cylinder Circle Strip Tool'''.# Left-click to establish define the center of the bottom base.origin# Drag the mouse away from the origin to create establish the desired base radius. Left-click a second time to establish the cylinder's base.# Drag the mouse up and away from the active work plane to establish the cylinder's height. Left-click a third time to complete the cylindercircle strip.
PYTHON COMMAND: cylindercirc_strip(label,x0,y0,z0,radiusouter_radius,heightinner_radius[,start_angle,end_angle,cap_top,cap_bottom])
CYLINDER CIRCLE STRIP PARAMETERS{| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | base_radiusouter_radius
| real numeric
| project units
| -
| -circle's outer radius
|-
! scope="row" | heightinner_radius
| real numeric
| project units
| - 0 | -inner radius creating a ring object
|-
! scope="row" | start_angle
| real numeric
| degrees
| 0
| start azimuth angle
|-
| real numeric
| degrees
| 360
| end azimuth angle
|}
Â
<table>
<tr>
<td>
[[Image:cad_surf2.png|thumb|left|480px|The property dialog of the circle strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_circular_strip_new.png|thumb|left|550px|The geometry of the circle strip object with zero inner radius.]]
</td>
</tr>
<tr>
<td>
[[Image:Cad_surf2_2nd.png|thumb|left|480px|The property dialog of the circle strip object with a nonzero inner radius.]]
</td>
</tr>
<tr>
<td>
[[Image:09b_circle_strip_tn_newA.png|thumb|left|550px|The geometry of the circle strip object with a nonzero inner radius.]]
</td>
</tr>
<tr>
<td>
[[Image:Cad_surf2_3rd.png|thumb|left|480px|The property dialog of the circle strip object with nonzero start and end angles.]]
</td>
</tr>
<tr>
<td>
[[Image:09b_circle_strip_tn_newB.png|thumb|left|550px|A circle strip with nonzero start and end angles.]]
</td>
</tr>
</table>
Â
== Circle Tool ==
Â
ICON: [[File:circle_tool_tn.png]]
Â
MENU: '''Object → Curve → Circle'''
Â
TO DRAW A CIRCLE:
Â
# Activate the '''Circle Tool'''.
# Left-click at the desired location on the active grid to establish the origin.
# Drag your mouse away from the origin to set the desired radius.
# Left click a second time to complete the circle.
Â
Â
PYTHON COMMAND: circle(label,x0,y0,z0,radius,start_angle,end_angle)
Â
Â
CIRCLE PARAMETERS
{| class="wikitable"
|-
! scope="rowcol" | cap_topParameter Name! scope="col"| BooleanValue Type! scope="col"| -Units! scope="col"| TRUE Default Value! scope="col"| places a cap at topNotes
|-
! scope="row" | cap_bottomLCS_X| Booleanreal numeric| project units | - | X-coordinates of base |-! scope="row" | LCS_Y | real numeric| project units | - | Y-coordinates of base |-! scope="row" | LCS_Z| real numeric| project units | - | Z-coordinates of base |-! scope="row" | rot_X| real numeric| degrees | - | local rotation about X-axis|-! scope="row" | rot_Y| real numeric| degrees | - | local rotation about Y-axis|-! scope="row" | rot_Z| real numeric| degrees | - | local rotation about Z-axis|-! scope="row" | radius| real numeric| project units | -
| -
| TRUE -! scope="row" | places a cap at bottom basestart_angle| real numeric| degrees| 0| start azimuth angle|-! scope="row" | end_angle| real numeric| degrees| 360| end azimuth angle
|}
<tr>
<td>
[[Image:cad_solid2cad_curve2.png|thumb|left|480px|The property dialog of the cylinder circle object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_cylinder_newresize_circle_new.png|thumb|left|550px|The geometry of the cylinder circle object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:02b_cylinder_tn_new21_circle_tn_newA.png|thumb|left|550px|The local coordinate system (LCS) of the circle object.]] </td></tr><tr><td> [[Image:Cad_curve2_2nd.png|thumb|left|480px|The property dialog of the circle object with nonzero start and end angles.]] </td></tr><tr><td> [[Image:21_circle_tn_newB.png|thumb|left|550px|A cylinder circle with a nonzero start and end angleangles.]]
</td>
</tr>
CONE PARAMETERS
{| border="0"
|-
| valign="top"|
|-
{| class="wikitable"
|-
</td>
</tr>
</table>
<table>
<tr>
<td>
</td>
</tr>
<tr>
<td>
[[Image:Cad_solid3_2nd.png|thumb|left|480px|The property dialog of the cone object with a nonzero top radius.]]
</td>
</tr>
</table>
<table>
<tr>
<tr>
<td>
</table>
== Pyramid Tool Curve Generator ==
ICON: [[File:pyramid_tool_tncurve_gen_tool_tn.png]]
MENU: '''Object → Solid Curve → PyramidCurve Generator'''
TO DRAW A PYRAMIDPARAMETRIC CURVE:
# Activate the '''Pyramid Curve Generator Tool'''.# Left-click to establish the first point location of the rectangular base planenew parametric curve. A default oblique line appears in the project workspace.# Define The curve generator dialog opens up on the desired area lower left corner of the base screen. You have three options for '''Model''' type: '''Cartesian Curve''', '''Polar Curve''' or '''Parametric Curve'''. The default option is the Cartesian curve. # In the case of a Cartesian curve, you also have three options for '''Orientation''': XY, YZ or ZX planes. With the XY plane by dragging orientation, the mouse away from Cartesian curve is expressed as y = f(x). With the first pointYZ plane orientation, the Cartesian curve is expressed as z = f(y). Left-click a second time to establish With the base ZX planeorientation, the Cartesian curve is expressed as x = f(z). # Drag Enter the mouse away from start, stop and step values for the base range of the coordinate variable in the selected orientation plane to establish .# Enter a mathematical expression in terms of the coordinate variable in the selected orientation plane for the definition of the desired heightCartesian curve. Left-click # In the case of a third time polar curve, the radial coordinate is expressed as a function of the polar angle t: r = r(t). # In the case of a parametric curve, the x, y and z coordinates are expressed as three separate functions of the parameter t: x(t), y(t), z(t). # For a polar or parametric curve, enter the start, stop and step values for the range of the variable t.# Enter the defining expression(s) for the curve. # Make sure to click the <b>OK</b> button of the dialog to complete the pyramidcurve construction.
NOTES, SPECIAL CASES OR EXCEPTIONS: You can always edit and modify a parametric curve after you first create it in the curve generator. The property dialog of a parametric curve object is indeed the curve generator itself, where you can change the parameter values or the defining expression(s). All the curves created by the curve generator are of the polyline type.
PYTHON COMMAND: pyramid(label,x0,y0,z0,base_x,base_y,height[,top_x,top_y,cap_top,cap_bottom])
PYTHON COMMAND: param_curve(label,x0,y0,z0,model,orientation,start,stop,step,function[,y(t),z(t)])
PYRAMID PARAMETRIC CURVE PARAMETERS{| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| project units
| -
| X-coordinates of base the surface
|-
! scope="row" | LCS_Y
| project units
| -
| Y-coordinates of base the surface
|-
! scope="row" | LCS_Z
| project units
| -
| Z-coordinates of base the surface
|-
! scope="row" | rot_X
| real numeric
| degrees
| - 0
| local rotation about X-axis
|-
| real numeric
| degrees
| - 0
| local rotation about Y-axis
|-
| real numeric
| degrees
| - 0
| local rotation about Z-axis
|-
! scope="row" | base_size_Xmodel| real numericthree options: Cartesian, polar or parametric| project units - | - Cartesian| -the curve definition type
|-
! scope="row" | base_size_Yorientation| real numericthree options: XY, YZ or ZX| project units - | - XY | -the coordinate plane in which the Cartesian curve is drawn (only for Cartesian curve)
|-
! scope="row" | top_size_Xstart
| real numeric
| project units
| 0
| -start value of range of the coordinate variable
|-
! scope="row" | top_size_Ystop
| real numeric
| project units
| 0 10 | -stop value of range of the coordinate variable
|-
! scope="row" | heightstep| real integer numeric
| project units
| - 1| -step value of range of the coordinate variable
|-
! scope="row" | top_offset_Xfunction| real numeric| project units | 0 text string
| -
| x
| mathematical expression in the local coordinate variable
|-
! scope="row" | top_offset_Yy(t)| real numeric| project units | 0 text string
| -
| t
| mathematical expression in the variable t (only for parametric curve)
|-
! scope="row" | fix_center_Xz(t)| Booleantext string
| -
| TRUE t| fixes X-coordinate of base|-! scope="row" | fix_center_Y| Boolean| -| TRUE | fixes Y-coordinate of base|-! scope="row" | cap_top| Boolean| -| TRUE | places a cap at top|-! scope="row" | cap_bottom| Boolean| -| TRUE | places a cap at bottom basemathematical expression in the variable t (only for parametric curve)
|}
<tr>
<td>
[[Image:cad_solid4cad_curve10.png|thumb|left|480px|The property curve generator dialog of showing the pyramid objectdefault Cartesian curve.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_pyramid_newCad curve11_new.png|thumb|left|550px|The geometry of default Cartesian curve created by the pyramid objectcurve generator.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:04b_pyramid_tn_newACad curve12_new.png|thumb|left|550px480px|A pyramid with nonzero top dimensionsThe curve generator dialog showing a super-quadratic helical parametric curve.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:04b_pyramid_tn_newBCad curve13_new.png|thumb|left|550px|A pyramid with nonzero top offset valuesThe super-quadratic helical parametric curve created by the curve generator.]]
</td>
</tr>
</table>
[[File:draw_modes_tn.jpg|drawing mode]]== Cylinder Tool ==
== Sphere Tool ==ICON: [[File:cylinder_tool_tn.png]]
ICONMENU: [[File:sphere_tool_tn.png]] '''Object → Solid → Cylinder'''
MENUTO DRAW A CYLINDER: '''Object → Solid → Sphere'''
TO DRAW A SPHERE:# Activate the '''Cylinder Tool'''.# Left-click to establish the center of the bottom base.# Drag the mouse away from the origin to create the desired base radius. Left-click a second time to establish the cylinder's base.# Drag the mouse up and away from the active work plane to establish the cylinder's height. Left-click a third time to complete the cylinder.
# Activate the '''Sphere Tool'''.
# Left-click to establish the origin point. Drag the mouse outward from the origin to establish the radius.
# Left-click a second time to complete the sphere.
PYTHON COMMAND: cylinder(label,x0,y0,z0,radius,height[,start_angle,end_angle,cap_top,cap_bottom])
PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
 SPHERE CYLINDER PARAMETERS{| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | radiusbase_radius| real numeric| project units | - | -|-! scope="row" | height
| real numeric
| project units
| 360
| end azimuth angle
|-
! scope="row" | cap_top
| Boolean
| -
| TRUE
| places a cap at top
|-
! scope="row" | cap_bottom
| Boolean
| -
| TRUE
| places a cap at bottom base
|}
<tr>
<td>
[[Image:cad_solid5cad_solid2.png|thumb|left|480px|The property dialog of the sphere cylinder object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_sphere_newresize_cylinder_new.png|thumb|left|550px|The geometry of the sphereobjectcylinder object.]]
</td>
</tr>
<tr>
<td>
[[Image:05b_sphere_tn_newCad_solid2_2nd.png|thumb|left|480px|The property dialog of the cylinder object with a nonzero end angle.]] </td></tr><tr><td> [[Image:02b_cylinder_tn_new.png|thumb|left|550px|A cone cylinder with a nonzero end angle.]]
</td>
</tr>
</table>
== Ellipsoid Ellipse Strip Tool ==
ICON: [[File:ellipsoid_tool_tnellipsestrip_tool_tn.png]]
MENU: '''Object → Solid Surface → EllipsoidEllipse Strip'''
TO DRAW AN ELLIPSOIDELLIPSE STRIP:
# Activate the '''Ellipsoid Ellipse Strip Tool'''.# Left-click to define establish the first X-radius anchor point.# Drag the mouse to the desired length. left-click a second time to define the ending X-radius anchor point/Y axis origin.# Drag the mouse away from the X radius origin to establish the desired Y-radiuslocation. Left-click a third time to define the Y radius.# Drag the mouse away from the active plane to define the Z radius. Left-click a fourth second time to complete create the ellipsoidellipse.
PYTHON COMMAND: ellipsoidellipse_strip(label,x0,y0,z0,radius_x,radius_y,radius_z[,start_angle,end_angle])
ELLIPSOID ELLIPSE STRIP PARAMETERS{| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| project units
| -
| radius along X-axis
|-
! scope="row" | radius_Y
| project units
| -
| radius along Y-|-! scope="row" | radius_Z| real numeric| project units | - | -axis
|-
! scope="row" | start_angle
| real numeric
| degrees
| 0
| start azimuth angle
|-
| real numeric
| degrees
| 360
| end azimuth angle
|-
! scope="row" | fix_center_X
| Boolean
| -
| TRUE
| fixes X-coordinate of base
|-
! scope="row" | fix_center_Y
| Boolean
| -
| TRUE
| fixes Y-coordinate of base
|}
<tr>
<td>
[[Image:cad_solid6cad_surf4.png|thumb|left|480px|The property dialog of the ellipsoid ellipse strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_ellipsoid_newresize_elliptical_strip_new.png|thumb|left|550px|The geometry of the ellipsoid ellipse strip object.]] </td></tr><tr><td> [[Image:06b_ellipsoid_tn_new.png|thumb|left|550px|An ellipsoid with a nonzero end angle.]]
</td>
</tr>
</table>
== Torus Ellipsoid Tool ==
ICON: [[File:torus_tool_tnellipsoid_tool_tn.png]]
MENU: '''Object → Solid → TorusEllipsoid'''
TO DRAW A TORUSAN ELLIPSOID:
# Activate the '''Torus Ellipsoid Tool'''.# Left-click to define the center first X-radius anchor point.# Drag the mouse away from to the origin and desired length. left-click a second time to establish define the Major Radius of the torusending X-radius anchor point.# Drag the mouse away from the Major Radius construction path X radius to establish the Minor Radiusdesired Y-radius. Left-click a third time to define the Y radius.# Drag the mouse away from the active plane to define the Z radius. Left-click a fourth time to complete the torusellipsoid.
PYTHON COMMAND: torusellipsoid(label,x0,y0,z0,radius_majorradius_x,radius_minorradius_y,radius_z[,start_angle,end_angle])
TORUS ELLIPSOID PARAMETERS{| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | major_radiusradius_X
| real numeric
| project units
| -
|-
! scope="row" | minor_radiusradius_Y| real numeric| project units | - | -|-! scope="row" | radius_Z
| real numeric
| project units
<tr>
<td>
[[Image:cad_solid4toruscad_solid6.png|thumb|left|480px|The property dialog of the torus ellipsoid object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_torus_newresize_ellipsoid_new.png|thumb|left|550px|The geometry of the torus ellipsoid object.]]
</td>
</tr>
<tr>
<td>
[[Image:07b_torus_tn_newcad_solid6.png|thumb|left|480px|The property dialog of the ellipsoid object with a nonzero start angle.]] </td></tr><tr><td> [[Image:06b_ellipsoid_tn_new.png|thumb|left|550px|A torus An ellipsoid with a nonzero end start angle.]]
</td>
</tr>
</table>
== Generating Platonic Solids Fractal Tree Tool ==
Besides [[EM.Cube]]'s standard [[Solid Objects|solid objects]], i.e. box, cylinder, cone, pyramid, sphere, ellipsoid, and torus, you can use '''Solid Generator''' ICON: [[File:solid_gen_tool_tnfractal_tool_tn.png]] to create five types of Platonic [[Solid Objects|solid objects]]:
# Tetrahedron# Hexahedron# Octahedron# Dodecahedron# IcosahedronMENU: '''Object → Special → Fractal Tree'''
[[FileTO DRAW A FRACTAL TREE:cad_solid8.png]]
# Activate the '''Fractal Tree Tool'''. # Left-click to establish the location of the fractal tree. A icosahedron default horizontal fractal tree appears in the project workspace.# The fractal dialog opens up on the lower right corner of the screen. You have two options: fractal tree with side length 20 (scale = 10)linear or cylindrical branches. You can also set the number of fractal levels.# Make sure to click the <b>OK</b> button of the dialog to complete the fractal construction.
# Click the '''Solid Generator''' [[FileNOTES, SPECIAL CASES OR EXCEPTIONS:solid_gen_tool_tn.png]] button of the The parameter '''Object Toolbar''' or select '''Menu [[File:larrow_tn.png]] Object [[File:larrow_tn.png]] Solid [[File:larrow_tnGen.png]] Solid GeneratorFactor''' to open determines how many new next-level branches are generated at the Solid Generator Dialog.# Select one end of the five platonic solid types each branch. '''TetrahedronSeparation Angle''', '''Hexahedron''' '''Octahedron''', '''Dodecahedron''', or '''Icosahedron'''.# The dialog shows sets the number angle between each pair of faces, edges, nodes and the side length of the standard platonic solid of the selected typebranches at each node. Specify the The '''Scale''' based on the displayed '''Side LengthPrune Factor'''determines what percentage of branches are removed randomly at each node.# Before you create With a default zero prune factor, all the solid and add it to the Navigation Tree, you have an opportunity to preview itbranches are kept. To do so, click the The parameter '''PreviewThickness''' button of represents the dialog. A yellow ghost diameter of the solid appears main branch in the Project Workspacecase of a cylinder key object. You can change the range or modify the function at this time. Once you are satisfied with the generated solid, click the The parameter '''CreateThickness Factor''' to finalize determines the tapering of each cylindrical branch from its creation and add it start point to the list of object on the Navigation Treeend point. A zero thickness factor means no branch tapering.
== Rectangle Strip Tool ==You can change the coordinates of the LCS of a fractal tree or its rotation angle. From the fractal dialog, you can also access the properties of the key object by clicking the {{key|Edit Primitive...}} button of this dialog.
ICON: {{Note|Fractal tree operations are usually very time consuming especially when the key object type is a cylinder. Please be patient while [[File:rectstrip_tool_tnEM.pngCube]] is running fractal tree creation or edit operations.}}
MENU: '''Object → Surface → Rectangle Strip'''
TO DRAW A RECTANGLE STRIPPYTHON COMMAND:fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)
# Activate the '''Rectangle Strip Tool'''.
# Left-click to establish the X/Y axial triangulation point.
# Drag the mouse outward from this point to define the desired area of the rectangle strip. Left-click a second time to complete the shape.
 PYTHON COMMAND: rect_strip(label,x0,y0,z0,side_x,side_y)  RECTANGLE STRIP FRACTAL TREE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | side_Xkey_object_type| real numericLine or Cylinder| project units - | - Line | dimension along X-axis
|-
! scope="row" | side_Ylevel_count| integer numeric| -| 3| number of fractal levels|-! scope="row" | separation_angle
| real numeric
| project units degrees| - 30| dimension along Y-axisangle between two adjacent branches
|-
! scope="row" | fix_center_Xgeneration_factor| Booleaninteger numeric
| -
| TRUE 3| fixes X-coordinate Number of basenew branches generated at each node
|-
! scope="row" | fix_center_Yprune_factor| Booleanreal numeric
| -
| TRUE 0| fixes Y-coordinate A number between 0 and 1 representing the percentage of basebranches randomly deleted
|-
! scope="row" | rect_loopthickness| Booleanreal numeric| -project units| FALSE1| if TRUE, creates a rectangular loopdiameter of branches
|-
! scope="row" | loop_widththickness_factor
| real numeric
| project units
| -
| -
| 0.2
| A number between 0 and 1 representing the percentage of tapering of each cylindrical branch upward
|}
<table><tr><td> [[FileImage:cad_surf1CAD MAN20.png|thumb|left|480px|The fractal tree dialog.]] </td></tr></table><table><tr><td> [[Image:CAD MAN21.png|thumb|left|550px|The geometry of a fractal tree with a line key object.]] </td></tr></table><table><tr><td> [[Image:CAD MAN22.png|thumb|left|550px|The geometry of a fractal tree with a cylinder key object.]]</td></tr></table>
[[File:resize_rectangular_strip_new.png|circle]]== Helix Tool ==
== Circle Strip Tool ==ICON: [[File:helix_tool_tn.png]]
ICONMENU: [[File:circlestrip_tool_tn.png]] '''Object → Curve → Helix'''
MENUTO DRAW A HELIX: '''Objects → Surfaces → Circle Strip'''
TO DRAW A CIRCLE STRIP:# Activate the '''Helix Tool'''. # Left-click to establish the origin of the inner-radius.# Drag away from the origin to expand the inner radius, (toward it to contract the inner radius).# Left-click a second time to set the inner radius and to establish the anchor point from which you will set the height of the helix.# Drag your cursor "up" and away from the second anchor point to increase the height of the helix.# Left-click a third time to complete the helix.
# Activate the NOTES, SPECIAL CASES OR EXCEPTIONS: You can define a helix curve with different values for '''Circle Strip ToolInner Radius'''and '''Outer Radius''', which make the curve expanding or shrinking. # Left-click to define The '''Height''' parameter establishes the origin# Drag elevation of the mouse away from end point of the origin helix with respect to establish the desired radius. Left-click a second time to complete the circle stripstart point.
PYTHON COMMAND: circ_striphelix(label,x0,y0,z0,outer_radiusradius_inner,inner_radius[radius_outer,start_angleheight,end_angle]nturns,helix_dir)
CIRCLE STRIP HELIX PARAMETERSÂ {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| -
| local rotation about Z-axis
|-
! scope="row" | inner_radius
| real numeric
| project units
| same as outer radius
| -
|-
! scope="row" | outer_radius
| project units
| -
| circle's outer radius-
|-
! scope="row" | inner_radiusheight
| real numeric
| project units
| 0 - | inner radius creating a ring object-
|-
! scope="row" | start_angleturns| real integer numeric| degreesproject units | 02| start azimuth anglenumber of spiral turns
|-
! scope="row" | end_angleccw| real numericBoolean| degrees-| 360TRUE| end azimuth angleif TRUE, creates counterclockwise right-handedness
|}
<table><tr><td> [[FileImage:cad_surf2cad_curve7.png|thumb|left|480px|The property dialog of the helix curve object.]] </td></tr></table><table><tr><td> [[Image:resize_helix_new.png|thumb|left|550px|The geometry of the helix curve object.]] </td></tr></table><table><tr><td> [[Image:26_helix_tn_new.png|thumb|left|550px|The local coordinate system (LCS) of the helix curve object.]]</td></tr></table>
'''Start Angle''' and '''End Angle''' defines the area around the z-axis that will be drawn. The default value for both the Start and End angle parameters is 0.== Hyperbola Tool ==
ICON: [[File:09b_circle_strip_tn_newhyperbola_tool_tn.png]]
The X, Y, Z LCS coordinates originate at the CIRCLE STRIPâs center.MENU: '''Object → Curve → Hyperbola'''
[[FileTO DRAW A HYPERBOLA:resize_circular_strip_new.png|circle]]
== Radial Strip # Activate the '''Hyperbola Tool =='''. # Left-click to define the X-radius origin. Construction guides will appear to aid in the drawing process.# Drag the mouse away from the origin to establish the desired X-radius. Left-click a second time.# To establish the Y-radius and the hyperbola's leg length, drag the mouse to the desired location and left-click to complete the Hyperbola.
ICONNOTES, SPECIAL CASES OR EXCEPTIONS: [[File:radialstrip_tool_tnChecking the box labeled '''Neg. Branch''' creates the opposite branch of the hyperbola curve. Checking the box labeled '''Create Half''' bisects the hyperbola and removes its bottom half. You can revolve the resulting curve to create a hyperboloid.png]]
MENU: '''Object → Surface → Radial Strip'''
TO DRAW A RADIAL STRIPPYTHON COMMAND:hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)
# Activate the '''Radial Strip Tool'''.
# Left-click to establish the origin point.
# Drag the mouse away from origin and left-click a second time to establish the radius and the first leg of the radial strip.
# Drag the mouse to the desired location to define the angle of the radial strip. Left-click a third time to complete the radial strip.
 PYTHON COMMAND: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)  RADIAL STRIP HYPERBOLA PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | radiusdiameter_X
| real numeric
| project units
| -
| diameter along X-axis
|-
! scope="row" | base_lengthdiameter_Y
| real numeric
| project units
| 0 - | A nonzero value creates a flattened basediameter along Y-axis
|-
! scope="row" | angleaxial_length
| real numeric
| degreesproject units | -
| -
| wedge angle-! scope="row" | create_half| Boolean| -| FALSE| if TRUE, draws one half of one branch only|-! scope="row" | negative_branch| -| FALSE| if TRUE, draws the negative branch only
|}
DIALOG PROPERTIES<table><tr><td> [[Image:cad_curve5.png|thumb|left|480px|The property dialog of the hyperbola curve object.]] </td></tr></table><table><tr><td> [[Image:24a_hyperbola_tn_new.png|thumb|left|550px|The geometry of the hyperbola curve object.]] </td></tr></table><table><tr><td> [[Image:24b_hyperbola_tn_new.png|thumb|left|720px|Drawing a half-hyperbola or the negative branch of the hyperbola.]] </td></tr></table>
'''Radius''' establishes the circumference of the radial strip. '''Angle''' defines the distance between the first leg and second leg of the radial strip. Base Length es== Line Tool ==
ICON: [[File:cad_surf3line_tool_tn.png]]
MENU: '''Base LengthObject → Curve → Line''' establishes an inset amount measured outward from the origin.
[[FileTO DRAW A LINE:10b_radial_strip_tn_new.png]]
[[File:resize_radial_strip_new# Activate the '''Line Tool'''. # left click anywhere on the workplane to begin drawing the line.# left-click a second time to complete the line.png|circle]]
== Ellipse Strip Tool ==NOTES, SPECIAL CASES OR EXCEPTIONS: When the check box '''Lock Center''' is checked, changing the line's length expands or shrinks it equally from both ends. To create a line perpendicular to the current work plane, hold down the {{key|Alt}} key while dragging the mouse to establish the line's end point.
ICON: [[File:ellipsestrip_tool_tn.png]]
MENUPYTHON COMMAND: '''Object → Surface → Ellipse Strip'''line(label,x0,y0,z0,len[,dir])
TO DRAW AN ELLIPSE STRIP:
# Activate the '''Ellipse Strip Tool'''. # Left-click to establish the X/Y axis origin.# Drag the mouse away from the origin to the desired location. Left-click a second time to create the ellipse.  PYTHON COMMAND: ellipse_strip(label,x0,y0,z0,radius_x,radius_y[,start_angle,end_angle])  ELLIPSE STRIP LINE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | radius_Xlength
| real numeric
| project units
| -
| radius along X-axis
|-
! scope="row" | radius_Y
| real numeric
| project units
| -
| radius along Y-axis
|-
! scope="row" | start_angle
| real numeric
| degrees
| 0
| start azimuth angle
|-
! scope="row" | end_angle
| real numeric
| degrees
| 360
| end azimuth angle
|-
! scope="row" | fix_center_X
| Boolean
| -
| TRUE
| fixes X-coordinate of base
|-
! scope="row" | fix_center_Yfix_center
| Boolean
| -
| TRUE FALSE| fixes Y-coordinate of basemidpoint coordinates
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_curve1.png|thumb|left|480px|The property dialog of the line object.]] </td></tr></table><table><tr><td> [[Image:vert_line_new.png|thumb|left|550px|Drawing a vertical line object: Left click anywhere on the workplane to begin drawing the line; while still in âDraw Modeâ, press and hold down the {{key | Alt}} button of the keyboard.]] </td></tr><tr><td> [[Image:18_Line_tn_new.png|thumb|left|550px|Drawing a horizontal line object.]] </td></tr></table>
'''X Diameter''' and '''Y Diameter''' together establish the area of the Ellipse Strip. '''Lock Base''' anchors the Ellipse Strip's LCS origin to its current location. The diagram below illustrates how the Lock Base option controls parameter changes made to the X and Y diameter. [[File:lock_base_tn.jpg|lock base]]== NURBS Curve Tool ==
'''Start Angle''' and '''End Angle''' defines the area around the z-axis that will be drawn. The default value for both the Start and End angle parameters is 0ICON: [[File:nurbs_tool_tn.png]]
[[FileMENU:cad_surf4.png]]'''Object → Curve → NURBS'''
[[FileTO DRAW A NURBS CURVE:draw_modes_tn.jpg|drawing modes]]
[[File:resize_elliptical_strip_new# Activate the '''NURBS Curve Tool'''.png# Click anywhere on the active work plane to create nodes. The contour of the NURBS Curve is rendered as soon as the second node is defined. A NURBS Curve must have at least two nodes.# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key|circle]]Enter}} key. # The NURBS Curve can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first.
== Triangle Strip Tool ==NOTES, SPECIAL CASES OR EXCEPTIONS: If a NURBS Curve object is originally drawn as an open curve, you can turn it into a closed one by placing a check mark in the box labeled '''Close Curve'''. The property dialog of a NURBS Curve object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number.
ICON: [[File:trianglestrip_tool_tn.png]]
MENUPYTHON COMMAND: '''Object → Surface → Triangle Strip'''nurbs_curve(label,(x0,y0,z0),(x1,y1,z1) ... )
TO DRAW A TRIANGLE STRIP:
# Activate the '''Triangle Strip Tool'''. <table># Left-click to establish the triangles origin.<tr># Drag away from the origin and <td> [[Image:cad_curve9_new.png|thumb|left-click a second time to define Leg 1 |480px|The property dialog of the triangleNURBS curve object.]] # Drag away from leg 1, </td></tr></table><table><tr><td> [[Image:20_Nurbs_tn_new.png|thumb|left-click |550px|Drawing a third time to define Leg 2 and complete the triangleNURBS curve.]] </td></tr></table>
== NURBS Strip Tool ==
PYTHON COMMANDICON: triangle_strip(label,x0,y0,z0,side1,side2,angle)[[File:nurbsstrip_tool_tn.png]]
MENU: '''Object → Surface → NURBS Strip'''
TRIANGLE TO DRAW A NURBS STRIP PARAMETERS:
# Activate the '''NURBS Strip Tool'''. # Click anywhere on the active work plane to create nodes. The contour of the NURBS strip is rendered as soon as the third node is defined. A NURBS Strip must have at least three nodes.# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key| border="0"Enter}} key.  NOTES, SPECIAL CASES OR EXCEPTIONS: The property dialog of a NURBS strip object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|-Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number.   PYTHON COMMAND: nurbs_strip(label,(x0,y0,z0),(x1,y1,z1) ... )  <table><tr><td> [[Image:cad_surf10.png| valign="top"thumb|left|480px|The property dialog of the NURBS strip object.]] </td></tr></table><table><tr><td> [[Image:NURBSstripSteps.png|thumb|left|550px|Drawing a NURBS strip.]] </td></tr></table> == Parabola Tool == ICON: [[File:parabola_tool_tn.png]]  MENU: '''Object → Curve → Parabola''' TO DRAW A PARABOLA: # Activate the '''Parabola Tool'''. # Left-click to set the Focal Point.# Drag away from the focal point and left-click a second time to set the desired Offset.# Drag and left-click a third time to complete the Parabolic Curve. NOTES, SPECIAL CASES OR EXCEPTIONS: The parameters '''Axial Length''' and '''Aperture''' adjust the size of the opening of the parabola. Changing the value of either one automatically adjusts the value of the other. Checking the box labeled '''Create Half''' bisects the parabola and removes its bottom half. You can revolve the resulting half-curve to create a paraboloid.  PYTHON COMMAND: parabola(label,x0,y0,z0,focal_length,axial_length,half_only)  PARABOLA PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | side_1focal_length
| real numeric
| project units
| -
|-
! scope="row" | side_2axial_length
| real numeric
| project units
| 0 -
| -
|-
! scope="row" | angleaperture
| real numeric
| degrees
| -
| wedge angleis determined automatically by focal and axial lengths or can be set independently|-! scope="row" | create_half| Boolean| -| FALSE| if TRUE, draws the left half onlyÂ
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_curve4.png|thumb|left|480px|The property dialog of the parabola curve object.]] </td></tr></table><table><tr><td> [[Image:resize_parabola_new.png|thumb|left|550px|The geometry of the parabola curve object.]] </td></tr></table><table><tr><td> [[Image:23_parabola_tn_new.png|thumb|left|720px|Drawing a half-parabola.]] </td></tr></table>
'''Side 1''' establish the length of first leg of the triangle. '''Side 2''' establishes the length of the second leg of the triangle '''Angle''' defines the opening angle of the origin vertex (the angle between leg one and leg two).== Point Tool ==
ICON: [[File:cad_surf5point_tool_tn.png]]
RIGHT ANGLE TRIANGLESMENU: '''Object → Special → Point'''
To create a right angle triangle, hold down the ALT key while left-clicking to define Leg 2 (option "TO DRAW A" in the diagram below).POINT:
# Activate the '''Point Tool'''.
# Left-click to establish the location of the point.
CONSTRAIN ANGLE DRAWING TO 15º INCREMENTS
Hold down the SHIFT key while positioning the third PYTHON COMMAND: point of the triangle to constrain the origin angle to 15º increments (option "B" in the diagram belowlabel,x0,y0,z0).
CONGRUENT LEG LENGTH AND EQUILATERAL TRIANGLESPOINT PARAMETERS{| class="wikitable"|-! scope="col"| Parameter Name! scope="col"| Value Type! scope="col"| Units! scope="col"| Default Value! scope="col"| Notes|-! scope="row" | LCS_X| real numeric| project units | - | X-coordinate of point|-! scope="row" | LCS_Y | real numeric| project units | - | Y-coordinate of point|-! scope="row" | LCS_Z| real numeric| project units | - | Z-coordinate of point|}
You can force both legs of a triangle to be the same length by holding down the CTRL key while drawing the third and final point of the triangle. Use this technique to create an equilateral triangle by drawing a triangle with congruent leg length (as outlined above and illustrated in option "C" below) and setting the angle in the properties dialog to 60º[[File:point_new.png]]
[[File:13b_triangle_strip_tn.jpg]]== Polyline Tool ==
ICON: [[File:resize_triangle_strip_newpolyline_tool_tn.png|circle]]
== Taper Strip Tool ==MENU: '''Object → Curve → Polyline'''
ICONTO DRAW A POLYLINE: [[File:taperstrip_tool_tn.png]]
MENU: # Activate the '''Object → Surface → Taper StripPolyline Tool'''. # Click anywhere on the active work plane to create nodes. The polyline's contour is rendered as soon as the second node is defined. A polyline must have at least two nodes.# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key|Enter}} key. # The polyline can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first.
TO DRAW A TAPER STRIPNOTES, SPECIAL CASES OR EXCEPTIONS:If a polyline object is originally drawn as an open curve, you can turn it into a closed one by placing a check mark in the box labeled '''Close Curve'''. The property dialog of a polyline object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number.
# Activate the '''Taper Strip Tool'''.
# Left-click to establish the base length midpoint.
# Drag outward from this point to define the desired length and angle of the base side. Left-click a second time to define the base.
# To establish the height, drag the mouse away from the base to the desired location. Left-click a third time to complete the Taper Strip.
PYTHON COMMAND: polyline(label,(x0,y0,z0),(x1,y1,z1) ... )
PYTHON COMMAND: taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)
<table>
<tr>
<td>
[[Image:cad_curve8.png|thumb|left|480px|The property dialog of the polyline object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:19_polyline_tn_new.png|thumb|left|550px|Drawing a polyline.]]
</td>
</tr>
</table>
TAPER STRIP PARAMETERS== Polystrip Tool ==
ICON: [[File:polystrip_tool_tn.png|Polystrip Tool]]  MENU: '''Object → Surface → Polystrip''' TO DRAW A POLYSTRIP: # Activate the '''Polystrip Tool'''. # Click anywhere on the active work plane to create nodes. The polystrip's contour is rendered as soon as the third node is defined. A Polystrip must have at least three nodes.# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key| border="0"Enter}} key.  NOTES, SPECIAL CASES OR EXCEPTIONS: The property dialog of a polystrip object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|-Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number.   PYTHON COMMAND: polystrip(label,(x0,y0,z0),(x1,y1,z1) ... )  <table><tr><td> [[Image:cad_surf9.png| valign="top"thumb|left|480px|The property dialog of the polystrip object.]] </td></tr></table><table><tr><td> [[Image:polystripsteps.png|thumb|left|550px|Drawing a polystrip.]] </td></tr></table> == Pyramid Tool == ICON: [[File:pyramid_tool_tn.png]]  MENU: '''Object → Solid → Pyramid''' TO DRAW A PYRAMID: # Activate the '''Pyramid Tool'''.# Left-click to establish the first point of the rectangular base plane.# Define the desired area of the base plane by dragging the mouse away from the first point. Left-click a second time to establish the base plane.# Drag the mouse away from the base plane to establish the desired height. Left-click a third time to complete the pyramid.  PYTHON COMMAND: pyramid(label,x0,y0,z0,base_x,base_y,height[,top_x,top_y,cap_top,cap_bottom])  PYRAMID PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | base_widthbase_size_X
| real numeric
| project units
| -
|-
! scope="row" | taper_lengthbase_size_Y
| real numeric
| project units
| -
|-
! scope="row" | top_widthtop_size_X| real numeric| project units | 0 | -|-! scope="row" | top_size_Y| real numeric| project units | 0 | -|-! scope="row" | height
| real numeric
| project units
| -
|-
! scope="row" | top_offsettop_offset_X
| real numeric
| project units
| 0| A zero value creates an isosceles triangle-
|-
! scope="row" | exponentialtop_offset_Y| real numeric| project units | 0 | -|-! scope="row" | fix_center_X
| Boolean
| -
| FALSETRUE | creates an exponential taper transitionfixes X-coordinate of base
|-
! scope="row" | create-halffix_center_Y
| Boolean
| -
| FALSETRUE | keeps left half fixes Y-coordinate of taper strip only base|-! scope="row" | cap_top| Boolean| -| TRUE | places a cap at top|-! scope="row" | cap_bottom| Boolean| -| TRUE | places a cap at bottom base
|}
DIALOG PROPERTIES<table><tr><td> [[Image:cad_solid4.png|thumb|left|480px|The property dialog of the pyramid object.]] </td></tr><tr><td> [[Image:resize_pyramid_new.png|thumb|left|550px|The geometry of the pyramid object.]] </td></tr><tr><td> [[Image:Cad_solid4_2nd.png|thumb|left|480px|The property dialog of the pyramid with nonzero top dimensions.]] </td></tr><tr><td> [[Image:04b_pyramid_tn_newA.png|thumb|left|550px|A pyramid with nonzero top dimensions.]] </td></tr><tr><td> [[Image:Cad_solid4_3rd.png|thumb|left|480px|The property dialog of the pyramid with nonzero top offset values.]] </td></tr><tr><td> [[Image:04b_pyramid_tn_newB.png|thumb|left|720px|A pyramid with nonzero top offset values.]] </td></tr></table>
'''Base Length''' defines the length of the taper strip's base. '''Top Length''' defines the length of the taper strip's top. '''Height''' establishes the distance between the base and top curves. '''Exponential''' creates blended or curved sidewalls rather than linear sidewalls. This option is off by default.== Radial Strip Tool ==
ICON: [[File:cad_surf6radialstrip_tool_tn.png]]
MENU: '''OffsetObject → Surface → Radial Strip''' skews the taper strip by negative or positive amount. The default value is 0.
[[FileTO DRAW A RADIAL STRIP:14b_taper_strip_tn_new.png]]
NOTE that Offset is not available when Exponential blending is active# Activate the '''Radial Strip Tool'''. # Left-click to establish the origin point.# Drag the mouse away from origin and left-click a second time to establish the radius and the first leg of the radial strip.# Drag the mouse to the desired location to define the angle of the radial strip. Left-click a third time to complete the radial strip.
[[File:Resize_taper_strip_new.png|circle]]
== Regular Polygon Tool ==PYTHON COMMAND: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
ICON: [[File:polygonstrip_tool_tn.png]]
MENU: '''Object → Surface → Regular Polygon''' TO DRAW A REGULAR POLYGON: # Activate the '''Regular Polygon Tool'''. # Left-click to create the origin of the Regular Polygon.# Drag away from the origin and left-click a second time to define the Regular Polygon's diameter.# Drag the mouse to increase or decrease the number of sides desired. Left-click a third time to finish drawing the Regular Polygon.  PYTHON COMMAND: polygon_reg(label,x0,y0,z0,radius,n_sides)  REGULAR POLYGON RADIAL STRIP PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| project units
| -
| radius of circumscribing circle
|-
! scope="row" | side_count
| integer numeric
| -
| -
| number of side of regular polygon
|-
! scope="row" | top_widthbase_length
| real numeric
| project units
| 0 | A nonzero value creates a flattened base| - ! scope="row" | angle| real numeric| degrees
| -
| wedge angle
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_surf3.png|thumb|left|480px|The property dialog of the radial strip object.]] </td></tr><tr><td> [[Image:resize_radial_strip_new.png|thumb|left|550px|The geometry of the radial strip object.]] </td></tr><tr><td> [[Image:cad_surf3_2nd.png|thumb|left|480px|The property dialog of the radial strip object with a nonzero base length.]] </td></tr><tr><td> [[Image:10b_radial_strip_tn_new.png|thumb|left|550px|A radial strip object with a nonzero base length.]] </td></tr></table>
'''Radius''' establishes the Regular Polygon's diameter from its LCS origin. '''Sides''' establishes the number of equilateral edges.== Rectangle Strip Tool ==
ICON: [[File:cad_surf7rectstrip_tool_tn.png]]
[[FileMENU:resize_polygon_strip_new.png|circle]]'''Object → Surface → Rectangle Strip'''
== Spiral Strip Tool ==TO DRAW A RECTANGLE STRIP:
ICON: [[File:spiralstrip_tool_tn# Activate the '''Rectangle Strip Tool'''. # Left-click to establish the X/Y axial triangulation point.# Drag the mouse outward from this point to define the desired area of the rectangle strip. Left-click a second time to complete the shape.png]]
MENU: '''Object → Surface → Spiral Strip'''
TO DRAW A SPIRAL STRIPPYTHON COMMAND:rect_strip(label,x0,y0,z0,side_x,side_y)
# Activate the '''Spiral Strip Tool'''.
# Left-click to establish the origin of the Spiral Strip's inner-radius.
# Drag away from the origin to expand the inner radius. Left-click a second time to set the inner radius and create the starting point for the outer radius.
# Drag the mouse away from the second point to expand the outer radius (or closer to contract the radius). Left-click a third time to complete the spiral.
 PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)  SPIRAL RECTANGLE STRIP PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | inner_radiusside_X
| real numeric
| project units
| -
| dimension along X-axis
|-
! scope="row" | outer_radiusside_Y
| real numeric
| project units
| -
| dimension along Y-axis
|-
! scope="row" | strip_width| real numeric| project units | - | -|-! scope="row" | turns| integer numeric| project units | 2| number of spiral turns|-! scope="row" | ccwfix_center_X
| Boolean
| -
| TRUE| if TRUE, creates counterclockwise rightfixes X-handedness coordinate of base
|-
! scope="row" | dual_armfix_center_Y
| Boolean
| -
| FALSETRUE | creates a dualfixes Y-arm spiralcoordinate of base
|-
! scope="row" | inner_taperrect_loop
| Boolean
| -
| FALSE
| if TRUE, tapers spiral strip from inner endcreates a rectangular loop
|-
! scope="row" | inner_insetloop_width
| real numeric
| project units
| 0| when inner_taper is TRUE, a nonzero value creates inner inset|-! scope="row" | outer_taper| Boolean
| -
| FALSE
| if TRUE, tapers spiral strip from outer end
|-
! scope="row" | outer_inset
| real numeric
| project units
| 0
| when outer_taper is TRUE, a nonzero value creates outer inset
|-
! scope="row" | taper_pointing
| list: {inward, outward}
| -
| inward
| sets the direction spiral's end tapers point to
|}
DIALOG PROPERTIES<table><tr><td> [[Image:cad_surf1.png|thumb|left|480px|The property dialog of the rectangle strip object.]] </td></tr><tr><td> [[Image:resize_rectangular_strip_new.png|thumb|left|550px|The geometry of the rectangle strip object.]] </td></tr><tr><td> [[Image:cad_surf1_2nd.png|thumb|left|480px|The property dialog of the rectangle loop object with a nonzero loop width.]] </td></tr><tr><td> [[Image:resize_rectangular_strip_new1.png|thumb|left|550px|A rectangular loop object with a nonzero loop width.]] </td></tr><tr><td> [[Image:lock_base_tn.jpg|thumb|left|550px|Locking the base of a rectangle strip.]] </td></tr><tr><td> [[Image:draw_modes_tn.jpg|thumb|left|550px|The different drawing modes of rectangle strip.]] </td></tr></table>
'''Inner Radius''' defines the distance between the spiral's origin and the starting point of each spiral arm. '''Outer Radius''' sets the distance each spiral arm will radiate outward from the inner radius. '''Strip Width''' of the Spiral Strip can be changed by entering different values. '''Number of Turns''' defines the number of spiral revolutions of each arm '''Counter Clockwise''' (CCW) flips the clockwise drawing direction of the spiral arms.== Regular Polygon Tool ==
ICON: [[File:cad_surf8polygonstrip_tool_tn.png]]
MENU: '''Inner TaperObject → Surface → Regular Polygon''' creates a rounded taper at the inner edge of each spiral arm by drawing an exponential curve from a user-defined edge inset point to that edge's opposite corner vertex. '''Outer Taper''' creates a rounded taper at the outer edge of each spiral arm by drawing an exponential curve from a user-defined edge inset point to that edge's opposite corner vertex.. '''Inset Distance''' establishes an imaginary offset point positioned away from the corner vertex from the inner or outer edge. As seen below, this inset point is constrained to the sidewalls of the spiral arms. '''Point Inward''' or '''Point Outward''' renders the radial tapers (inward) towards the spiral's center or (outward) away from it.
[[FileTO DRAW A REGULAR POLYGON:12b_spiral_strip_tn.jpg]]
Note that # Activate the Inner Radius setting is not available when '''Regular Polygon Tool'''. # Left-click to create the Dual Arm option is enabledorigin of the Regular Polygon.# Drag away from the origin and left-click a second time to define the Regular Polygon's diameter.# Drag the mouse to increase or decrease the number of sides desired. Left-click a third time to finish drawing the Regular Polygon.
'''Dual Arm''' NOTES, SPECIAL CASES OR EXCEPTIONS: This tool creates a second arm that mirrors the settings regular polygon with an arbitrary number of the parent armsides within a circumscribing circle of a specified radius.
[[File:12c_spiral_strip_tn_new.png]]
[[FilePYTHON COMMAND:resize_spiral_strip_new.png|circle]]polygon_reg(label,x0,y0,z0,radius,n_sides)
== Polystrip Tool ==
ICON: [[File:polystrip_tool_tn.png|Polystrip Tool]]  MENU: '''Object → Surface → Polystrip''' TO DRAW A POLYSTRIP: # Activate the '''Polystrip Tool'''. # Click anywhere on the active work plane to create nodes. The Polystrip's contour is rendered as soon as the second node is defined. A Polystrip must have at least three nodes.# The Polystrip can be closed at any time by either double-clicking on the workplane to establish a closing node, or by pressing the '''C''' or '''ENTER''' key, which connects the last drawn node with the first. Once closed, the surface area is filled.  PYTHON COMMAND: polystrip(label,(x0,y0,z0),(x1,y1,z1) ... )  EDITING NODES Each Polystrip node can be selected by clicking on it in the work plane. You can also force nodes to snap to the nearest grid point by activating Snap to Grid ('''View → Grid Settings''').  DIALOG REGULAR POLYGON PARAMETERS '''Index''' reports the unique order number of the currently selected node. '''Active Node''' shows the X, Y and Z coordinates of the currently selected node. [[File:cad_surf9.png]] == NURBS Strip Tool == ICON: [[File:nurbsstrip_tool_tn.png]]  MENU: '''Object → Surface → NURBS Strip''' TO DRAW A NURBS STRIP: # Activate the '''NURBS Strip Tool'''. # Click anywhere on the active work plane to create nodes. The NURBs contour is rendered as soon as the second node is defined. A NURBS Strip must have at least three nodes.# The NURBS Strip can be closed at any time by either double-clicking on the workplane to establish a closing node, or by pressing the '''C''' or '''ENTER''' key, which connects the last drawn node with the first. Once closed, the surface area is filled.  PYTHON COMMAND: nurbs_strip(label,(x0,y0,z0),(x1,y1,z1) ... )  EDITING NODES Each NURBS Strip node can be selected by clicking on it in the work plane. You can also force nodes to snap to the nearest grid point by activating Snap to Grid ('''View → Grid Settings''').  DIALOG PARAMETERS '''Index''' reports the unique order number of the currently selected node. '''Active Node''' shows the X, Y and Z coordinates of the currently selected node. [[File:cad_surf10.png]] == Generating Complex Surfaces == Besides [[EM.Cube|EM.CUBE]]'s standard planar objects, i.e. rectangle strip, circle strip, radial strip, ellipse strip, triangle strip, taper strip, regular polygon, spiral strip, polystrip and NURBS strip, you can use '''Surface Generator''' [[File:surf_gen_tool_tn.png]] to create a large variety of other [[Surface Objects|surface objects]]. Practically, any imaginable planar or non-planar surface can be synthesized in [[EM.Cube|EM.CUBE]]. These include:  [[File:surf2_tn_new.png]] [[File:surf2a_tn_new.png]] A mathematical surface defined by z = sin(2*x)*exp(-y/2): (left) polymesh version, (right) smooth generic surface version. # Click the '''Surface Generator'''[[File:surf_gen_tool_tn.png]] button of the '''Object Toolbar''' to open the Curve Generator Dialog.# From the '''Model''' dropdown list, select the '''Custom Function''', which is the default option. Also specify the '''Orientation''' of the surface, which is the XY principal plane by default.# Specify the range of the surface including '''Start''', '''Stop''' and '''Step''' values along the two specified dimensions.# In the "Parameters" section, define the function representing the surface. This has the form z = f(x,y) in XY Plane, x = f(y,z) in YZ Plane or y = f(z,x) in ZX Plane.# As in the previous case, you can choose between the two '''Polymesh''' or '''Generic Surface''' options. You can also preview the curve before finalizing its creation. [[File:cad_surf11.png]] == Line Tool == ICON: [[File:line_tool_tn.png]]  MENU: '''Object → Curve → Line''' TO DRAW A LINE: # Activate the '''Line Tool'''. # left click anywhere on the workplane to begin drawing the line.# left-click a second time to complete the line.  PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])  LINE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | lengthradius
| real numeric
| project units
| -
| radius of circumscribing circle
|-
! scope="row" | side_count
| integer numeric
| -
| -
| number of side of regular polygon
|-
! scope="row" | fix_centertop_width| Booleanreal numeric| project units | -
| -
| FALSE
| fixes midpoint coordinates
|}
PERPENDICULAR LINES<table><tr><td> [[Image:cad_surf7.png|thumb|left|480px|The property dialog of the regular polygon object.]] </td></tr></table><table><tr><td> [[Image:resize_polygon_strip_new.png|thumb|left|550px|The geometry of the regular polygon object with N = 8 (octagon).]] </td></tr></table>
To create a line perpendicular to the work plane, hold down the '''ALT''' key while left-clicking to define the second point== Solid Generator ==
ICON: [[File:solid_gen_tool_tn.png]]
DIALOG PARAMETERSMENU: '''Object → Solid → Solid Generator'''
'''Length''' establishes the distance from a line's origin and end node. '''Lock Base''' anchors the line's LCS origin to its current location. When Lock Base is enabled, changes to the line's length are added equally to both sides of the line.TO DRAW A PLATONIC SOLID:
[[File:cad_curve1# Activate the '''Solid Generator Tool'''.# In the solid generator dialog, select one of the five platonic solid types '''Tetrahedron''', '''Hexahedron''' '''Octahedron''', '''Dodecahedron''', or '''Icosahedron'''.# The dialog shows the number of faces, edges, nodes and the side length of the standard platonic solid of the selected type. # Specify the value of the '''Scale''' parameter based on the displayed '''Side Length'''.# Before you create the solid and add its name to the navigation tree, you have an opportunity to preview it. To do so, click the {{key|Preview}} button of the dialog. A yellow ghost of the solid appears in the project workspace. You can change the scale and resize the solid. Once you are satisfied with the generated solid, click the {{key|Create}} button to finalize its creation.png]]
[[FileNOTES, SPECIAL CASES OR EXCEPTIONS:vert_line_newAll the solid objects generated by the solid generator are of polymesh type.png]]
[[File:18_Line_tn_new.png]]
== Circle Tool ==PYTHON COMMAND: None
ICON: [[File:circle_tool_tn.png]]
MENUPLATONIC SOLID PROPERTIES{| class="wikitable"|-! scope="col"| Solid Type! scope="col"| No. of Faces! scope="col"| No. of Edges! scope="col"| No. of Vertices! scope="col"| Side Length! scope="col"| Geometry|-! scope="row" | Tetrahedron| 4| 6 | 4 | 2 | [[Image: '''Object CAD MAN23.png|thumb|left|150px]]|-! scope="row" | Tessellated Hexahedron| 12| 12 | 8 | 2 | [[Image:CAD MAN24.png|thumb|left|150px]]|-! scope="row" | Octahedron| 8| 12 | 6 | &rarrradic; Curve 2 | [[Image:CAD MAN25.png|thumb|left|150px]]|-! scope="row" | Tessellated Dodecahedron| 36| 30 | 20 | &rarrradic; Circle'''5 - 1 | [[Image:CAD MAN26.png|thumb|left|150px]]|-! scope="row" | Icosahedron| 20| 30 | 12 | 2 | [[Image:CAD MAN27.png|thumb|left|150px]] |}
TO DRAW A CIRCLE<table><tr><td> [[Image:cad_solid8.png|thumb|left|480px|The solid generator dialog.]] </td></tr></table>
# Activate the '''Circle == Sphere Tool'''. # Left-click at the desired location on the active grid to establish the origin.# Drag your mouse away from the origin to set the desired radius.# Left click a second time to complete the circle.==
ICON: [[File:sphere_tool_tn.png]]
PYTHON COMMANDMENU: circle(label,x0,y0,z0,radius,start_angle,end_angle)'''Object → Solid → Sphere'''
TO DRAW A SPHERE:
CIRCLE PARAMETERS# Activate the '''Sphere Tool'''.# Left-click to establish the origin point. Drag the mouse outward from the origin to establish the radius.# Left-click a second time to complete the sphere.  PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
{| border="0"|-| valign="top"||-SPHERE PARAMETERS
{| class="wikitable"
|-
| real numeric
| degrees
| 0
| start azimuth angle
|-
| real numeric
| degrees
| 360
| end azimuth angle
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_solid5.png|thumb|left|480px|The property dialog of the sphere object.]] </td></tr><tr><td> [[Image:resize_sphere_new.png|thumb|left|550px|The geometry of the sphere object.]] </td></tr><tr><td> [[Image:cad_solid5_2nd.png|thumb|left|480px|The property dialog of the sphere with a nonzero start and end angles.]] </td></tr><tr><td> [[Image:05b_sphere_tn_new.png|thumb|left|550px|A sphere with a nonzero start and end angles.]] </td></tr></table>
'''Circle Radius''' establishes the circumference of the circle. '''Start Angle''' and '''End Angle''' defines the area around the z-axis that will be drawn. The default value for both the Start and End angle parameters is 0.[[File:21_circle_tn_new.png]]== Spiral Curve Tool ==
The X, Y, Z LCS coordinates originate at the center of the circleICON: [[File:spiral_tool_tn.png]]
MENU: '''Object → Curve → Spiral'''
EDIT HANDLESTO DRAW A SPIRAL CURVE:
Edit handles, available in shape edit mode, allow you to modify common shape attributes using your mouse# Activate the '''Spiral Curve Tool'''. The diagram on # Left-click to establish the left provides a reference inner-radial origin of the parameters controlled by Spiral.# Drag away from the resize origin to expands the inner radius (REDdrag inward toward the origin to reduces the inner radius) edit handles. Edit handles turn blue when # Left-click a second time to set the mouse cursor hovers on top of theminner radius and create the anchor point for the outer radius. This color change indicates that # Drag the handle is activemouse away from the second point to expand the outer radius or closer to reduce the radius. Click and drag on any active handle # Left-click a third time to reshape complete the objectspiral.
[[File:cad_curve2.png]]
[[FilePYTHON COMMAND:resize_circle_new.png|circle]]spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)
== Super-Quadratic Curve Tool ==
ICON: [[File:superquad_tool_tn.png]]  MENU: '''Object → Curve → Super-quadratic Curve''' TO DRAW A SUPER-QUADRATIC CURVE: # Activate the '''Super-Quadratic Curve Tool'''. # Left-click to establish the initial X/Y diameter triangulation point.# Drag the mouse away from this point to define the desired size.# Left-click a second time to complete the superquad.  PYTHON COMMAND: superquad(label,x0,y0,z0,diam_x,diam_y,order)  SUPER-QUADRATIC SPIRAL CURVE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | diameter_Xinner_radius
| real numeric
| project units
| -
| diameter along X-axis
|-
! scope="row" | diameter_Youter_radius
| real numeric
| project units
| -
| diameter along Y-axis
|-
! scope="row" | orderturns
| integer numeric
| degreesproject units
| 2
| a higher order resembles a rectangle with rounded cornersnumber of spiral turns
|-
! scope="row" | is_rectangleccw
| Boolean
| -
| FALSETRUE| if TRUE, draws a rectanglecreates counterclockwise right-handedness
|-
! scope="row" | fix_center_Xdual_arm
| Boolean
| -
| TRUE FALSE| fixes Xcreates a dual-coordinate of base|-! scope="row" | fix_center_Y| Boolean| -| TRUE | fixes Y-coordinate of basearm spiral
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_curve6.png|thumb|left|480px|The property dialog of the spiral curve object.]] </td></tr></table><table><tr><td> [[Image:resize_sprial_new.png|thumb|left|550px|The geometry of the spiral curve object.]] </td></tr></table>
'''X Diameter''' and '''Y Diameter''' together establish the perimeter of the super quadratic curve. '''Lock Base''' anchors the superquad's LCS origin to its current location. The diagram below illustrates how the Lock Base option controls parameter changes made to the x and y diameter. [[File:lock_base_tn.jpg|lock base]]== Spiral Strip Tool ==
ICON: [[File:cad_curve3_newspiralstrip_tool_tn.png]]
[[FileMENU:22a_super_quad_tn_new.png]]'''Object → Surface → Spiral Strip'''
'''Order''' changes the corner radius amount. Enter higher values into the Order field to decrease corner radius, lower values to increase the corner radius. By default, the Order value is set to 2. '''Rectangle''' creates a rectangular curve (no corner rounding).TO DRAW A SPIRAL STRIP:
[[File:22b_super_quad_tn_new# Activate the '''Spiral Strip Tool'''. # Left-click to establish the origin of the Spiral Strip's inner-radius.# Drag away from the origin to expand the inner radius. Left-click a second time to set the inner radius and create the starting point for the outer radius.# Drag the mouse away from the second point to expand the outer radius (or closer to contract the radius). Left-click a third time to complete the spiral.png]]
NOTES, SPECIAL CASES OR EXCEPTIONS: Checking the '''Inner Taper''' box creates a rounded taper at the inner edge of each spiral arm by drawing an exponential curve from a user-defined edge inset point to that edge's opposite corner vertex. Checking the '''Outer Taper''' box creates a rounded taper at the outer edge of each spiral arm by drawing an exponential curve from a user-defined edge inset point to that edge's opposite corner vertex.. '''Inset Distance''' establishes an imaginary offset point positioned away from the corner vertex from the inner or outer edge. The '''Inner Radius''' setting is not available when the '''Dual Arm''' option is enabled.
DRAWING MODES
You can toggle between vertex, edge or face drawing modes by pressing the B key PYTHON COMMAND: spiral_strip(after the first point has been established). Side length is determined by triangulating the mouse position relative to the anchor point or centroid. When in vertex draw modelabel, the first point drawn defines the corner anchor vertex of the superquad. As you drag the mouse away from this anchored vertexx0, the superquad's boundaries radiate outward. When in edge draw modey0, the first point drawn defines the anchored edge of the superquad. As you drag the mouse away from the starting edgez0, the top and bottom perpendicular sides and the side opposite the anchored edge expand outward in all directions. When in face draw modewidth, the first point drawn defines the face centroid of the superquad. As you drag the mouse away from the centroidradius_inner, the superquad's boundaries radiate outward from this centroid.radius_outer,n_turns,spiral_dir,is_dual)
[[File:draw_modes_tn.jpg|drawing mode]]
Base center: x, y, z coordinates are located at the center of superquad.  EDIT HANDLES Edit handles, available in shape edit mode, allow you to modify common shape attributes using your mouse. The diagram on the left provides a reference of the parameters controlled by the resize (RED) edit handles. Edit handles turn blue when the mouse cursor hovers on top of them. This color change indicates that the handle is active. Click and drag on any active handle to reshape the object. [[File:resize_superquadratic_new.png|circle]] == Parabola Tool == ICON: [[File:parabola_tool_tn.png]]  MENU: '''Object → Curve → Parabola''' TO DRAW A PARABOLA: # Activate the '''Parabola Tool'''. # Left-click to set the Focal Point.# Drag away from the focal point and left-click a second time to set the desired Offset.# Drag and left-click a third time to complete the Parabolic Curve.  PYTHON COMMAND: parabola(label,x0,y0,z0,focal_length,axial_length,half_only)  PARABOLA SPIRAL STRIP PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | focal_lengthinner_radius
| real numeric
| project units
| -
|-
! scope="row" | axial_lengthouter_radius
| real numeric
| project units
| -
|-
! scope="row" | aperturestrip_width
| real numeric
| degreesproject units | -
| -
| is determined automatically by focal and axial lengths or can be set independently
|-
! scope="row" | create_halfturns| integer numeric| project units | 2| number of spiral turns|-! scope="row" | ccw| Boolean| -| TRUE| if TRUE, creates counterclockwise right-handedness |-! scope="row" | dual_arm
| Boolean
| -
| FALSE
| creates a dual-arm spiral|-! scope="row" | inner_taper| Boolean| -| FALSE| if TRUE, draws the left half onlytapers spiral strip from inner end|-! scope="row" | inner_inset| real numeric| project units | 0| when inner_taper is TRUE, a nonzero value creates inner inset|-! scope="row" | outer_taper| Boolean| -| FALSE| if TRUE, tapers spiral strip from outer end|-! scope="row" | outer_inset| real numeric| project units | 0| when outer_taper is TRUE, a nonzero value creates outer inset|-! scope="row" | taper_pointing| list: {inward, outward}| -| inward| sets the direction spiral's end tapers point to
|}
DIALOG PROPERTIES<table><tr><td> [[Image:cad_surf8.png|thumb|left|480px|The property dialog of the spiral strip object.]] </td></tr><tr><td> [[Image:resize_spiral_strip_new.png|thumb|left|550px|The geometry of the spiral strip object.]] </td></tr><tr><td> [[Image:cad_surf8_dual.png|thumb|left|480px|The property dialog of a dual-arm spiral strip object.]] </td></tr><tr><td> [[Image:12c_spiral_strip_tn_new.png|thumb|left|550px|A dual-arm spiral strip object.]] </td></tr></table>
'''Focal Length''', '''Axial Length''', and '''Aperture''' adjusts the opening of the parabola. '''Create Half''' bisects and removes the bottom half of the parabola. You can revolve the resulting curve to create a parabolic dish.== Super-Quadratic Curve Tool ==
ICON: [[File:cad_curve4superquad_tool_tn.png]]
[[FileMENU:23_parabola_tn_new.png]]'''Object → Curve → Super-quadratic Curve'''
TO DRAW A SUPER-QUADRATIC CURVE:
EDIT HANDLES# Activate the '''Super-Quadratic Curve Tool'''. # Left-click to establish the initial X/Y diameter triangulation point.# Drag the mouse away from this point to define the desired size.# Left-click a second time to complete the superquad.
Edit handlesNOTES, available in shape edit mode, allow you to modify common shape attributes using your mouse. SPECIAL CASES OR EXCEPTIONS: The diagram on parameter '''Order''' changes the left provides a reference radius of the parameters controlled by four corners of the resize super-quadratic curve. The second-order super-quadratic curve (REDn = 2) edit handlescorresponds to an ellipse. Edit handles turn blue when Entering a higher value for the mouse cursor hovers on top of them. This color change indicates that order decreases the handle is active. Click corner radius and drag on any active handle to reshape make the objectcurve look like a rectangle with rounded corners. Checking the '''Rectangle''' box creates a rectangular curve with no corner rounding.
[[File:resize_parabola_new.png|circle]]
== Hyperbola Tool ==PYTHON COMMAND: superquad(label,x0,y0,z0,diam_x,diam_y,order)
ICON: [[File:hyperbola_tool_tn.png]]
MENU: '''Object → Curve → Hyperbola''' TO DRAW A HYPERBOLA: # Activate the '''Hyperbola Tool'''. # LeftSUPER-click to define the X-radius origin. Construction guides will appear to aid in the drawing process.# Drag the mouse away from the origin to establish the desired X-radius. Left-click a second time.# To establish the Y-radius and the hyperbola's leg length, drag the mouse to the desired location and left-click to complete the Hyperbola.  PYTHON COMMAND: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)  HYPERBOLA QUADRATIC CURVE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| diameter along Y-axis
|-
! scope="row" | axial_lengthorder| real integer numeric| project units degrees| - 2| -a higher order resembles a rectangle with rounded corners
|-
! scope="row" | create_halfis_rectangle
| Boolean
| -
| FALSE
| if TRUE, draws one half of one branch onlya rectangle
|-
! scope="row" | negative_branchfix_center_X| Boolean
| -
| FALSETRUE | fixes X-coordinate of base|-! scope="row" | fix_center_Y| Boolean| -| if TRUE, draws the negative branch only| fixes Y-coordinate of base
|}
DIALOG PROPERTIES<table><tr><td> [[Image:cad_curve3_new.png|thumb|left|480px|The property dialog of the super-quadratic curve object.]] </td></tr></table><table><tr><td> [[Image:resize_superquadratic_new.png|thumb|left|550px|The geometry of the super-quadratic curve object.]] </td></tr></table><table><tr><td> [[Image:22b_super_quad_tn_new.png|thumb|left|400px|Comparing super-quadratic curves of different orders.]] </td></tr></table>
'''X Diameter''' '''Y Diameter''' '''Axial Length''' establishes the distance between the start and end points of the hyperbolic curve.== Surface Generator ==
ICON: [[File:cad_curve5surf_gen_tool_tn.png]]
[[FileMENU:24a_hyperbola_tn_new.png]]'''Object → Surface → Surface Generator'''
'''Neg. Branch''' create a mirrored version of the hyperbolic curve. '''Create Half''' bisects and removes the bottom half of the hyperbolic curve. You can revolve the resulting curve to create a hyperbolic dish.TO DRAW A PARAMETRIC SURFACE:
[[File# Activate the '''Surface Generator Tool'''. # Left-click to establish the location of the new parametric surface. A default 2D sinusoidal surface appears in the project workspace.# The surface generator dialog opens up on the lower left corner of the screen. You have three options for '''Orientation''':24b_hyperbola_tn_newXY, YZ or ZX planes. With the XY plane orientation, the parametric surface is expressed as z = f(x,y). With the YZ plane orientation, the parametric surface is expressed as x = f(y,z). With the ZX plane orientation, the parametric surface is expressed as y = f(z,x). # Enter start, stop and step values for the ranges of both coordinate variables in the selected orientation plane.# Enter a mathematical expression in terms of the coordinate variables in the selected orientation plane for the definition of the parametric surface.# Make sure to click the <b>OK</b> button of the dialog to complete the surface construction.png]]
NOTES, SPECIAL CASES OR EXCEPTIONS: You can always edit and modify a parametric surface after you first create it in the surface generator. The property dialog of a parametric surface object is indeed the surface generator itself, where you can change the parameter values or the defining expression.
EDIT HANDLES
Edit handlesPYTHON COMMAND: param_surface(label, available in shape edit modex0, allow you to modify common shape attributes using your mouse. The diagram on the left provides a reference of the parameters controlled by the resize (REDy0,z0,orientation,start_1,stop_1,step_1,start_2,stop_2,step_2,function) edit handles. Edit handles turn blue when the mouse cursor hovers on top of them. This color change indicates that the handle is active. Click and drag on any active handle to reshape the object.
[[File:resize_hyperbola.jpg|circle]]
Â
== Spiral Curve Tool ==
Â
ICON: [[File:spiral_tool_tn.png]]
Â
MENU: '''Object → Curve → Spiral'''
TO DRAW A SPIRAL CURVE: # Activate the '''Spiral Curve Tool'''. # Left-click to establish the inner-radial origin of the Spiral.# Drag away from the origin to expands the inner radius (drag inward toward the origin to reduces the inner radius).# Left-click a second time to set the inner radius and create the anchor point for the outer radius. # Drag the mouse away from the second point to expand the outer radius or closer to reduce the radius.# Left-click a third time to complete the spiral.  PYTHON COMMAND: spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)  SPIRAL CURVE PARAMETRIC SURFACE PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| project units
| -
| X-coordinates of base the surface
|-
! scope="row" | LCS_Y
| project units
| -
| Y-coordinates of base the surface
|-
! scope="row" | LCS_Z
| project units
| -
| Z-coordinates of base the surface
|-
! scope="row" | rot_X
| real numeric
| degrees
| - 0
| local rotation about X-axis
|-
| real numeric
| degrees
| - 0
| local rotation about Y-axis
|-
| real numeric
| degrees
| - 0
| local rotation about Z-axis
|-
! scope="row" | inner_radiusorientation| three options: XY, YZ or ZX| - | XY | the coordinate plane in which the parametric surface is drawn|-! scope="row" | start_1
| real numeric
| project units
| - 0 | -start value of range of the first coordinate variable
|-
! scope="row" | outer_radiusstop_1
| real numeric
| project units
| - 10 | -stop value of range of the first coordinate variable
|-
! scope="row" | turnsstep_1
| integer numeric
| project units
| 21| number step value of spiral turnsrange of the first coordinate variable
|-
! scope="row" | ccwstart_2| Booleanreal numeric| -project units | TRUE0 | if TRUE, creates counterclockwise right-handedness start value of range of the second coordinate variable
|-
! scope="row" | dual_armstop_2| Booleanreal numeric| project units | 10 | stop value of range of the second coordinate variable|-! scope="row" | step_2| integer numeric| project units | 1| step value of range of the second coordinate variable|-! scope="row" | expression| text string
| -
| FALSEsin(pi*x/5)*sin(pi*y/5)| creates a dual-arm spiralmathematical expression in two local coordinate variables
|}
DIALOG PROPERTIES<table><tr><td> [[Image:Cad surf11 new.png|thumb|left|480px|The surface generator dialog.]] </td></tr></table><table><tr><td> [[Image:Cad surf12 new.png|thumb|left|550px|The default 2D sinusoidal surface created by the surface generator.]] </td></tr></table>
'''Inner Radius''' defines the distance between the spiral's origin and the starting point of each spiral arm. '''Outer Radius''' sets the distance each spiral arm will radiate outward from the inner radius. '''Number of Turns''' defines the number of spiral revolutions of each arm '''Counter Clockwise''' (CCW) flips the clockwise drawing direction of the spiral arms.== Taper Strip Tool ==
ICON: [[File:cad_curve6taperstrip_tool_tn.png]]
[[FileMENU:25_spiral_tn.jpg]]'''Object → Surface → Taper Strip'''
The X, Y, Z LCS coordinates originate at the center of the spiral.TO DRAW A TAPER STRIP:
# Activate the '''Taper Strip Tool'''.
# Left-click to establish the base length midpoint.
# Drag outward from this point to define the desired length and angle of the base side. Left-click a second time to define the base.
# To establish the height, drag the mouse away from the base to the desired location. Left-click a third time to complete the Taper Strip.
EDIT HANDLESNOTES, SPECIAL CASES OR EXCEPTIONS: '''Taper Length''' establishes the distance between the base and top sides of the trapezoid. If the '''Exponential''' check box is checked, the two slanted sides of the trapezoid are replaced by exponential curves passing through the same vertices.
Edit handles, available in shape edit mode, allow you to modify common shape attributes using your mouse. The diagram on the left provides a reference of the parameters controlled by the resize (RED) edit handles. Edit handles turn blue when the mouse cursor hovers on top of them. This color change indicates that the handle is active. Click and drag on any active handle to reshape the object.
[[FilePYTHON COMMAND:resize_sprial_new.png|circle]]taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)
== Helix Tool ==
ICON: [[File:helix_tool_tn.png]]  MENU: '''Object → Curve → Helix''' TO DRAW A HELIX: # Activate the '''Helix Tool'''. # Left-click to establish the origin of the inner-radius.# Drag away from the origin to expand the inner radius, (toward it to contract the inner radius).# Left-click a second time to set the inner radius and to establish the anchor point from which you will set the height of the helix.# Drag your cursor "up" and away from the second anchor point to increase the height of the helix.# Left-click a third time to complete the helix.  PYTHON COMMAND: helix(label,x0,y0,z0,radius_inner,radius_outer,height,nturns,helix_dir)  HELIX TAPER STRIP PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | inner_radiusbase_width
| real numeric
| project units
| same as outer radius -
| -
|-
! scope="row" | outer_radiustaper_length
| real numeric
| project units
| -
|-
! scope="row" | heighttop_width
| real numeric
| project units
| -
|-
! scope="row" | turnstop_offset| integer real numeric
| project units
| 20| number of spiral turnsA zero value creates an isosceles triangle
|-
! scope="row" | ccwexponential
| Boolean
| -
| TRUEFALSE| if TRUE, creates counterclockwise rightan exponential taper transition|-handedness ! scope="row" | create-half| Boolean| -| FALSE| keeps left half of taper strip only
|}
DIALOG PARAMETERS<table><tr><td> [[Image:cad_surf6.png|thumb|left|480px|The property dialog of the taper strip object.]] </td></tr></table><table><tr><td> [[Image:Resize_taper_strip_new.png|thumb|left|550px|The geometry of the taper strip object with exponential side walls.]] </td></tr><tr><td> [[Image:14b_taper_strip_tn_new.png|thumb|left|720px|A taper strip with linear side walls and a nonzero top offset.]] </td></tr></table>
'''Inner Radius''' defines the distance between the spiral's origin and the starting point of each spiral arm. '''Outer Radius''' sets the distance each spiral arm will radiate outward from the inner radius. '''Number of Turns''' defines the number of spiral revolutions of each arm '''Height''' establishes the elevation of the outer radius of the helix. '''Counter Clockwise''' (CCW) flips the clockwise drawing direction of the spiral arms.== Torus Tool ==
ICON: [[File:cad_curve7torus_tool_tn.png]]
[[FileMENU:26_helix_tn_new.png]]'''Object → Solid → Torus'''
The X, Y, Z LCS coordinates originate at the base center of the helix.TO DRAW A TORUS:
# Activate the '''Torus Tool'''.
# Left-click to define the center point.
# Drag the mouse away from the origin and left-click a second time to establish the Major Radius of the torus.
# Drag the mouse away from the Major Radius construction path to establish the Minor Radius. Left-click a third time to complete the torus.
SNAP POINT EDIT HANDLES
Edit handles, available in shape edit mode, allow you to modify common shape attributes using your mouse. The diagram on the left provides a reference of the parameters controlled by the resize (RED) edit handles. [[File:resize_helix_new.png|circle]] == Polyline Tool == ICON: [[File:polyline_tool_tn.png]]  MENU: '''Object → Curve → Polyline''' TO DRAW A POLYLINE: # Activate the '''Polyline Tool'''. # Click anywhere on the active work plane to create nodes. The Polyline's contour is rendered as soon as the second node is defined. A Polyline must have at least two nodes.# The Polyline can be closed at any time by either double-clicking on the workplane to establish a closing node, or by pressing the '''C''' or '''ENTER''' key, which connects the last drawn node with the first.  PYTHON COMMAND: polylinetorus(label,(x0,y0,z0),(x1radius_major,y1radius_minor[,z1) ... )  EDITING NODES Each Polyline node can be selected by clicking on it in the work plane. You can also force nodes to snap to the nearest grid point by activating Snap to Grid ('''View → Grid Settings'''). If the polyline shape was originally drawn unclosedstart_angle, you can place a checkmark in the '''Close''' option box to connect the first drawn anchor point with the last drawn anchor point. Closing the "loop" allows you to fill the polyline shape, creating a planar object whose perimeter and surface area matches the drawn polyline's outline.  DIALOG PARAMETERS '''Index''' reports the unique order number of the currently selected node. '''Active Node''' shows the X, Y and Z coordinates of the currently selected node. [[File:cad_curve8.pngend_angle]] [[File:19_polyline_tn_new.png]] == NURBS Curve Tool == ICON: [[File:nurbs_tool_tn.png]]  MENU: '''Object → Curve → NURBS''' TO DRAW A NURBS CURVE: # Activate the '''NURBS Curve Tool'''. # Click anywhere on the active work plane to create nodes. The contour of the NURBs Curve is rendered as soon as the second node is defined. A NURBs Curve must have at least two nodes.# The NURBs Curve can be closed at any time by either double-clicking on the workplane to establish a closing node, or by pressing the '''C''' or '''ENTER''' key, which connects the last drawn node with the first.  PYTHON COMMAND: nurbs_curve(label,(x0,y0,z0),(x1,y1,z1) ... )  EDITING NODES Each NURBs Curve node can be selected by clicking on it in the work plane. You can also force nodes to snap to the nearest grid point by activating Snap to Grid ('''View → Grid Settings''').
If the NURBs Curve shape was originally drawn unclosed, you can place a checkmark in the '''Close''' option box to connect the first drawn anchor point with the last drawn anchor point. Closing the "loop" allows you to fill the polyline shape, creating a planar object whose perimeter and surface area matches the drawn polyline's outline.
 DIALOG TORUS PARAMETERS '''Index''' reports the unique order number of the currently selected node. '''Active Node''' shows the X, Y and Z coordinates of the currently selected node. [[File:cad_curve9_new.png]] [[File:20_Nurbs_tn_new.png]] == Generating Complex Curves == Besides [[EM.Cube|EM.CUBE]]'s standard [[Curve Objects|curve objects]], i.e. line, circle, super-quadratic curve, parabola, hyperbola, spiral curve and helix, you can use '''Curve Generator''' [[File:curve_gen_tool_tn.png]] to create a large variety of other [[Curve Objects|curve objects]]. Practically, any imaginable curve can be synthesized in [[EM.Cube|EM.CUBE]]. These include: # Planar Cartesian curves represented by equation y = f(x).# Planar polar curves represented by equation r = f(?).# 3-D parametric curves represented by equations x = x(t), y = y(t), and z = z(t). Moreover, you can create planar curves on any of the three principal XY, YZ or ZX planes. # Click the '''Curve Generator'''[[File:curve_gen_tool_tn.png]] button of the '''Object Toolbar''' or select '''Menu [[File:larrow_tn.png]] Object [[File:larrow_tn.png]] Curve [[File:larrow_tn.png]] Curve Generator''' to open the Curve Generator Dialog.# Select one of the three curve types '''Cartesian''', '''Polar''' or '''Parametric'''. For the Cartesian type, also specify the '''Orientation''', which is the XY principal plane by default.# Specify the range of the curve. This includes '''Start''', '''Stop''' and '''Step''' values. For polar curves, the angles are expressed in radians.# In the "Parameters" section, define the function representing the curve. For the Cartesian type, this has the form y = f(x) in XY Plane, z = f(y) in YZ Plane or x = f(z) in ZX Plane. For polar curves, the function is defined as r = f(t), where t and r represent the angle and radius, respectively. For parametric curves, t is the parameter, and the x, y and z coordinates are all expressed as three functions of t.# Curve Generator offers two options for the curve to be generated: '''Polyline''' or '''NURBS Curve'''. The latter is the default option. Change '''Curve Type''' if you want to create a polyline.# Before you create the curve and add it to the Navigation Tree, you have an opportunity to preview it. To do so, click the '''Preview''' button of the dialog. A yellow ghost of the curve appears in the Project Workspace. You can change the range or modify the function at this time. Once you are satisfied with the generated curve, click the '''Create''' to finalize its creation and add it to the list of object on the Navigation Tree. [[File:cad_curve10.png]] == Point Tool == ICON: [[File:point_tool_tn.png]]  MENU: '''Object → Special → Point''' TO DRAW A POINT: # Activate the '''Point Tool'''. # Left-click to establish the location of the point.  PYTHON COMMAND: point(label,x0,y0,z0)  POINT PARAMETERS {| border="0"|-| valign="top"||-
{| class="wikitable"
|-
| project units
| -
| X-coordinate coordinates of pointbase
|-
! scope="row" | LCS_Y
| project units
| -
| Y-coordinate coordinates of pointbase
|-
! scope="row" | LCS_Z
| project units
| -
| Z-coordinate coordinates of pointbase |-! scope="row" | rot_X| real numeric| degrees | - | local rotation about X-axis|-! scope="row" | rot_Y| real numeric| degrees | - | local rotation about Y-axis|-! scope="row" | rot_Z| real numeric| degrees | - | local rotation about Z-axis|-! scope="row" | major_radius| real numeric| project units | - | -|-! scope="row" | minor_radius| real numeric| project units | - | -|-! scope="row" | start_angle| real numeric| degrees| 0 | start azimuth angle|-! scope="row" | end_angle| real numeric| degrees| 360 | end azimuth angle
|}
<table><tr><td> [[FileImage:point_newcad_solid4torus.png|thumb|left|480px|The property dialog of the torus object.]] </td></tr><tr><td> [[Image:resize_torus_new.png|thumb|left|550px|The geometry of the torus object.]] </td></tr><tr><td> [[Image:cad_solid4torus_2nd.png|thumb|left|480px|The property dialog of the torus with a nonzero start and end angle.]] </td></tr><tr><td> [[Image:07b_torus_tn_new.png|thumb|left|550px|A torus with a nonzero start and end angle.]]</td></tr></table>
== Fractal Tree Triangle Strip Tool ==
ICON: [[File:fractal_tool_tntrianglestrip_tool_tn.png]]
MENU: '''Object → Special Surface → Fractal TreeTriangle Strip'''
TO DRAW A FRACTAL TREETRIANGLE STRIP:
# Activate the '''Fractal Tree Triangle Strip Tool'''. # Left-click to establish the location of the fractal tree. A default horizontal fractal tree appears in the project workspacetriangles origin.# The Fractal Dialog opens up on Drag away from the lower right corner origin and left-click a second time to define Leg 1 of the screen. You have two options: fractal tree with linear or cylindrical branches. You can also set the number of fractal levelstriangle.# Make sure to Drag away from leg 1, left-click the OK button of the dialog a third time to define Leg 2 and complete the fractal constructiontriangle.
NOTES, SPECIAL CASES OR EXCEPTIONS: '''Side 1''' establish the length of first leg of the triangle. '''Side 2''' establishes the length of the second leg of the triangle '''Angle''' defines the opening angle of the origin vertex (the angle between leg one and leg two). Hold down the {{key|Shift}} key while positioning the third point of the triangle to constrain the origin angle to 15º increments.
PYTHON COMMAND: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)
PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)
FRACTAL TREE PARAMETERS
{| border="0"|-| valign="top"||-TRIANGLE STRIP PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | key_object_type| Line or Cylinder| - | Line | -|-! scope="row" | level_count| integer numeric| -| 3| number of fractal levels|-! scope="row" | separation_angleside_1
| real numeric
| degrees| 30| angle between two adjacent branchesproject units |-! scope="row" | generation_factor| integer numeric
| -
| 3
| Number of new branches generated at each node
|-
! scope="row" | prune_factorside_2
| real numeric
| project units
| 0
| -
| 0
| A number between 0 and 1 representing the percentage of branches randomly deleted
|-
! scope="row" | thickness| real numeric| project units| 1| diameter of branches |-! scope="row" | thickness_factorangle
| real numeric
| degrees
| -
| 0.2| A number between 0 and 1 representing the percentage of tapering of each cylindrical branch upwardwedge angle
|}
<table>
<tr>
<td>
[[Image:cad_surf5.png|thumb|left|480px|The property dialog of the triangle strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_triangle_strip_new.png|thumb|left|550px|The geometry of the triangle strip object.]]
</td>
</tr>
</table>
Â
<br />
Â
<hr>
<p> </p>[[Image:Top_icon.png|48px30px]] '''[[#Box_Tool | Back to the Top of the Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[Building_Geometrical_Constructions_in_CubeCAD | Back to CubeCAD Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''