<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 ==
<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: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 a nonzero start angleand end angles.]]
</td>
</tr>
<tr>
<td>
[[Image:21_circle_tn_newA.png|thumb|left|400px550px|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|400px550px|A circle with a nonzero start and end angleangles.]]
</td>
</tr>
</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>
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_cylinder_new.png|thumb|left|550px|The geometry of the cylinder object.]]
</td>
</tr>
<tr>
<td>
[[Image:Cad_solid2_2nd.png|thumb|left|480px|The property dialog of the cylinder object with a nonzero end angle.]]
</td>
</tr>
</td>
</tr>
</table>
<table>
<tr>
<td>
<tr>
<td>
[[Image:cad_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|An ellipsoid with a nonzero end start angle.]]
</td>
</tr>
</table>
== Pyramid Fractal Tree Tool ==
ICON: [[File:pyramid_tool_tnfractal_tool_tn.png]]
MENU: '''Object → Solid Special → PyramidFractal Tree'''
TO DRAW A PYRAMIDFRACTAL TREE:
# Activate the '''Pyramid Fractal Tree Tool'''.# Left-click to establish the first point location of the rectangular base planefractal tree. A default horizontal fractal tree appears in the project workspace.# Define The fractal dialog opens up on the desired area lower right corner of the base plane by dragging the mouse away from the first pointscreen. Left-click a second time to establish You have two options: fractal tree with linear or cylindrical branches. You can also set the base planenumber of fractal levels.# Drag Make sure to click the mouse away from <b>OK</b> button of the base plane to establish the desired height. Left-click a third time dialog to complete the pyramidfractal construction.
NOTES, SPECIAL CASES OR EXCEPTIONS: The parameter '''Gen. Factor''' determines how many new next-level branches are generated at the end of each branch. '''Separation Angle''' sets the angle between each pair of branches at each node. The '''Prune Factor''' determines what percentage of branches are removed randomly at each node. With a default zero prune factor, all the branches are kept. The parameter '''Thickness''' represents the diameter of the main branch in the case of a cylinder key object. The parameter '''Thickness Factor''' determines the tapering of each cylindrical branch from its start point to the end point. A zero thickness factor means no branch tapering.
PYTHON COMMAND: pyramid(labelYou can change the coordinates of the LCS of a fractal tree or its rotation angle. From the fractal dialog,x0,y0,z0,base_x,base_y,height[,top_x,top_y,cap_top,cap_bottom])you can also access the properties of the key object by clicking the {{key|Edit Primitive...}} button of this dialog.
{{Note|Fractal tree operations are usually very time consuming especially when the key object type is a cylinder. Please be patient while [[EM.Cube]] is running fractal tree creation or edit operations.}}
PYRAMID PYTHON COMMAND: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)Â Â FRACTAL TREE PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | base_size_Xkey_object_type| real numericLine or Cylinder| project units - | - Line
| -
|-
! scope="row" | base_size_Ylevel_count| real integer numeric| project units | -
| -
| 3
| number of fractal levels
|-
! scope="row" | top_size_Xseparation_angle
| real numeric
| project units degrees| 0 30| -angle between two adjacent branches
|-
! scope="row" | top_size_Ygeneration_factor| real integer numeric| project units | 0
| -
| 3
| Number of new branches generated at each node
|-
! scope="row" | heightprune_factor
| real numeric
| project units
| -
| -
| 0
| A number between 0 and 1 representing the percentage of branches randomly deleted
|-
! scope="row" | top_offset_Xthickness
| real numeric
| project units | 0 1| -diameter of branches
|-
! scope="row" | top_offset_Ythickness_factor
| real numeric
| project units
| 0
| -
|-0.2! scope="row" | fix_center_X| Boolean| -| TRUE | fixes X-coordinate A number between 0 and 1 representing the percentage of base|-! scope="row" | fix_center_Y| Boolean| -| TRUE | fixes Y-coordinate tapering of base|-! scope="row" | cap_top| Boolean| -| TRUE | places a cap at top|-! scope="row" | cap_bottom| Boolean| -| TRUE | places a cap at bottom baseeach cylindrical branch upward
|}
<tr>
<td>
[[Image:cad_solid4CAD MAN20.png|thumb|left|480px|The property fractal tree dialog of the pyramid object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_pyramid_newCAD MAN21.png|thumb|left|550px|The geometry of the pyramid a fractal tree with a line key object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:04b_pyramid_tn_newACAD MAN22.png|thumb|left|550px|A pyramid The geometry of a fractal tree with nonzero top dimensions.]] </td></tr><tr><td> [[Image:04b_pyramid_tn_newB.png|thumb|left|550px|A pyramid with nonzero top offset valuesa cylinder key object.]]
</td>
</tr>
</table>
== Sphere Helix Tool ==
ICON: [[File:sphere_tool_tnhelix_tool_tn.png]]
MENU: '''Object → Solid Curve → SphereHelix'''
TO DRAW A SPHEREHELIX:
# Activate the '''Sphere Helix Tool'''.# Left-click to establish the origin pointof the inner-radius. # Drag the mouse outward away from the origin to establish 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 spherehelix.
NOTES, SPECIAL CASES OR EXCEPTIONS: You can define a helix curve with different values for '''Inner Radius''' and '''Outer Radius''', which make the curve expanding or shrinking. The '''Height''' parameter establishes the elevation of the end point of the helix with respect to start point.
PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
PYTHON COMMAND: helix(label,x0,y0,z0,radius_inner,radius_outer,height,nturns,helix_dir)
SPHERE HELIX PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | radiusinner_radius
| real numeric
| project units
| - same as outer radius
| -
|-
! scope="row" | start_angleouter_radius
| real numeric
| degreesproject units | 0 - | start azimuth angle-
|-
! scope="row" | end_angleheight
| real numeric
| degreesproject units | 360 - | end azimuth angle-|-! scope="row" | turns| integer numeric| project units | 2| number of spiral turns|-! scope="row" | ccw| Boolean| -| TRUE| if TRUE, creates counterclockwise right-handedness
|}
<tr>
<td>
[[Image:cad_solid5cad_curve7.png|thumb|left|480px|The property dialog of the sphere helix curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_sphere_newresize_helix_new.png|thumb|left|550px|The geometry of the sphere helix curve object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:05b_sphere_tn_new26_helix_tn_new.png|thumb|left|550px|A sphere with a nonzero end angleThe local coordinate system (LCS) of the helix curve object.]]
</td>
</tr>
</table>
== Torus Hyperbola Tool ==
ICON: [[File:torus_tool_tnhyperbola_tool_tn.png]]
MENU: '''Object → Solid Curve → TorusHyperbola'''
TO DRAW A TORUSHYPERBOLA:
# Activate the '''Torus Hyperbola Tool'''.# Left-click to define the center pointX-radius origin. Construction guides will appear to aid in the drawing process.# Drag the mouse away from the origin and leftto establish the desired X-radius. Left-click a second time to establish the Major Radius of the torus.# Drag To establish the mouse away from Y-radius and the Major Radius construction path hyperbola's leg length, drag the mouse to establish the Minor Radius. Leftdesired location and left-click a third time to complete the torusHyperbola.
NOTES, SPECIAL CASES OR EXCEPTIONS: Checking 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.
PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])
PYTHON COMMAND: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)
TORUS HYPERBOLA PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | major_radiusdiameter_X
| real numeric
| project units
| -
| diameter along X-axis
|-
! scope="row" | minor_radiusdiameter_Y
| real numeric
| project units
| -
| diameter along Y-axis
|-
! scope="row" | start_angleaxial_length
| real numeric
| degreesproject units | 0 - | start azimuth angle-|-! scope="row" | create_half| Boolean| -| FALSE| if TRUE, draws one half of one branch only
|-
! scope="row" | end_anglenegative_branch| real numeric-| degreesFALSE| 360 | end azimuth angleif TRUE, draws the negative branch only
|}
<tr>
<td>
[[Image:cad_solid4toruscad_curve5.png|thumb|left|480px|The property dialog of the torus hyperbola curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_torus_new24a_hyperbola_tn_new.png|thumb|left|550px|The geometry of the torus hyperbola curve object.]] </td></tr><tr><td> [[Image:07b_torus_tn_new.png|thumb|left|550px|A torus with a nonzero end angle.]]
</td>
</tr>
</table>
Â
== Solid Generator ==
Â
ICON: [[File:solid_gen_tool_tn.png]]
Â
MENU: '''Object → Solid → Solid Generator'''
Â
TO DRAW A PLATONIC SOLID:
Â
# 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.
Â
NOTES, SPECIAL CASES OR EXCEPTIONS: All the solid objects generated by the solid generator are of polymesh type.
Â
Â
PYTHON COMMAND: None
Â
Â
PLATONIC 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: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
| √2
| [[Image:CAD MAN25.png|thumb|left|150px]]
|-
! scope="row" | Tessellated Dodecahedron
| 36
| 30
| 20
| √5 - 1
| [[Image:CAD MAN26.png|thumb|left|150px]]
|-
! scope="row" | Icosahedron
| 20
| 30
| 12
| 2
| [[Image:CAD MAN27.png|thumb|left|150px]]
|}
Â
<table>
<tr>
<td>
[[Image:cad_solid824b_hyperbola_tn_new.png|thumb|left|480px720px|The solid generator dialogDrawing a half-hyperbola or the negative branch of the hyperbola.]]
</td>
</tr>
</table>
== Rectangle Strip Line Tool ==
ICON: [[File:rectstrip_tool_tnline_tool_tn.png]]
MENU: '''Object → Surface Curve → Rectangle StripLine'''
TO DRAW A RECTANGLE STRIPLINE:
# Activate the '''Rectangle Strip Line Tool'''. # Left-left click anywhere on the workplane to establish begin drawing the X/Y axial triangulation pointline.# Drag the mouse outward from this point to define the desired area of the rectangle strip. Leftleft-click a second time to complete the shapeline.
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.
PYTHON COMMAND: rect_strip(label,x0,y0,z0,side_x,side_y)
PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])
RECTANGLE STRIP LINE PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | side_Xlength
| real numeric
| project units
| -
| dimension along X-axis
|-
! scope="row" | side_Y
| real numeric
| project units
| -
| dimension along Y-axis
|-
! scope="row" | fix_center_X
| Boolean
| -
| TRUE
| fixes X-coordinate of base
|-
! scope="row" | fix_center_Y| Boolean| -| TRUE | fixes Y-coordinate of base|-! scope="row" | rect_loopfix_center
| Boolean
| -
| FALSE
| if TRUE, creates a rectangular loop|-! scope="row" | loop_width| real numeric| project units | - | -fixes midpoint coordinates
|}
<tr>
<td>
[[Image:cad_surf1cad_curve1.png|thumb|left|480px|The property dialog of the rectangle strip line object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_rectangular_strip_newvert_line_new.png|thumb|left|550px|The geometry 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 rectangle strip objectkeyboard.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_rectangular_strip_new118_Line_tn_new.png|thumb|left|550px|A rectangular loop object with Drawing a nonzero loop widthhorizontal line object.]]
</td>
</tr>
</table>
Â
== 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.
# 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 NURBS Curve can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first.
Â
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.
Â
Â
PYTHON COMMAND: nurbs_curve(label,(x0,y0,z0),(x1,y1,z1) ... )
Â
Â
<table>
<tr>
<td>
[[Image:lock_base_tncad_curve9_new.jpgpng|thumb|left|550px480px|Locking the base The property dialog of a rectangle stripthe NURBS curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:draw_modes_tn20_Nurbs_tn_new.jpgpng|thumb|left|550px|The different drawing modes of rectangle stripDrawing a NURBS curve.]]
</td>
</tr>
</table>
== Radial NURBS Strip Tool ==
ICON: [[File:radialstrip_tool_tnnurbsstrip_tool_tn.png]]
MENU: '''Object → Surface → Radial NURBS Strip'''
TO DRAW A RADIAL NURBS STRIP:
# Activate the '''Radial NURBS Strip Tool'''. # Left-click Click anywhere on the active work plane to establish the origin pointcreate nodes.# Drag the mouse away from origin and left-click a second time to establish the radius and the first leg The contour of the radial NURBS stripis rendered as soon as the third node is defined. A NURBS Strip must have at least three nodes.# Drag Create as many nodes as you want. You can finish the mouse to drawing either by double-clicking on the desired location to define last node or first creating the angle of last node and pressing the radial strip. Left-click a third time to complete the radial stripkeyboard's {{key|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: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
PYTHON COMMAND: nurbs_strip(label,(x0,y0,z0),(x1,y1,z1) ... )
RADIAL STRIP <table><tr><td> [[Image:cad_surf10.png|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" | radiusfocal_length
| real numeric
| project units
| -
|-
! scope="row" | base_lengthaxial_length
| real numeric
| project units
| 0 - | A nonzero value creates a flattened base-
|-
! 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Â
|}
<tr>
<td>
[[Image:cad_surf3cad_curve4.png|thumb|left|480px|The property dialog of the radial strip parabola curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_radial_strip_newresize_parabola_new.png|thumb|left|550px|The geometry of the radial strip parabola curve object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:10b_radial_strip_tn_new23_parabola_tn_new.png|thumb|left|550px720px|A radial strip object with Drawing a nonzero base lengthhalf-parabola.]]
</td>
</tr>
</table>
== Triangle Strip Point Tool ==
ICON: [[File:trianglestrip_tool_tnpoint_tool_tn.png]]
MENU: '''Object → Surface Special → Triangle StripPoint'''
TO DRAW A TRIANGLE STRIPPOINT:
# Activate the '''Triangle Strip Point Tool'''. # Left-click to establish the triangles origin.# Drag away from the origin and left-click a second time to define Leg 1 location of the triangle.# Drag away from leg 1, left-click a third time to define Leg 2 and complete the trianglepoint.
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: point(label,x0,y0,z0)
PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)
 TRIANGLE STRIP POINT PARAMETERS
{| class="wikitable"
|-
| project units
| -
| X-coordinates coordinate of base point
|-
! scope="row" | LCS_Y
| project units
| -
| Y-coordinates coordinate of base point
|-
! scope="row" | LCS_Z
| project units
| -
| Z-coordinates coordinate 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" | side_1| real numeric| project units | - | -|-! scope="row" | side_2| real numeric| project units | 0 | -|-! scope="row" | angle| real numeric| degrees| -| wedge anglepoint
|}
Â
[[File:point_new.png]]
Â
== 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.
# 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.
Â
NOTES, 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.
Â
Â
PYTHON COMMAND: polyline(label,(x0,y0,z0),(x1,y1,z1) ... )
Â
<table>
<tr>
<td>
[[Image:cad_surf5cad_curve8.png|thumb|left|480px|The property dialog of the triangle strip polyline object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_triangle_strip_new19_polyline_tn_new.png|thumb|left|550px|The geometry of the triangle strip objectDrawing a polyline.]]
</td>
</tr>
</table>
== Taper Strip Polystrip Tool ==
ICON: [[File:taperstrip_tool_tnpolystrip_tool_tn.png|Polystrip Tool]]
MENU: '''Object → Surface → Taper StripPolystrip'''
TO DRAW A TAPER STRIPPOLYSTRIP:
# Activate the '''Taper Strip Polystrip Tool'''. # Left-click to establish Click anywhere on the base length midpoint.# Drag outward from this point active work plane to define the desired length and angle of the base sidecreate nodes. Left-click a second time to define The polystrip's contour is rendered as soon as the basethird node is defined. A Polystrip must have at least three nodes.# To establish Create as many nodes as you want. You can finish the height, drag drawing either by double-clicking on the mouse away from last node or first creating the base to last node and pressing the desired location. Left-click a third time to complete the Taper Stripkeyboard's {{key|Enter}} key.
NOTES, SPECIAL CASES OR EXCEPTIONS: '''Taper Length''' establishes The property dialog of a polystrip object lists the distance between individual nodes and their coordinates ordered by the base node ID. You can select and top sides highlight each node and change its coordinates using the {{key|Edit}} button of the trapezoiddialog. If You can also delete each node using the '''Exponential''' check box {{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 checked, placed at the two slanted sides of midpoint between the trapezoid are replaced by exponential curves passing through selected node and the node having the same verticesnext ID number.
PYTHON COMMAND: taper_strippolystrip(label,(x0,y0,z0),base_width,top_width(x1,lengthy1,is_expoz1) ... )
TAPER STRIP <table><tr><td> [[Image:cad_surf9.png|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
|}
<tr>
<td>
[[Image:cad_surf6cad_solid4.png|thumb|left|480px|The property dialog of the taper strip pyramid object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:Resize_taper_strip_newresize_pyramid_new.png|thumb|left|550px|The geometry of the taper strip pyramid object with exponential side walls.]]
</td>
</tr>
<tr>
<td>
[[Image:14b_taper_strip_tn_newCad_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 taper strip 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 linear side walls and a nonzero top offsetvalues.]]
</td>
</tr>
</table>
== Regular Polygon Radial Strip Tool ==
ICON: [[File:polygonstrip_tool_tnradialstrip_tool_tn.png]]
MENU: '''Object → Surface → Regular PolygonRadial Strip'''
TO DRAW A REGULAR POLYGONRADIAL STRIP:
# Activate the '''Regular Polygon Radial Strip Tool'''. # Left-click to create establish the origin of the Regular Polygonpoint.# Drag the mouse away from the origin and left-click a second time to define establish the Regular Polygon's diameterradius and the first leg of the radial strip.# Drag the mouse to increase or decrease the number of sides desiredlocation to define the angle of the radial strip. Left-click a third time to finish drawing complete the Regular Polygonradial strip.
NOTES, SPECIAL CASES OR EXCEPTIONS: This tool creates a regular polygon with an arbitrary number of sides within a circumscribing circle of a specified radius.
PYTHON COMMAND: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
PYTHON COMMAND: polygon_reg(label,x0,y0,z0,radius,n_sides)
 REGULAR POLYGON RADIAL STRIP PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_surf7cad_surf3.png|thumb|left|480px|The property dialog of the regular polygon radial strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_polygon_strip_newresize_radial_strip_new.png|thumb|left|550px|The geometry of the regular polygon 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 N = 8 (octagon)a nonzero base length.]]
</td>
</tr>
</table>
== Spiral Rectangle Strip Tool ==
ICON: [[File:spiralstrip_tool_tnrectstrip_tool_tn.png]]
MENU: '''Object → Surface → Spiral Rectangle Strip'''
TO DRAW A SPIRAL RECTANGLE STRIP:
# Activate the '''Spiral Rectangle 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 X/Y axial triangulation point for the outer radius.# Drag the mouse away outward from the second this point to expand define the outer radius (or closer to contract desired area of the radius)rectangle strip. Left-click a third second time to complete the spiralshape.
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.
PYTHON COMMAND: rect_strip(label,x0,y0,z0,side_x,side_y)
PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)
 SPIRAL RECTANGLE STRIP PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_surf8cad_surf1.png|thumb|left|480px|The property dialog of the spiral rectangle strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_spiral_strip_newresize_rectangular_strip_new.png|thumb|left|550px|The geometry of the spiral rectangle strip object.]]
</td>
</tr>
<tr>
<td>
[[Image:12c_spiral_strip_tn_newcad_surf1_2nd.png|thumb|left|550px480px|A dual-arm spiral strip The property dialog of the rectangle loop objectwith a nonzero loop width.]]
</td>
</tr>
</table>
Â
== 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|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_surf9resize_rectangular_strip_new1.png|thumb|left|480px550px|The property dialog of the polystrip A rectangular loop objectwith a nonzero loop width.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:polystripstepslock_base_tn.pngjpg|thumb|left|550px|Drawing Locking the base of a polystriprectangle strip.]]
</td>
</tr>
</table>
Â
== 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 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|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_surf10draw_modes_tn.pngjpg|thumb|left|480px550px|The property dialog different drawing modes of the NURBS strip object.]] </td></tr></table><table><tr><td> [[Image:NURBSstripSteps.png|thumb|left|550px|Drawing a NURBS rectangle strip.]]
</td>
</tr>
</table>
== Surface Generator Regular Polygon Tool ==
ICON: [[File:surf_gen_tool_tnpolygonstrip_tool_tn.png]]
MENU: '''Object → Surface → Surface GeneratorRegular Polygon'''
TO DRAW A PARAMETRIC SURFACEREGULAR POLYGON:
# Activate the '''Surface Generator Regular Polygon Tool'''. # Left-click to establish create the location origin of the new parametric surface. A default 2D sinusoidal surface appears in the project workspaceRegular Polygon.# The surface generator dialog opens up on Drag away from the lower origin and left corner of -click a second time to define the screen. You have three options for Regular Polygon'''Orientation''': XY, YZ or ZX planess diameter. 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 Drag the ranges of both coordinate variables in mouse to increase or decrease the selected orientation plane.# Enter a mathematical expression in terms number of the coordinate variables in the selected orientation plane for the definition of the parametric surfacesides desired.# Make sure to Left-click the <b>OK</b> button of the dialog a third time to complete finish drawing the surface constructionRegular Polygon.
NOTES, SPECIAL CASES OR EXCEPTIONS: You can always edit and modify This tool creates a parametric surface after you first create it in the surface generator. The property dialog regular polygon with an arbitrary number of sides within a parametric surface object is indeed the surface generator itself, where you can change the parameter values or the defining expressioncircumscribing circle of a specified radius.
PYTHON COMMAND: param_surfacepolygon_reg(label,x0,y0,z0,orientationradius,start_1,stop_1,step_1,start_2,stop_2,step_2,functionn_sides)
PARAMETRIC SURFACE REGULAR POLYGON PARAMETERS
{| class="wikitable"
|-
| project units
| -
| X-coordinates of the surfacebase
|-
! scope="row" | LCS_Y
| project units
| -
| Y-coordinates of the surfacebase
|-
! scope="row" | LCS_Z
| project units
| -
| Z-coordinates of the surfacebase
|-
! 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" | orientation| three options: XY, YZ or ZX| - | XY | the coordinate plane in which the parametric surface is drawn|-! scope="row" | start_1radius
| real numeric
| project units
| 0 - | start value radius of range of the first coordinate variablecircumscribing circle
|-
! scope="row" | stop_1| real numeric| project units | 10 | stop value of range of the first coordinate variable|-! scope="row" | step_1side_count
| integer numeric
| project units -| 1- | step value number of range side of the first coordinate variableregular polygon
|-
! scope="row" | start_2top_width
| real numeric
| project units
| 0 | start value of range of the second coordinate variable|-! scope="row" | stop_2| real 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
| -
| sin(pi*x/5)*sin(pi*y/5)
| mathematical expression in two local coordinate variables
|}
<tr>
<td>
[[Image:Cad surf11 newcad_surf7.png|thumb|left|480px|The surface generator property dialogof the regular polygon object.]]
</td>
</tr>
<tr>
<td>
[[Image:Cad surf12 newresize_polygon_strip_new.png|thumb|left|550px|The default 2D sinusoidal surface created by geometry of the surface generatorregular polygon object with N = 8 (octagon).]]
</td>
</tr>
</table>
== Line Tool Solid Generator ==
ICON: [[File:line_tool_tnsolid_gen_tool_tn.png]]
MENU: '''Object → Curve Solid → LineSolid Generator'''
TO DRAW A LINEPLATONIC SOLID:
# Activate the '''Line Solid Generator Tool'''. # left click anywhere on In the workplane to begin drawing solid generator dialog, select one of the linefive platonic solid types '''Tetrahedron''', '''Hexahedron''' '''Octahedron''', '''Dodecahedron''', or '''Icosahedron'''.# left-click a second time 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 complete the linenavigation 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.
NOTES, SPECIAL CASES OR EXCEPTIONS: When All the check box '''Lock Center''' is checked, changing solid objects generated by 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 pointsolid generator are of polymesh type.
PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])None
LINE PLATONIC 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: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 | √2 | [[Image:CAD MAN25.png|thumb|left|150px]]|-! scope="row" | Tessellated Dodecahedron| 36| 30 | 20 | √5 - 1 | [[Image:CAD MAN26.png|thumb|left|150px]]|-! scope="row" | Icosahedron| 20| 30 | 12 | 2 | [[Image:CAD MAN27.png|thumb|left|150px]] |} <table><tr><td> [[Image:cad_solid8.png|thumb|left|480px|The solid generator dialog.]] </td></tr></table> == Sphere Tool == ICON: [[File:sphere_tool_tn.png]]  MENU: '''Object → Solid → Sphere''' TO DRAW A SPHERE: # 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])  SPHERE PARAMETERS
{| class="wikitable"
|-
| local rotation about Z-axis
|-
! scope="row" | lengthradius
| real numeric
| project units
| -
|-
! scope="row" | fix_centerstart_angle| Booleanreal numeric| degrees| 0 | start azimuth angle| -! scope="row" | end_angle| real numeric| degrees| FALSE360 | fixes midpoint coordinatesend azimuth angle
|}
<tr>
<td>
[[Image:cad_curve1cad_solid5.png|thumb|left|480px|The property dialog of the line sphere object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:vert_line_newresize_sphere_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 The geometry of the keyboardsphere object.]]
</td>
</tr>
<tr>
<td>
[[Image:18_Line_tn_newcad_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|Drawing A sphere with a horizontal line objectnonzero start and end angles.]]
</td>
</tr>
</table>
== Super-Quadratic Spiral Curve Tool ==
ICON: [[File:superquad_tool_tnspiral_tool_tn.png]]
MENU: '''Object → Curve → Super-quadratic CurveSpiral'''
TO DRAW A SUPER-QUADRATIC SPIRAL CURVE:
# Activate the '''Super-Quadratic Spiral Curve Tool'''. # Left-click to establish the initial X/Y diameter triangulation 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 pointfor the outer radius.# Drag the mouse away from this the second point to define expand the desired sizeouter radius or closer to reduce the radius.# Left-click a second third time to complete the superquadspiral.
NOTES, SPECIAL CASES OR EXCEPTIONS: The parameter '''Order''' changes the radius of the four corners of the super-quadratic curve. The second-order super-quadratic curve (n = 2) corresponds to an ellipse. Entering a higher value for the order decreases the corner radius and make the curve look like a rectangle with rounded corners. Checking the '''Rectangle''' box creates a rectangular curve with no corner rounding.
PYTHON COMMAND: spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)
PYTHON COMMAND: superquad(label,x0,y0,z0,diam_x,diam_y,order)
 SUPER-QUADRATIC SPIRAL CURVE PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_curve3_newcad_curve6.png|thumb|left|480px|The property dialog of the super-quadratic spiral curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_superquadratic_newresize_sprial_new.png|thumb|left|550px|The geometry of the super-quadratic spiral curve object.]] </td></tr></table><table><tr><td> [[Image:22a_super_quad_tn_new.png|thumb|left|550px|The local coordinate system (LCS) of the super-quadratic curve object.]] </td></tr><tr><td> [[Image:22b_super_quad_tn_new.png|thumb|left|400px|Comparing super-quadratic curves of different orders.]]
</td>
</tr>
</table>
== Parabola Spiral Strip Tool ==
ICON: [[File:parabola_tool_tnspiralstrip_tool_tn.png]]
MENU: '''Object → Curve Surface → ParabolaSpiral Strip'''
TO DRAW A PARABOLASPIRAL STRIP:
# Activate the '''Parabola Spiral Strip Tool'''. # Left-click to set establish the Focal Pointorigin of the Spiral Strip's inner-radius.# Drag away from the focal point and leftorigin to expand the inner radius. Left-click a second time to set the desired Offsetinner radius and create the starting point for the outer radius.# Drag and leftthe 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 Parabolic Curvespiral.
NOTES, SPECIAL CASES OR EXCEPTIONS: The parameters Checking the '''Axial LengthInner Taper''' and 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 ''Aperture'Outer Taper'' adjust ' box creates a rounded taper at the size outer edge of the opening of the parabolaeach spiral arm by drawing an exponential curve from a user-defined edge inset point to that edge's opposite corner vertex. Changing . '''Inset Distance''' establishes an imaginary offset point positioned away from the value of either one automatically adjusts corner vertex from the value of the otherinner or outer edge. Checking the box labeled The '''Create HalfInner Radius''' bisects setting is not available when the parabola and removes its bottom half. You can revolve the resulting half-curve to create a paraboloid'''Dual Arm''' option is enabled.
PYTHON COMMAND: parabolaspiral_strip(label,x0,y0,z0,focal_lengthwidth,axial_lengthradius_inner,half_onlyradius_outer,n_turns,spiral_dir,is_dual)
PARABOLA SPIRAL STRIP PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_curve4cad_surf8.png|thumb|left|480px|The property dialog of the parabola curve spiral strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:resize_parabola_newresize_spiral_strip_new.png|thumb|left|550px|The geometry of the parabola curve spiral strip object.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:23_parabola_tn_newcad_surf8_dual.png|thumb|left|550px480px|Drawing The property dialog of a halfdual-arm spiral strip object.]] </td></tr><tr><td> [[Image:12c_spiral_strip_tn_new.png|thumb|left|550px|A dual-parabolaarm spiral strip object.]]
</td>
</tr>
</table>
== Hyperbola Super-Quadratic Curve Tool ==
ICON: [[File:hyperbola_tool_tnsuperquad_tool_tn.png]]
MENU: '''Object → Curve → HyperbolaSuper-quadratic Curve'''
TO DRAW A HYPERBOLASUPER-QUADRATIC CURVE:
# Activate the '''Hyperbola Super-Quadratic Curve Tool'''. # Left-click to define establish the initial X-radius origin. Construction guides will appear to aid in the drawing process/Y diameter triangulation point.# Drag the mouse away from the origin this point to establish define the desired X-radiussize. # 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 Hyperbolasuperquad.
NOTES, SPECIAL CASES OR EXCEPTIONS: Checking the box labeled The parameter '''Neg. BranchOrder''' creates changes the opposite branch radius of the hyperbola four corners of the super-quadratic curve. The second-order super-quadratic curve (n = 2) corresponds to an ellipse. Entering a higher value for the order decreases the corner radius and make the curve look like a rectangle with rounded corners. Checking the box labeled '''Create HalfRectangle''' bisects the hyperbola and removes its bottom half. You can revolve the resulting curve to create box creates a hyperboloidrectangular curve with no corner rounding.
PYTHON COMMAND: hyperbolasuperquad(label,x0,y0,z0,diam_x,diam_y,axial_length,half_onlyorder)
HYPERBOLA SUPER-QUADRATIC CURVE PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_curve5cad_curve3_new.png|thumb|left|480px|The property dialog of the hyperbola super-quadratic curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:24a_hyperbola_tn_newresize_superquadratic_new.png|thumb|left|550px|The geometry of the hyperbola super-quadratic curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:24b_hyperbola_tn_new22b_super_quad_tn_new.png|thumb|left|550px400px|Drawing a halfComparing super-hyperbola or the negative branch quadratic curves of the hyperboladifferent orders.]]
</td>
</tr>
</table>
== Spiral Curve Tool Surface Generator ==
ICON: [[File:spiral_tool_tnsurf_gen_tool_tn.png]]
MENU: '''Object → Curve Surface → SpiralSurface Generator'''
TO DRAW A SPIRAL CURVEPARAMETRIC SURFACE:
# Activate the '''Spiral Curve Surface Generator Tool'''. # Left-click to establish the inner-radial origin location of the Spiralnew parametric surface. A default 2D sinusoidal surface appears in the project workspace.# Drag away from The surface generator dialog opens up on the origin to expands lower left corner of the inner radius screen. You have three options for '''Orientation''': XY, YZ or ZX planes. With the XY plane orientation, the parametric surface is expressed as z = f(drag inward toward x,y). With the origin to reduces YZ plane orientation, the inner radiusparametric surface is expressed as x = f(y,z). With the ZX plane orientation, the parametric surface is expressed as y = f(z,x). # Left-click a second time to set the inner radius Enter start, stop and create the anchor point step values for the outer radiusranges of both coordinate variables in the selected orientation plane. # Drag Enter a mathematical expression in terms of the mouse away from coordinate variables in the second point to expand selected orientation plane for the outer radius or closer to reduce definition of the radiusparametric surface.# Left-Make sure to click a third time the <b>OK</b> button of the dialog to complete the spiralsurface construction.
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.
PYTHON COMMAND: spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)
PYTHON COMMAND: param_surface(label,x0,y0,z0,orientation,start_1,stop_1,step_1,start_2,stop_2,step_2,function)
SPIRAL CURVE PARAMETRIC SURFACE PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_curve6Cad surf11 new.png|thumb|left|480px|The property surface generator dialog of the spiral curve object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_sprial_newCad surf12 new.png|thumb|left|550px|The geometry of default 2D sinusoidal surface created by the spiral curve objectsurface generator.]]
</td>
</tr>
</table>
== Helix Taper Strip Tool ==
ICON: [[File:helix_tool_tntaperstrip_tool_tn.png]]
MENU: '''Object → Curve Surface → HelixTaper Strip'''
TO DRAW A HELIXTAPER STRIP:
# Activate the '''Helix Taper Strip Tool'''. # Left-click to establish the origin of the inner-radiusbase length midpoint.# Drag away outward from the origin this point to expand define the inner radius, (toward it to contract desired length and angle of the inner radius)base side.# Left-click a second time to set define the inner radius and to base.# To establish the anchor point from which you will set the height of , drag the helix.# Drag your cursor "up" and mouse away from the second anchor point base to increase the height of the helixdesired location.# Left-click a third time to complete the helixTaper Strip.
NOTES, SPECIAL CASES OR EXCEPTIONS: You can define a helix curve with different values for '''Inner RadiusTaper Length''' establishes the distance between the base and '''Outer Radius''', which make top sides of the curve expanding or shrinkingtrapezoid. The If the '''HeightExponential''' parameter establishes check box is checked, the elevation two slanted sides of the end point of trapezoid are replaced by exponential curves passing through the helix with respect to start pointsame vertices.
PYTHON COMMAND: helixtaper_strip(label,x0,y0,z0,radius_innerbase_width,radius_outertop_width,heightlength,nturns,helix_diris_expo)
HELIX TAPER STRIP PARAMETERS
{| 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
|}
<tr>
<td>
[[Image:cad_curve7cad_surf6.png|thumb|left|480px|The property dialog of the helix curve taper strip object.]]
</td>
</tr>
<tr>
<td>
[[Image:resize_helix_newResize_taper_strip_new.png|thumb|left|550px|The geometry of the helix curve taper strip objectwith exponential side walls.]]
</td>
</tr>
</table>
<table>
<tr>
<td>
[[Image:26_helix_tn_new14b_taper_strip_tn_new.png|thumb|left|550px720px|The local coordinate system (LCS) of the helix curve objectA taper strip with linear side walls and a nonzero top offset.]]
</td>
</tr>
</table>
== Polyline Torus Tool ==
ICON: [[File:polyline_tool_tntorus_tool_tn.png]]
MENU: '''Object → Curve Solid → PolylineTorus'''
TO DRAW A POLYLINETORUS:
# Activate the '''Polyline Torus Tool'''. # Click anywhere on the active work plane Left-click to create nodes. The polyline's contour is rendered as soon as define the second node is defined. A polyline must have at least two nodescenter point.# Create as many nodes as you want. You can finish Drag the drawing either by double-clicking on mouse away from the last node or first creating the last node origin and pressing left-click a second time to establish the keyboard's {{key|Enter}} keyMajor Radius of the torus. # The polyline can be closed at any time using Drag the keyboard shortcut {{key|C}}. This connects mouse away from the last drawn node Major Radius construction path to establish the Minor Radius. Left-click a third time to complete the firsttorus.
NOTES, 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.
PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])
PYTHON COMMAND: polyline(label,(x0,y0,z0),(x1,y1,z1) ... )
 <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> == 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.# 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 NURBS Curve can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first. 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.   PYTHON COMMAND: nurbs_curve(label,(x0,y0,z0),(x1,y1,z1) ... )  <table><tr><td> [[Image:cad_curve9_new.png|thumb|left|480px|The property dialog of the NURBS curve object.]] </td></tr></table><table><tr><td> [[Image:20_Nurbs_tn_new.png|thumb|left|550px|Drawing a NURBS curve.]] </td></tr></table> == 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 TORUS PARAMETERS
{| 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 <b>OK</b> button of the dialog a third time to define Leg 2 and complete the fractal constructiontriangle.
NOTES, SPECIAL CASES OR EXCEPTIONS: The parameter '''Gen. FactorSide 1''' determines how many new next-level branches are generated at establish the end length of first leg of each branchthe triangle. '''Separation AngleSide 2''' sets establishes the angle between each pair length of branches at each node. The '''Prune Factor''' determines what percentage the second leg of branches are removed randomly at each node. With a default zero prune factor, all the branches are kept. The parameter triangle '''ThicknessAngle''' represents defines the diameter opening angle of the main branch in origin vertex (the case of a cylinder key objectangle between leg one and leg two). The parameter '''Thickness Factor''' determines Hold down the tapering {{key|Shift}} key while positioning the third point of each cylindrical branch from its start point the triangle to constrain the end point. A zero thickness factor means no branch taperingorigin angle to 15º increments.
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.
{{Note|Fractal tree operations are usually very time consuming especially when the key object type is a cylinder. Please be patient while [[EM.Cube]] is running fractal tree creation or edit operations.}}PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)
PYTHON COMMAND: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)Â Â FRACTAL TREE 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
|}
<tr>
<td>
[[Image:CAD MAN20cad_surf5.png|thumb|left|480px|The fractal tree property dialogof the triangle strip object.]]
</td>
</tr>
<tr>
<td>
[[Image:CAD MAN21resize_triangle_strip_new.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 the triangle strip object.]]
</td>
</tr>
<hr>
[[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]]'''