Difference between revisions of "Glossary of EM.Cube's Standard Geometric Objects"

From Emagtech Wiki
Jump to: navigation, search
(Ellipsoid Tool)
 
(105 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
<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 Tool ==
  
Line 17: Line 25:
  
 
BOX PARAMETERS
 
BOX PARAMETERS
{| border="0"
 
|-
 
| valign="top"|
 
|-
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 114: Line 118:
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
Line 121: Line 127:
 
</table>
 
</table>
  
== Cylinder Tool ==
+
== Circle Strip Tool ==
  
ICON: [[File:cylinder_tool_tn.png]]
+
ICON: [[File:circlestrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Solid &rarr; Cylinder'''
+
MENU: '''Objects &rarr; Surfaces &rarr; Circle Strip'''
  
TO DRAW A CYLINDER:
+
TO DRAW A CIRCLE STRIP:
  
# Activate the '''Cylinder Tool'''.
+
# Activate the '''Circle Strip Tool'''.  
# Left-click to establish the center of the bottom base.
+
# Left-click to define the origin
# 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 away from the origin to establish the desired radius. Left-click a second time to complete the circle strip.
# 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.
+
  
  
PYTHON COMMAND: cylinder(label,x0,y0,z0,radius,height[,start_angle,end_angle,cap_top,cap_bottom])
+
PYTHON COMMAND: circ_strip(label,x0,y0,z0,outer_radius,inner_radius[,start_angle,end_angle])
  
  
CYLINDER PARAMETERS
+
CIRCLE STRIP PARAMETERS
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 187: Line 188:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | base_radius
+
! scope="row" | outer_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| circle's outer radius
 
|-
 
|-
! scope="row" | height
+
! scope="row" | inner_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| -
+
| 0
| -
+
| inner radius creating a ring object
 
|-
 
|-
 
! scope="row" | start_angle
 
! scope="row" | start_angle
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 0  
+
| 0
 
| start azimuth angle
 
| start azimuth angle
 
|-
 
|-
Line 208: Line 209:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 360  
+
| 360
 
| end azimuth angle
 
| 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 &rarr; Curve &rarr; 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="row" | cap_top
+
! scope="col"| Parameter Name
| Boolean
+
! scope="col"| Value Type
| -
+
! scope="col"| Units
| TRUE
+
! scope="col"| Default Value
| places a cap at top
+
! scope="col"| Notes
 
|-
 
|-
! scope="row" | cap_bottom
+
! scope="row" | LCS_X
| Boolean
+
| real 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
+
|-
| places a cap at bottom base
+
! scope="row" | start_angle
 +
| real numeric
 +
| degrees
 +
| 0
 +
| start azimuth angle
 +
|-
 +
! scope="row" | end_angle
 +
| real numeric
 +
| degrees
 +
| 360
 +
| end azimuth angle
 
|}
 
|}
  
Line 227: Line 332:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_solid2.png|thumb|left|480px|The property dialog of the cylinder object.]]  
+
[[Image:cad_curve2.png|thumb|left|480px|The property dialog of the circle object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_cylinder_new.png|thumb|left|550px|The geometry of the cylinder object.]]  
+
[[Image:resize_circle_new.png|thumb|left|550px|The geometry of the circle object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:02b_cylinder_tn_new.png|thumb|left|550px|A cylinder with a nonzero end angle.]]  
+
[[Image:21_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 circle with nonzero start and end angles.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 260: Line 379:
  
 
CONE PARAMETERS
 
CONE PARAMETERS
{| border="0"
 
|-
 
| valign="top"|
 
|-
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 358: Line 473:
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
Line 363: Line 480:
 
</td>
 
</td>
 
</tr>
 
</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>
 
<tr>
 
<td>  
 
<td>  
Line 370: Line 495:
 
</table>
 
</table>
  
== Pyramid Tool ==
+
== Curve Generator ==
  
ICON: [[File:pyramid_tool_tn.png]]  
+
ICON: [[File:curve_gen_tool_tn.png]]  
  
MENU: '''Object &rarr; Solid &rarr; Pyramid'''
+
MENU: '''Object &rarr; Curve &rarr; Curve Generator'''
  
TO DRAW A PYRAMID:
+
TO DRAW A PARAMETRIC CURVE:
  
# Activate the '''Pyramid Tool'''.
+
# Activate the '''Curve Generator Tool'''.  
# Left-click to establish the first point of the rectangular base plane.
+
# Left-click to establish the location of the new parametric curve. A default oblique line appears in the project workspace.
# 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.
+
# The curve generator dialog opens up on the lower left corner of the screen. You have three options for '''Model''' type: '''Cartesian Curve''', '''Polar Curve''' or '''Parametric Curve'''. The default option is the Cartesian curve.
# Drag the mouse away from the base plane to establish the desired height. Left-click a third time to complete the pyramid.
+
# In the case of a Cartesian curve, you also have three options for '''Orientation''': XY, YZ or ZX planes. With the XY plane orientation, the Cartesian curve is expressed as y = f(x). With the YZ plane orientation, the Cartesian curve is expressed as z = f(y). With the ZX plane orientation, the Cartesian curve is expressed as x = f(z).
 +
# Enter the start, stop and step values for the range of the coordinate variable in the selected orientation plane.
 +
# Enter a mathematical expression in terms of the coordinate variable in the selected orientation plane for the definition of the Cartesian curve.
 +
# In the case of a 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 curve 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 PARAMETERS
+
 
{| border="0"
+
PARAMETRIC CURVE PARAMETERS
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 404: Line 534:
 
| project units  
 
| project units  
 
| -  
 
| -  
| X-coordinates of base
+
| X-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Y  
 
! scope="row" | LCS_Y  
Line 410: Line 540:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Y-coordinates of base
+
| Y-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Z
 
! scope="row" | LCS_Z
Line 416: Line 546:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Z-coordinates of base
+
| Z-coordinates of the surface
 
|-
 
|-
 
! scope="row" | rot_X
 
! scope="row" | rot_X
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about X-axis
 
| local rotation about X-axis
 
|-
 
|-
Line 427: Line 557:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Y-axis
 
| local rotation about Y-axis
 
|-
 
|-
Line 433: Line 563:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | base_size_X
+
! scope="row" | model
| real numeric
+
| three options: Cartesian, polar or parametric
| project units  
+
| -  
| -
+
| Cartesian
| -
+
| the curve definition type
 
|-
 
|-
! scope="row" | base_size_Y
+
! scope="row" | orientation
| real numeric
+
| three 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_X
+
! scope="row" | start
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| 0  
 
| 0  
| -
+
| start value of range of the coordinate variable
 
|-
 
|-
! scope="row" | top_size_Y
+
! scope="row" | stop
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| 0
+
| 10
| -
+
| stop value of range of the coordinate variable
 
|-
 
|-
! scope="row" | height
+
! scope="row" | step
| real numeric
+
| integer numeric
 
| project units   
 
| project units   
| -
+
| 1
| -
+
| step value of range of the coordinate variable
 
|-
 
|-
! scope="row" | top_offset_X
+
! scope="row" | function
| real numeric
+
| text string
| project units 
+
| 0
+
 
| -
 
| -
 +
| x
 +
| mathematical expression in the local coordinate variable
 
|-
 
|-
! scope="row" | top_offset_Y
+
! scope="row" | y(t)
| real numeric
+
| text string
| project units 
+
| 0
+
 
| -
 
| -
 +
| t
 +
| mathematical expression in the variable t (only for parametric curve)
 
|-
 
|-
! scope="row" | fix_center_X
+
! scope="row" | z(t)
| Boolean
+
| text string
 
| -
 
| -
| TRUE
+
| t
| fixes X-coordinate of base
+
| mathematical expression in the variable t (only for parametric curve)
|-
+
! 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 base
+
 
|}
 
|}
  
Line 506: Line 618:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_solid4.png|thumb|left|480px|The property dialog of the pyramid object.]]  
+
[[Image:cad_curve10.png|thumb|left|480px|The curve generator dialog showing the default Cartesian curve.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_pyramid_new.png|thumb|left|550px|The geometry of the pyramid object.]]  
+
[[Image:Cad curve11_new.png|thumb|left|550px|The default Cartesian curve created by the curve generator.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:04b_pyramid_tn_newA.png|thumb|left|550px|A pyramid with nonzero top dimensions.]]  
+
[[Image:Cad curve12_new.png|thumb|left|480px|The curve generator dialog showing a super-quadratic helical parametric curve.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:04b_pyramid_tn_newB.png|thumb|left|550px|A pyramid with nonzero top offset values.]]  
+
[[Image:Cad curve13_new.png|thumb|left|550px|The super-quadratic helical parametric curve created by the curve generator.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
[[File:draw_modes_tn.jpg|drawing mode]]
+
== Cylinder Tool ==
  
== Sphere Tool ==
+
ICON: [[File:cylinder_tool_tn.png]] 
  
ICON: [[File:sphere_tool_tn.png]]
+
MENU: '''Object &rarr; Solid &rarr; Cylinder'''
  
MENU: '''Object &rarr; Solid &rarr; Sphere'''
+
TO DRAW A CYLINDER:
  
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])
 
  
 
+
CYLINDER PARAMETERS
SPHERE PARAMETERS
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 593: Line 706:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | radius
+
! scope="row" | base_radius
 +
| real numeric
 +
| project units 
 +
| -
 +
| -
 +
|-
 +
! scope="row" | height
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 610: Line 729:
 
| 360  
 
| 360  
 
| end azimuth angle
 
| 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
 
|}
 
|}
  
Line 615: Line 746:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_solid5.png|thumb|left|480px|The property dialog of the sphere object.]]  
+
[[Image:cad_solid2.png|thumb|left|480px|The property dialog of the cylinder object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_sphere_new.png|thumb|left|550px|The geometry of the sphereobject.]]  
+
[[Image:resize_cylinder_new.png|thumb|left|550px|The geometry of the cylinder object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:05b_sphere_tn_new.png|thumb|left|550px|A cone with a nonzero end angle.]]  
+
[[Image:Cad_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 cylinder with a nonzero end angle.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Ellipsoid Tool ==
+
== Ellipse Strip Tool ==
  
ICON: [[File:ellipsoid_tool_tn.png]]  
+
ICON: [[File:ellipsestrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Solid &rarr; Ellipsoid'''
+
MENU: '''Object &rarr; Surface &rarr; Ellipse Strip'''
  
TO DRAW AN ELLIPSOID:
+
TO DRAW AN ELLIPSE STRIP:
  
# Activate the '''Ellipsoid Tool'''.
+
# Activate the '''Ellipse Strip Tool'''.  
# Left-click to define the first X-radius anchor point.
+
# Left-click to establish the X/Y axis origin.
# Drag the mouse to the desired length. left-click a second time to define the ending X-radius anchor point.
+
# Drag the mouse away from the origin to the desired location. Left-click a second time to create the ellipse.
# Drag the mouse away from the X radius to establish the desired 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 ellipsoid.
+
  
  
PYTHON COMMAND: ellipsoid(label,x0,y0,z0,radius_x,radius_y,radius_z[,start_angle,end_angle])
+
PYTHON COMMAND: ellipse_strip(label,x0,y0,z0,radius_x,radius_y[,start_angle,end_angle])
  
  
ELLIPSOID PARAMETERS
+
ELLIPSE STRIP PARAMETERS
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 701: Line 831:
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| radius along X-axis
 
|-
 
|-
 
! scope="row" | radius_Y
 
! scope="row" | radius_Y
Line 707: Line 837:
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| radius along Y-axis
|-
+
! scope="row" | radius_Z
+
| real numeric
+
| project units 
+
| -
+
| -
+
 
|-
 
|-
 
! scope="row" | start_angle
 
! scope="row" | start_angle
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 0  
+
| 0
 
| start azimuth angle
 
| start azimuth angle
 
|-
 
|-
Line 724: Line 848:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 360  
+
| 360
 
| end azimuth angle
 
| 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
 
|}
 
|}
  
Line 731: Line 867:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_solid6.png|thumb|left|480px|The property dialog of the ellipsoid object.]]  
+
[[Image:cad_surf4.png|thumb|left|480px|The property dialog of the ellipse strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_ellipsoid_new.png|thumb|left|550px|The geometry of the ellipsoid object.]]
+
[[Image:resize_elliptical_strip_new.png|thumb|left|550px|The geometry of the ellipse strip object.]]  
</td>
+
</tr>
+
<tr>
+
<td>
+
[[Image:06b_ellipsoid_tn_new.png|thumb|left|550px|An ellipsoid with a nonzero end angle.]]  
+
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Torus Tool ==
+
== Ellipsoid Tool ==
  
ICON: [[File:torus_tool_tn.png]]  
+
ICON: [[File:ellipsoid_tool_tn.png]]  
  
MENU: '''Object &rarr; Solid &rarr; Torus'''
+
MENU: '''Object &rarr; Solid &rarr; Ellipsoid'''
  
TO DRAW A TORUS:
+
TO DRAW AN ELLIPSOID:
  
# Activate the '''Torus Tool'''.
+
# Activate the '''Ellipsoid Tool'''.
# Left-click to define the center point.
+
# Left-click to define the first X-radius anchor 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 to the desired length. left-click a second time to define the ending X-radius anchor point.
# Drag the mouse away from the Major Radius construction path to establish the Minor Radius. Left-click a third time to complete the torus.
+
# Drag the mouse away from the X radius to establish the desired 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 ellipsoid.
  
  
PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])
+
PYTHON COMMAND: ellipsoid(label,x0,y0,z0,radius_x,radius_y,radius_z[,start_angle,end_angle])
  
  
TORUS PARAMETERS
+
ELLIPSOID PARAMETERS
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 812: Line 942:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | major_radius
+
! scope="row" | radius_X
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 818: Line 948:
 
| -
 
| -
 
|-
 
|-
! scope="row" | minor_radius
+
! scope="row" | radius_Y
 +
| real numeric
 +
| project units 
 +
| -
 +
| -
 +
|-
 +
! scope="row" | radius_Z
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 837: Line 973:
 
|}
 
|}
  
 +
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_solid6.png|thumb|left|480px|The property dialog of the ellipsoid object.]]
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
[[Image:resize_ellipsoid_new.png|thumb|left|550px|The geometry of the ellipsoid object.]]
 +
</td>
 +
</tr>
 +
<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 start angle.]]
 +
</td>
 +
</tr>
 +
</table>
  
[[File:cad_solid4torus.png]]
+
== Fractal Tree Tool ==
  
[[File:07b_torus_tn_new.png]]
+
ICON: [[File:fractal_tool_tn.png]]  
  
[[File:resize_torus_new.png|circle]]
+
MENU: '''Object &rarr; Special &rarr; Fractal Tree'''
  
== Generating Platonic Solids ==
+
TO DRAW A FRACTAL TREE:
  
Besides [[EM.Cube]]'s standard [[Solid Objects|solid objects]], i.e. box, cylinder, cone, pyramid, sphere, ellipsoid, and torus, you can use '''Solid Generator''' [[File:solid_gen_tool_tn.png]] to create five types of Platonic [[Solid Objects|solid objects]]:
+
# Activate the '''Fractal Tree Tool'''.  
 +
# Left-click to establish the location of the fractal tree. A 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 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. 
  
# Tetrahedron
+
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.     
# Hexahedron
+
# Octahedron
+
# Dodecahedron
+
# Icosahedron
+
  
[[File:cad_solid8.png]]
+
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.  
  
A icosahedron with side length 20 (scale = 10).
+
{{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.}}
  
# Click the '''Solid Generator''' [[File:solid_gen_tool_tn.png]] button of the '''Object Toolbar''' or select '''Menu [[File:larrow_tn.png]] Object [[File:larrow_tn.png]] Solid [[File:larrow_tn.png]] Solid Generator''' to open 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 '''Scale''' based on the displayed '''Side Length'''.
 
# Before you create the solid 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 solid appears in the Project Workspace. You can change the range or modify the function at this time. Once you are satisfied with the generated solid, click the '''Create''' to finalize its creation and add it to the list of object on the Navigation Tree.
 
  
== Rectangle Strip Tool ==
+
PYTHON COMMAND: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)
  
ICON: [[File:rectstrip_tool_tn.png]]
 
  
MENU: '''Object &rarr; Surface &rarr; Rectangle Strip'''
+
FRACTAL TREE PARAMETERS
 
+
TO DRAW A RECTANGLE STRIP:
+
 
+
# 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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 929: Line 1,064:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | side_X
+
! scope="row" | key_object_type
| real numeric
+
| Line or Cylinder
| project units  
+
| -  
| -
+
| Line
| dimension along X-axis
+
| -
 
|-
 
|-
! scope="row" | side_Y
+
! scope="row" | level_count
 +
| integer numeric
 +
| -
 +
| 3
 +
| number of fractal levels
 +
|-
 +
! scope="row" | separation_angle
 
| real numeric
 
| real numeric
| project units 
+
| degrees
| -
+
| 30
| dimension along Y-axis
+
| angle between two adjacent branches
 
|-
 
|-
! scope="row" | fix_center_X
+
! scope="row" | generation_factor
| Boolean
+
| integer numeric
 
| -
 
| -
| TRUE
+
| 3
| fixes X-coordinate of base
+
| Number of new branches generated at each node
 
|-
 
|-
! scope="row" | fix_center_Y
+
! scope="row" | prune_factor
| Boolean
+
| real numeric
 
| -
 
| -
| TRUE
+
| 0
| fixes Y-coordinate of base
+
| A number between 0 and 1 representing the percentage of branches randomly deleted
 
|-
 
|-
! scope="row" | rect_loop
+
! scope="row" | thickness
| Boolean
+
| real numeric
| -
+
| project units
| FALSE
+
| 1
| if TRUE, creates a rectangular loop
+
| diameter of branches
 
|-
 
|-
! scope="row" | loop_width
+
! scope="row" | thickness_factor
 
| real numeric
 
| real numeric
| project units 
 
| -
 
 
| -
 
| -
 +
| 0.2
 +
| A number between 0 and 1 representing the percentage of tapering of each cylindrical branch upward
 
|}
 
|}
  
[[File:cad_surf1.png]]
+
<table>
 +
<tr>
 +
<td>
 +
[[Image:CAD 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]]
  
ICON: [[File:circlestrip_tool_tn.png]]
+
MENU: '''Object &rarr; Curve &rarr; Helix'''
  
MENU: '''Objects &rarr; Surfaces &rarr; Circle Strip'''
+
TO DRAW A HELIX:
  
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 &quot;up&quot; 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 '''Circle Strip Tool'''.  
+
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.
# Left-click to define the origin
+
# Drag the mouse away from the origin to establish the desired radius. Left-click a second time to complete the circle strip.
+
  
  
PYTHON COMMAND: circ_strip(label,x0,y0,z0,outer_radius,inner_radius[,start_angle,end_angle])
+
PYTHON COMMAND: helix(label,x0,y0,z0,radius_inner,radius_outer,height,nturns,helix_dir)
  
  
CIRCLE STRIP PARAMETERS
+
HELIX PARAMETERS
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,035: Line 1,194:
 
| -  
 
| -  
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 +
|-
 +
! scope="row" | inner_radius
 +
| real numeric
 +
| project units 
 +
| same as outer radius
 +
| -
 
|-
 
|-
 
! scope="row" | outer_radius
 
! scope="row" | outer_radius
Line 1,040: Line 1,205:
 
| project units   
 
| project units   
 
| -  
 
| -  
| circle's outer radius
+
| -
 
|-
 
|-
! scope="row" | inner_radius
+
! scope="row" | height
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| 0
+
| -
| inner radius creating a ring object
+
| -
 
|-
 
|-
! scope="row" | start_angle
+
! scope="row" | turns
| real numeric
+
| integer numeric
| degrees
+
| project units 
| 0
+
| 2
| start azimuth angle
+
| number of spiral turns
 
|-
 
|-
! scope="row" | end_angle
+
! scope="row" | ccw
| real numeric
+
| Boolean
| degrees
+
| -
| 360
+
| TRUE
| end azimuth angle
+
| if TRUE, creates counterclockwise right-handedness
 
|}
 
|}
  
[[File:cad_surf2.png]]
+
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_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 ==
  
[[File:09b_circle_strip_tn_new.png]]
+
ICON: [[File:hyperbola_tool_tn.png]]  
  
The X, Y, Z LCS coordinates originate at the CIRCLE STRIP’s center.
+
MENU: '''Object &rarr; Curve &rarr; Hyperbola'''
  
[[File:resize_circular_strip_new.png|circle]]
+
TO DRAW A HYPERBOLA:
  
== Radial Strip Tool ==
+
# 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.
  
ICON: [[File:radialstrip_tool_tn.png]]
+
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.
  
MENU: '''Object &rarr; Surface &rarr; Radial Strip'''
 
  
TO DRAW A RADIAL STRIP:
+
PYTHON 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.
 
  
 
+
HYPERBOLA PARAMETERS
PYTHON COMMAND: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
+
 
+
 
+
RADIAL STRIP PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,138: Line 1,312:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | radius
+
! scope="row" | diameter_X
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| diameter along X-axis
 
|-
 
|-
! scope="row" | base_length
+
! scope="row" | diameter_Y
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| 0
+
| -
| A nonzero value creates a flattened base
+
| diameter along Y-axis
 
|-
 
|-
! scope="row" | angle
+
! scope="row" | axial_length
 
| real numeric
 
| real numeric
| degrees
+
| project 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 ==
  
[[File:cad_surf3.png]]
+
ICON: [[File:line_tool_tn.png]]  
  
'''Base Length''' establishes an inset amount measured outward from the origin.
+
MENU: '''Object &rarr; Curve &rarr; Line'''
  
[[File:10b_radial_strip_tn_new.png]]
+
TO DRAW A LINE:
  
[[File:resize_radial_strip_new.png|circle]]
+
# Activate the '''Line Tool'''.
 +
# left click anywhere on the workplane to begin drawing the line.
 +
# left-click a second time to complete the line.
  
== 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]]
 
  
MENU: '''Object &rarr; Surface &rarr; Ellipse Strip'''
+
PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])
  
TO DRAW AN ELLIPSE STRIP:
 
  
# Activate the '''Ellipse Strip Tool'''.
+
LINE PARAMETERS
# 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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,235: Line 1,427:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | radius_X
+
! scope="row" | length
 
| real numeric
 
| real numeric
 
| project units   
 
| 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_Y
+
! scope="row" | fix_center
 
| Boolean
 
| Boolean
 
| -
 
| -
| TRUE
+
| FALSE
| fixes Y-coordinate of base
+
| fixes midpoint 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 0.
+
ICON: [[File:nurbs_tool_tn.png]]
  
[[File:cad_surf4.png]]
+
MENU: '''Object &rarr; Curve &rarr; NURBS'''
  
[[File:draw_modes_tn.jpg|drawing modes]]
+
TO DRAW A NURBS CURVE:
  
[[File:resize_elliptical_strip_new.png|circle]]
+
# 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.
  
== 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]]
 
  
MENU: '''Object &rarr; Surface &rarr; Triangle Strip'''
+
PYTHON COMMAND: 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 left-click a second time to define Leg 1 of the triangle.
+
<td>
# Drag away from leg 1, left-click a third time to define Leg 2 and complete the triangle.
+
[[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>
  
 +
== NURBS Strip Tool ==
  
PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)
+
ICON: [[File:nurbsstrip_tool_tn.png]]
  
 +
MENU: '''Object &rarr; Surface &rarr; NURBS Strip'''
  
TRIANGLE STRIP PARAMETERS
+
TO DRAW A NURBS STRIP:
  
{| border="0"
+
# 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.
| valign="top"|
+
# 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_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 &rarr; Curve &rarr; 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"
 
{| class="wikitable"
 
|-
 
|-
Line 1,351: Line 1,592:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | side_1
+
! scope="row" | focal_length
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 1,357: Line 1,598:
 
| -
 
| -
 
|-
 
|-
! scope="row" | side_2
+
! scope="row" | axial_length
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| 0
+
| -
 
| -
 
| -
 
|-
 
|-
! scope="row" | angle
+
! scope="row" | aperture
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
 
| -
 
| -
| wedge angle
+
| is 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 ==
  
[[File:cad_surf5.png]]
+
ICON: [[File:point_tool_tn.png]]  
  
RIGHT ANGLE TRIANGLES
+
MENU: '''Object &rarr; Special &rarr; Point'''
  
To create a right angle triangle, hold down the ALT key while left-clicking to define Leg 2 (option &quot;A&quot; in the diagram below).
+
TO DRAW A 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 point of the triangle to constrain the origin angle to 15º increments (option &quot;B&quot; in the diagram below).
+
PYTHON COMMAND: point(label,x0,y0,z0)
  
  
CONGRUENT LEG LENGTH AND EQUILATERAL TRIANGLES
+
POINT 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 &quot;C&quot; below) and setting the angle in the properties dialog to 60º.
+
[[File:point_new.png]]
  
[[File:13b_triangle_strip_tn.jpg]]
+
== Polyline Tool ==
  
[[File:resize_triangle_strip_new.png|circle]]
+
ICON: [[File:polyline_tool_tn.png]]  
  
== Taper Strip Tool ==
+
MENU: '''Object &rarr; Curve &rarr; Polyline'''
  
ICON: [[File:taperstrip_tool_tn.png]]
+
TO DRAW A POLYLINE:
  
MENU: '''Object &rarr; Surface &rarr; Taper Strip'''
+
# 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.
  
TO DRAW A TAPER STRIP:
+
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. 
  
# 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 ==
  
{| border="0"
+
ICON: [[File:polystrip_tool_tn.png|Polystrip Tool]]
|-
+
 
| valign="top"|
+
MENU: '''Object &rarr; Surface &rarr; 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_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 &rarr; Solid &rarr; 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"
 
{| class="wikitable"
 
|-
 
|-
Line 1,461: Line 1,815:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | base_width
+
! scope="row" | base_size_X
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 1,467: Line 1,821:
 
| -
 
| -
 
|-
 
|-
! scope="row" | taper_length
+
! scope="row" | base_size_Y
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 1,473: Line 1,827:
 
| -
 
| -
 
|-
 
|-
! scope="row" | top_width
+
! scope="row" | top_size_X
 +
| real numeric
 +
| project units 
 +
| 0
 +
| -
 +
|-
 +
! scope="row" | top_size_Y
 +
| real numeric
 +
| project units 
 +
| 0
 +
| -
 +
|-
 +
! scope="row" | height
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 1,479: Line 1,845:
 
| -
 
| -
 
|-
 
|-
! scope="row" | top_offset
+
! scope="row" | top_offset_X
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| 0
+
| 0  
| A zero value creates an isosceles triangle
+
| -
 
|-
 
|-
! scope="row" | exponential
+
! scope="row" | top_offset_Y
 +
| real numeric
 +
| project units 
 +
| 0
 +
| -
 +
|-
 +
! scope="row" | fix_center_X
 
| Boolean
 
| Boolean
 
| -
 
| -
| FALSE
+
| TRUE
| creates an exponential taper transition
+
| fixes X-coordinate of base
 
|-
 
|-
! scope="row" | create-half
+
! scope="row" | fix_center_Y
 
| Boolean
 
| Boolean
 
| -
 
| -
| FALSE
+
| TRUE
| keeps left half of taper strip only
+
| 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 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 ==
  
[[File:cad_surf6.png]]
+
ICON: [[File:radialstrip_tool_tn.png]]  
  
'''Offset''' skews the taper strip by negative or positive amount. The default value is 0.
+
MENU: '''Object &rarr; Surface &rarr; Radial Strip'''
  
[[File:14b_taper_strip_tn_new.png]]
+
TO DRAW A RADIAL STRIP:
  
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 &rarr; Surface &rarr; Regular Polygon'''
+
RADIAL STRIP PARAMETERS
 
+
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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,583: Line 1,981:
 
| project units   
 
| project units   
 
| -  
 
| -  
| radius of circumscribing circle
 
|-
 
! scope="row" | side_count
 
| integer numeric
 
 
| -
 
| -
| -
 
| number of side of regular polygon
 
 
|-
 
|-
! scope="row" | top_width
+
! scope="row" | base_length
 
| real numeric
 
| real numeric
 
| project units   
 
| 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 ==
  
[[File:cad_surf7.png]]
+
ICON: [[File:rectstrip_tool_tn.png]]  
  
[[File:resize_polygon_strip_new.png|circle]]
+
MENU: '''Object &rarr; Surface &rarr; Rectangle Strip'''
  
== Spiral Strip Tool ==
+
TO DRAW A RECTANGLE STRIP:
  
ICON: [[File:spiralstrip_tool_tn.png]]
+
# 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.
  
MENU: '''Object &rarr; Surface &rarr; Spiral Strip'''
 
  
TO DRAW A SPIRAL STRIP:
+
PYTHON 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.
 
  
 
+
RECTANGLE STRIP PARAMETERS
PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)
+
 
+
 
+
SPIRAL STRIP PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,673: Line 2,080:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | inner_radius
+
! scope="row" | side_X
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| dimension along X-axis
 
|-
 
|-
! scope="row" | outer_radius
+
! scope="row" | side_Y
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| dimension along Y-axis
 
|-
 
|-
! scope="row" | strip_width
+
! scope="row" | fix_center_X
| real numeric
+
| project units 
+
| -
+
| -
+
|-
+
! scope="row" | turns
+
| integer numeric
+
| project units 
+
| 2
+
| number of spiral turns
+
|-
+
! scope="row" | ccw
+
 
| Boolean
 
| Boolean
 
| -
 
| -
| TRUE
+
| TRUE  
| if TRUE, creates counterclockwise right-handedness
+
| fixes X-coordinate of base
 
|-
 
|-
! scope="row" | dual_arm
+
! scope="row" | fix_center_Y
 
| Boolean
 
| Boolean
 
| -
 
| -
| FALSE
+
| TRUE
| creates a dual-arm spiral
+
| fixes Y-coordinate of base
 
|-
 
|-
! scope="row" | inner_taper
+
! scope="row" | rect_loop
 
| Boolean
 
| Boolean
 
| -
 
| -
 
| FALSE
 
| FALSE
| if TRUE, tapers spiral strip from inner end
+
| if TRUE, creates a rectangular loop
 
|-
 
|-
! scope="row" | inner_inset
+
! scope="row" | loop_width
 
| real numeric
 
| real numeric
 
| project units   
 
| 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 ==
  
[[File:cad_surf8.png]]
+
ICON: [[File:polygonstrip_tool_tn.png]]  
  
'''Inner Taper''' 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.
+
MENU: '''Object &rarr; Surface &rarr; Regular Polygon'''
  
[[File:12b_spiral_strip_tn.jpg]]
+
TO DRAW A REGULAR POLYGON:
  
Note that the Inner Radius setting is not available when the Dual Arm option is enabled.
+
# 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.
  
'''Dual Arm''' creates a second arm that mirrors the settings of the parent arm.
+
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.
  
[[File:12c_spiral_strip_tn_new.png]]
 
  
[[File:resize_spiral_strip_new.png|circle]]
+
PYTHON COMMAND: polygon_reg(label,x0,y0,z0,radius,n_sides)
  
== Polystrip Tool ==
 
 
ICON: [[File:polystrip_tool_tn.png|Polystrip Tool]]
 
 
MENU: '''Object &rarr; Surface &rarr; 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 &rarr; 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_surf9.png]]
 
 
== NURBS Strip Tool ==
 
  
ICON: [[File:nurbsstrip_tool_tn.png]]
+
REGULAR POLYGON PARAMETERS
 
+
MENU: '''Object &rarr; Surface &rarr; 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 &rarr; 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 &quot;Parameters&quot; 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 &rarr; Curve &rarr; 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"
 
{| class="wikitable"
 
|-
 
|-
Line 1,897: Line 2,214:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | length
+
! scope="row" | radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
 +
| radius of circumscribing circle
 +
|-
 +
! scope="row" | side_count
 +
| integer numeric
 
| -
 
| -
 +
| -
 +
| number of side of regular polygon
 
|-
 
|-
! scope="row" | fix_center
+
! scope="row" | top_width
| Boolean
+
| real 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 PARAMETERS
+
MENU: '''Object &rarr; Solid &rarr; 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.png]]
+
# 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.
  
[[File:vert_line_new.png]]
+
NOTES, SPECIAL CASES OR EXCEPTIONS: All the solid objects generated by the solid generator are of polymesh type.  
  
[[File:18_Line_tn_new.png]]
 
  
== Circle Tool ==
+
PYTHON COMMAND: None
  
ICON: [[File:circle_tool_tn.png]]
 
  
MENU: '''Object &rarr; Curve &rarr; Circle'''
+
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
 +
| &radic;2
 +
| [[Image:CAD MAN25.png|thumb|left|150px]]
 +
|-
 +
! scope="row" | Tessellated Dodecahedron
 +
| 36
 +
| 30
 +
| 20
 +
| &radic;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 Tool'''.
+
== 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 COMMAND: circle(label,x0,y0,z0,radius,start_angle,end_angle)
+
MENU: '''Object &rarr; Solid &rarr; 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.
  
{| border="0"
+
 
|-
+
PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
| valign="top"|
+
 
|-
+
 
 +
SPHERE PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,001: Line 2,392:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 0
+
| 0  
 
| start azimuth angle
 
| start azimuth angle
 
|-
 
|-
Line 2,007: Line 2,398:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 360
+
| 360  
 
| end azimuth angle
 
| 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 circle.
+
ICON: [[File:spiral_tool_tn.png]]
  
 +
MENU: '''Object &rarr; Curve &rarr; Spiral'''
  
EDIT HANDLES
+
TO DRAW A SPIRAL CURVE:
  
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.
+
# 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.
  
[[File:cad_curve2.png]]
 
  
[[File:resize_circle_new.png|circle]]
+
PYTHON COMMAND: 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]]
+
SPIRAL CURVE PARAMETERS
 
+
MENU: '''Object &rarr; Curve &rarr; 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 CURVE PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,093: Line 2,489:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | diameter_X
+
! scope="row" | inner_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| diameter along X-axis
+
| -
 
|-
 
|-
! scope="row" | diameter_Y
+
! scope="row" | outer_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
 
| -  
 
| -  
| diameter along Y-axis
+
| -
 
|-
 
|-
! scope="row" | order
+
! scope="row" | turns
 
| integer numeric
 
| integer numeric
| degrees
+
| project units 
 
| 2
 
| 2
| a higher order resembles a rectangle with rounded corners
+
| number of spiral turns
 
|-
 
|-
! scope="row" | is_rectangle
+
! scope="row" | ccw
 
| Boolean
 
| Boolean
 
| -
 
| -
| FALSE
+
| TRUE
| if TRUE, draws a rectangle
+
| if TRUE, creates counterclockwise right-handedness
 
|-
 
|-
! scope="row" | fix_center_X
+
! scope="row" | dual_arm
 
| Boolean
 
| Boolean
 
| -
 
| -
| TRUE
+
| FALSE
| fixes X-coordinate of base
+
| creates a dual-arm spiral
|-
+
! scope="row" | fix_center_Y
+
| Boolean
+
| -
+
| TRUE
+
| fixes Y-coordinate of base
+
 
|}
 
|}
  
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 ==
  
[[File:cad_curve3_new.png]]
+
ICON: [[File:spiralstrip_tool_tn.png]]  
  
[[File:22a_super_quad_tn_new.png]]
+
MENU: '''Object &rarr; Surface &rarr; 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.png]]
+
# 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.
  
 +
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 (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 mode, the first point drawn defines the corner anchor vertex of the superquad. As you drag the mouse away from this anchored vertex, the superquad's boundaries radiate outward. When in edge draw mode, the first point drawn defines the anchored edge of the superquad. As you drag the mouse away from the starting edge, the top and bottom perpendicular sides and the side opposite the anchored edge expand outward in all directions. When in face draw mode, the first point drawn defines the face centroid of the superquad. As you drag the mouse away from the centroid, the superquad's boundaries radiate outward from this centroid.
+
PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,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
+
SPIRAL STRIP PARAMETERS
 
+
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 &rarr; Curve &rarr; 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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,225: Line 2,599:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | focal_length
+
! scope="row" | inner_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,231: Line 2,605:
 
| -
 
| -
 
|-
 
|-
! scope="row" | axial_length
+
! scope="row" | outer_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,237: Line 2,611:
 
| -
 
| -
 
|-
 
|-
! scope="row" | aperture
+
! scope="row" | strip_width
 
| real numeric
 
| real numeric
| degrees
+
| project units 
 +
| -
 
| -
 
| -
| is determined automatically by focal and axial lengths or can be set independently
 
 
|-
 
|-
! scope="row" | create_half
+
! scope="row" | turns
 +
| 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
 
| Boolean
 
| -
 
| -
 
| FALSE
 
| FALSE
| if TRUE, draws the left half only
+
| creates a dual-arm spiral
 
+
|-
 +
! scope="row" | inner_taper
 +
| Boolean
 +
| -
 +
| FALSE
 +
| if TRUE, tapers 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 ==
  
[[File:cad_curve4.png]]
+
ICON: [[File:superquad_tool_tn.png]]  
  
[[File:23_parabola_tn_new.png]]
+
MENU: '''Object &rarr; Curve &rarr; 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 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.
+
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.
  
[[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 &rarr; Curve &rarr; Hyperbola'''
 
  
TO DRAW A HYPERBOLA:
+
SUPER-QUADRATIC CURVE PARAMETERS
 
+
# 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.
+
 
+
 
+
PYTHON COMMAND: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)
+
 
+
 
+
HYPERBOLA PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,345: Line 2,765:
 
| diameter along Y-axis
 
| diameter along Y-axis
 
|-
 
|-
! scope="row" | axial_length
+
! scope="row" | order
| real numeric
+
| integer numeric
| project units 
+
| degrees
| -
+
| 2
| -
+
| a higher order resembles a rectangle with rounded corners
 
|-
 
|-
! scope="row" | create_half
+
! scope="row" | is_rectangle
 
| Boolean
 
| Boolean
 
| -
 
| -
 
| FALSE
 
| FALSE
| if TRUE, draws one half of one branch only
+
| if TRUE, draws a rectangle
 
|-
 
|-
! scope="row" | negative_branch
+
! scope="row" | fix_center_X
 +
| Boolean
 
| -
 
| -
| FALSE
+
| TRUE
| if TRUE, draws the negative branch only
+
| fixes X-coordinate of base
 +
|-
 +
! scope="row" | fix_center_Y
 +
| Boolean
 +
| -
 +
| TRUE  
 +
| 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 ==
  
[[File:cad_curve5.png]]
+
ICON: [[File:surf_gen_tool_tn.png]]  
  
[[File:24a_hyperbola_tn_new.png]]
+
MENU: '''Object &rarr; Surface &rarr; 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:24b_hyperbola_tn_new.png]]
+
# 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''': XY, 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.
  
 +
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 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.
+
PYTHON COMMAND: param_surface(label,x0,y0,z0,orientation,start_1,stop_1,step_1,start_2,stop_2,step_2,function)
  
[[File:resize_hyperbola.jpg|circle]]
 
 
== Spiral Curve Tool ==
 
 
ICON: [[File:spiral_tool_tn.png]]
 
 
MENU: '''Object &rarr; Curve &rarr; Spiral'''
 
 
TO DRAW A SPIRAL CURVE:
 
  
# Activate the '''Spiral Curve Tool'''.
+
PARAMETRIC SURFACE PARAMETERS
# 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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,419: Line 2,846:
 
| project units  
 
| project units  
 
| -  
 
| -  
| X-coordinates of base
+
| X-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Y  
 
! scope="row" | LCS_Y  
Line 2,425: Line 2,852:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Y-coordinates of base
+
| Y-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Z
 
! scope="row" | LCS_Z
Line 2,431: Line 2,858:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Z-coordinates of base
+
| Z-coordinates of the surface
 
|-
 
|-
 
! scope="row" | rot_X
 
! scope="row" | rot_X
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about X-axis
 
| local rotation about X-axis
 
|-
 
|-
Line 2,442: Line 2,869:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Y-axis
 
| local rotation about Y-axis
 
|-
 
|-
Line 2,448: Line 2,875:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | inner_radius
+
! scope="row" | orientation
 +
| three options: XY, YZ or ZX
 +
| - 
 +
| XY
 +
| the coordinate plane in which the parametric surface is drawn
 +
|-
 +
! scope="row" | start_1
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| -
+
| 0
| -
+
| start value of range of the first coordinate variable
 
|-
 
|-
! scope="row" | outer_radius
+
! scope="row" | stop_1
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| -
+
| 10
| -
+
| stop value of range of the first coordinate variable
 
|-
 
|-
! scope="row" | turns
+
! scope="row" | step_1
 
| integer numeric
 
| integer numeric
 
| project units   
 
| project units   
| 2
+
| 1
| number of spiral turns
+
| step value of range of the first coordinate variable
 
|-
 
|-
! scope="row" | ccw
+
! scope="row" | start_2
| Boolean
+
| real numeric
| -
+
| project units 
| TRUE
+
| 0
| if TRUE, creates counterclockwise right-handedness
+
| start value of range of the second coordinate variable
 
|-
 
|-
! scope="row" | dual_arm
+
! scope="row" | stop_2
| Boolean
+
| 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
 
| -
 
| -
| FALSE
+
| sin(pi*x/5)*sin(pi*y/5)
| creates a dual-arm spiral
+
| mathematical 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 ==
  
[[File:cad_curve6.png]]
+
ICON: [[File:taperstrip_tool_tn.png]]  
  
[[File:25_spiral_tn.jpg]]
+
MENU: '''Object &rarr; Surface &rarr; 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 HANDLES
+
NOTES, 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.
 
  
[[File:resize_sprial_new.png|circle]]
+
PYTHON COMMAND: taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)
  
== Helix Tool ==
 
  
ICON: [[File:helix_tool_tn.png]]
+
TAPER STRIP PARAMETERS
 
+
MENU: '''Object &rarr; Curve &rarr; 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 &quot;up&quot; 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 PARAMETERS
+
 
+
{| border="0"
+
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,568: Line 3,006:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | inner_radius
+
! scope="row" | base_width
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
| same as outer radius
+
| -
 
| -
 
| -
 
|-
 
|-
! scope="row" | outer_radius
+
! scope="row" | taper_length
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,580: Line 3,018:
 
| -
 
| -
 
|-
 
|-
! scope="row" | height
+
! scope="row" | top_width
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,586: Line 3,024:
 
| -
 
| -
 
|-
 
|-
! scope="row" | turns
+
! scope="row" | top_offset
| integer numeric
+
| real numeric
 
| project units   
 
| project units   
| 2
+
| 0
| number of spiral turns
+
| A zero value creates an isosceles triangle
 
|-
 
|-
! scope="row" | ccw
+
! scope="row" | exponential
 
| Boolean
 
| Boolean
 
| -
 
| -
| TRUE
+
| FALSE
| if TRUE, creates counterclockwise right-handedness
+
| creates an exponential taper transition
 +
|-
 +
! 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 ==
  
[[File:cad_curve7.png]]
+
ICON: [[File:torus_tool_tn.png]]  
  
[[File:26_helix_tn_new.png]]
+
MENU: '''Object &rarr; Solid &rarr; 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.
+
PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])
  
[[File:resize_helix_new.png|circle]]
 
  
== Polyline Tool ==
+
TORUS PARAMETERS
 
+
ICON: [[File:polyline_tool_tn.png]]
+
 
+
MENU: '''Object &rarr; Curve &rarr; 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: polyline(label,(x0,y0,z0),(x1,y1,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 &rarr; Grid Settings''').
+
 
+
If the polyline 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 &quot;loop&quot; 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.png]]
+
 
+
[[File:19_polyline_tn_new.png]]
+
 
+
== NURBS Curve Tool ==
+
 
+
ICON: [[File:nurbs_tool_tn.png]]
+
 
+
MENU: '''Object &rarr; Curve &rarr; 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 &rarr; 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 &quot;loop&quot; 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_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 &quot;Parameters&quot; 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 &rarr; Special &rarr; 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"
 
{| class="wikitable"
 
|-
 
|-
Line 2,730: Line 3,093:
 
| project units  
 
| project units  
 
| -  
 
| -  
| X-coordinate of point
+
| X-coordinates of base
 
|-
 
|-
 
! scope="row" | LCS_Y  
 
! scope="row" | LCS_Y  
Line 2,736: Line 3,099:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Y-coordinate of point
+
| Y-coordinates of base
 
|-
 
|-
 
! scope="row" | LCS_Z
 
! scope="row" | LCS_Z
Line 2,742: Line 3,105:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Z-coordinate of point
+
| 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" | 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
 
|}
 
|}
  
[[File:point_new.png]]
+
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_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 Tool ==
+
== Triangle Strip Tool ==
  
ICON: [[File:fractal_tool_tn.png]]  
+
ICON: [[File:trianglestrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Special &rarr; Fractal Tree'''
+
MENU: '''Object &rarr; Surface &rarr; Triangle Strip'''
  
TO DRAW A FRACTAL TREE:
+
TO DRAW A TRIANGLE STRIP:
  
# Activate the '''Fractal Tree Tool'''.  
+
# Activate the '''Triangle Strip Tool'''.  
# Left-click to establish the location of the fractal tree. A default horizontal fractal tree appears in the project workspace.
+
# Left-click to establish the triangles origin.
# The Fractal Dialog opens up on the lower right corner of the screen. You have two options: fractal tree with linear or cylindrical branches. You can also set the number of fractal levels.
+
# Drag away from the origin and left-click a second time to define Leg 1 of the triangle.
# Make sure to click the OK button of the dialog to complete the fractal construction.
+
# Drag away from leg 1, left-click a third time to define Leg 2 and complete the triangle.
  
 +
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"
+
TRIANGLE STRIP PARAMETERS
|-
+
| valign="top"|
+
|-
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,814: Line 3,237:
 
| local rotation about Z-axis
 
| local rotation about Z-axis
 
|-
 
|-
! scope="row" | key_object_type
+
! scope="row" | side_1
| Line or Cylinder
+
| - 
+
| Line
+
| -
+
|-
+
! scope="row" | level_count
+
| integer numeric
+
| -
+
| 3
+
| number of fractal levels
+
|-
+
! scope="row" | separation_angle
+
 
| real numeric
 
| real numeric
| degrees
+
| project units 
| 30
+
| -  
| angle between two adjacent branches
+
|-
+
! scope="row" | generation_factor
+
| integer numeric
+
 
| -
 
| -
| 3
 
| Number of new branches generated at each node
 
 
|-
 
|-
! scope="row" | prune_factor
+
! scope="row" | side_2
 
| real numeric
 
| real numeric
 +
| project units 
 +
| 0
 
| -
 
| -
| 0
 
| A number between 0 and 1 representing the percentage of branches randomly deleted
 
 
|-
 
|-
! scope="row" | thickness
+
! scope="row" | angle
| real numeric
+
| project units
+
| 1
+
| diameter of branches
+
|-
+
! scope="row" | thickness_factor
+
 
| real numeric
 
| real numeric
 +
| degrees
 
| -
 
| -
| 0.2
+
| wedge angle
| A number between 0 and 1 representing the percentage of tapering of each cylindrical branch upward
+
 
|}
 
|}
  
 +
<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>&nbsp;</p>
+
[[Image:Top_icon.png|30px]] '''[[#Box_Tool | Back to the Top of the Page]]'''
[[Image:Top_icon.png|48px]] '''[[#Box_Tool | Back to the Top of the Page]]'''
+
  
[[Image:Back_icon.png|40px]] '''[[Building_Geometrical_Constructions_in_CubeCAD | Back to CubeCAD Page]]'''
+
[[Image:Back_icon.png|30px]] '''[[Building_Geometrical_Constructions_in_CubeCAD | Back to CubeCAD Page]]'''
  
[[Image:Back_icon.png|40px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
+
[[Image:Back_icon.png|30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''

Latest revision as of 17:28, 14 June 2019

Cube-icon.png Cad-ico.png Fdtd-ico.png Prop-ico.png Static-ico.png Planar-ico.png Metal-ico.png Po-ico.png

Back icon.png Back to EM.Cube Main Page

Box Tool

ICON: Box tool tn.png

MENU: Object → Solid → Box

TO DRAW A BOX:

  1. Activate the Box Tool.
  2. Left-click to establish the first bottom vertex.
  3. Drag the mouse away from the first vertex to establish the desired base plane area. Left-click a second time to establish the opposite bottom vertex.
  4. Drag the mouse up and away from the base plane to set the desired height. Left-click a third time to complete the box.


PYTHON COMMAND: box(label,x0,y0,z0,base_x,base_y,height[,cap_top,cap_bottom])


BOX PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
size_X real numeric project units - dimension along X-axis
size_Y real numeric project units - dimension along Y-axis
size_Z real numeric project units - dimension along Z-axis
fix_center_X Boolean - TRUE fixes X-coordinate of base
fix_center_Y Boolean - TRUE fixes Y-coordinate of base
cap_top Boolean - TRUE places a cap at top
cap_bottom Boolean - TRUE places a cap at bottom base
The property dialog of the box object.
The geometry of the box object.

Circle Strip Tool

ICON: Circlestrip tool tn.png

MENU: Objects → Surfaces → Circle Strip

TO DRAW A CIRCLE STRIP:

  1. Activate the Circle Strip Tool.
  2. Left-click to define the origin
  3. Drag the mouse away from the origin to establish the desired radius. Left-click a second time to complete the circle strip.


PYTHON COMMAND: circ_strip(label,x0,y0,z0,outer_radius,inner_radius[,start_angle,end_angle])


CIRCLE STRIP PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
outer_radius real numeric project units - circle's outer radius
inner_radius real numeric project units 0 inner radius creating a ring object
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
The property dialog of the circle strip object.
The geometry of the circle strip object with zero inner radius.
The property dialog of the circle strip object with a nonzero inner radius.
The geometry of the circle strip object with a nonzero inner radius.
The property dialog of the circle strip object with nonzero start and end angles.
A circle strip with nonzero start and end angles.

Circle Tool

ICON: Circle tool tn.png

MENU: Object → Curve → Circle

TO DRAW A CIRCLE:

  1. Activate the Circle Tool.
  2. Left-click at the desired location on the active grid to establish the origin.
  3. Drag your mouse away from the origin to set the desired radius.
  4. Left click a second time to complete the circle.


PYTHON COMMAND: circle(label,x0,y0,z0,radius,start_angle,end_angle)


CIRCLE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
The property dialog of the circle object.
The geometry of the circle object.
The local coordinate system (LCS) of the circle object.
The property dialog of the circle object with nonzero start and end angles.
A circle with nonzero start and end angles.

Cone Tool

ICON: Cone tool tn.png

MENU: Object → Solid → Cone

TO DRAW A CONE:

  1. Activate the Cone Tool.
  2. Left-click to establish the cone's base plane origin.
  3. Drag away from the origin to define the base plane's radius. Left-click a second time to define the base plane.
  4. Drag the mouse away from the base plane to establish the height. Left-click a third time to complete the cone.


PYTHON COMMAND: cone(label,x0,y0,z0,base_radius,height[,top_radius,start_angle,end_angle,cap_top,cap_bottom])


CONE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
base_radius real numeric project units - -
top_radius real numeric project units 0 -
height real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
cap_top Boolean - TRUE places a cap at top
cap_bottom Boolean - TRUE places a cap at bottom base
The property dialog of the cone object.
The geometry of the cone object.
The property dialog of the cone object with a nonzero top radius.
A cone with a nonzero top radius.

Curve Generator

ICON: Curve gen tool tn.png

MENU: Object → Curve → Curve Generator

TO DRAW A PARAMETRIC CURVE:

  1. Activate the Curve Generator Tool.
  2. Left-click to establish the location of the new parametric curve. A default oblique line appears in the project workspace.
  3. The curve generator dialog opens up on the lower left corner of the screen. You have three options for Model type: Cartesian Curve, Polar Curve or Parametric Curve. The default option is the Cartesian curve.
  4. In the case of a Cartesian curve, you also have three options for Orientation: XY, YZ or ZX planes. With the XY plane orientation, the Cartesian curve is expressed as y = f(x). With the YZ plane orientation, the Cartesian curve is expressed as z = f(y). With the ZX plane orientation, the Cartesian curve is expressed as x = f(z).
  5. Enter the start, stop and step values for the range of the coordinate variable in the selected orientation plane.
  6. Enter a mathematical expression in terms of the coordinate variable in the selected orientation plane for the definition of the Cartesian curve.
  7. In the case of a polar curve, the radial coordinate is expressed as a function of the polar angle t: r = r(t).
  8. 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).
  9. For a polar or parametric curve, enter the start, stop and step values for the range of the variable t.
  10. Enter the defining expression(s) for the curve.
  11. Make sure to click the OK button of the dialog to complete the curve 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: param_curve(label,x0,y0,z0,model,orientation,start,stop,step,function[,y(t),z(t)])


PARAMETRIC CURVE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of the surface
LCS_Y real numeric project units - Y-coordinates of the surface
LCS_Z real numeric project units - Z-coordinates of the surface
rot_X real numeric degrees 0 local rotation about X-axis
rot_Y real numeric degrees 0 local rotation about Y-axis
rot_Z real numeric degrees 0 local rotation about Z-axis
model three options: Cartesian, polar or parametric - Cartesian the curve definition type
orientation three options: XY, YZ or ZX - XY the coordinate plane in which the Cartesian curve is drawn (only for Cartesian curve)
start real numeric project units 0 start value of range of the coordinate variable
stop real numeric project units 10 stop value of range of the coordinate variable
step integer numeric project units 1 step value of range of the coordinate variable
function text string - x mathematical expression in the local coordinate variable
y(t) text string - t mathematical expression in the variable t (only for parametric curve)
z(t) text string - t mathematical expression in the variable t (only for parametric curve)
The curve generator dialog showing the default Cartesian curve.
The default Cartesian curve created by the curve generator.
The curve generator dialog showing a super-quadratic helical parametric curve.
The super-quadratic helical parametric curve created by the curve generator.

Cylinder Tool

ICON: Cylinder tool tn.png

MENU: Object → Solid → Cylinder

TO DRAW A CYLINDER:

  1. Activate the Cylinder Tool.
  2. Left-click to establish the center of the bottom base.
  3. Drag the mouse away from the origin to create the desired base radius. Left-click a second time to establish the cylinder's base.
  4. 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.


PYTHON COMMAND: cylinder(label,x0,y0,z0,radius,height[,start_angle,end_angle,cap_top,cap_bottom])


CYLINDER PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
base_radius real numeric project units - -
height real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
cap_top Boolean - TRUE places a cap at top
cap_bottom Boolean - TRUE places a cap at bottom base
The property dialog of the cylinder object.
The geometry of the cylinder object.
The property dialog of the cylinder object with a nonzero end angle.
A cylinder with a nonzero end angle.

Ellipse Strip Tool

ICON: Ellipsestrip tool tn.png

MENU: Object → Surface → Ellipse Strip

TO DRAW AN ELLIPSE STRIP:

  1. Activate the Ellipse Strip Tool.
  2. Left-click to establish the X/Y axis origin.
  3. 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 PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius_X real numeric project units - radius along X-axis
radius_Y real numeric project units - radius along Y-axis
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
fix_center_X Boolean - TRUE fixes X-coordinate of base
fix_center_Y Boolean - TRUE fixes Y-coordinate of base
The property dialog of the ellipse strip object.
The geometry of the ellipse strip object.

Ellipsoid Tool

ICON: Ellipsoid tool tn.png

MENU: Object → Solid → Ellipsoid

TO DRAW AN ELLIPSOID:

  1. Activate the Ellipsoid Tool.
  2. Left-click to define the first X-radius anchor point.
  3. Drag the mouse to the desired length. left-click a second time to define the ending X-radius anchor point.
  4. Drag the mouse away from the X radius to establish the desired Y-radius. Left-click a third time to define the Y radius.
  5. Drag the mouse away from the active plane to define the Z radius. Left-click a fourth time to complete the ellipsoid.


PYTHON COMMAND: ellipsoid(label,x0,y0,z0,radius_x,radius_y,radius_z[,start_angle,end_angle])


ELLIPSOID PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius_X real numeric project units - -
radius_Y real numeric project units - -
radius_Z real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
The property dialog of the ellipsoid object.
The geometry of the ellipsoid object.
The property dialog of the ellipsoid object with a nonzero start angle.
An ellipsoid with a nonzero start angle.

Fractal Tree Tool

ICON: Fractal tool tn.png

MENU: Object → Special → Fractal Tree

TO DRAW A FRACTAL TREE:

  1. Activate the Fractal Tree Tool.
  2. Left-click to establish the location of the fractal tree. A default horizontal fractal tree appears in the project workspace.
  3. The fractal dialog opens up on the lower right corner of the screen. You have two options: fractal tree with linear or cylindrical branches. You can also set the number of fractal levels.
  4. Make sure to click the OK button of the dialog to complete the fractal 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.

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 Edit Primitive... button of this dialog.

Attention icon.png 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: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)


FRACTAL TREE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
key_object_type Line or Cylinder - Line -
level_count integer numeric - 3 number of fractal levels
separation_angle real numeric degrees 30 angle between two adjacent branches
generation_factor integer numeric - 3 Number of new branches generated at each node
prune_factor real numeric - 0 A number between 0 and 1 representing the percentage of branches randomly deleted
thickness real numeric project units 1 diameter of branches
thickness_factor real numeric - 0.2 A number between 0 and 1 representing the percentage of tapering of each cylindrical branch upward
The fractal tree dialog.
The geometry of a fractal tree with a line key object.
The geometry of a fractal tree with a cylinder key object.

Helix Tool

ICON: Helix tool tn.png

MENU: Object → Curve → Helix

TO DRAW A HELIX:

  1. Activate the Helix Tool.
  2. Left-click to establish the origin of the inner-radius.
  3. Drag away from the origin to expand the inner radius, (toward it to contract the inner radius).
  4. 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.
  5. Drag your cursor "up" and away from the second anchor point to increase the height of the helix.
  6. Left-click a third time to complete the helix.

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: helix(label,x0,y0,z0,radius_inner,radius_outer,height,nturns,helix_dir)


HELIX PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
inner_radius real numeric project units same as outer radius -
outer_radius real numeric project units - -
height real numeric project units - -
turns integer numeric project units 2 number of spiral turns
ccw Boolean - TRUE if TRUE, creates counterclockwise right-handedness
The property dialog of the helix curve object.
The geometry of the helix curve object.
The local coordinate system (LCS) of the helix curve object.

Hyperbola Tool

ICON: Hyperbola tool tn.png

MENU: Object → Curve → Hyperbola

TO DRAW A HYPERBOLA:

  1. Activate the Hyperbola Tool.
  2. Left-click to define the X-radius origin. Construction guides will appear to aid in the drawing process.
  3. Drag the mouse away from the origin to establish the desired X-radius. Left-click a second time.
  4. 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.

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: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)


HYPERBOLA PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
diameter_X real numeric project units - diameter along X-axis
diameter_Y real numeric project units - diameter along Y-axis
axial_length real numeric project units - -
create_half Boolean - FALSE if TRUE, draws one half of one branch only
negative_branch - FALSE if TRUE, draws the negative branch only
The property dialog of the hyperbola curve object.
The geometry of the hyperbola curve object.
Drawing a half-hyperbola or the negative branch of the hyperbola.

Line Tool

ICON: Line tool tn.png

MENU: Object → Curve → Line

TO DRAW A LINE:

  1. Activate the Line Tool.
  2. left click anywhere on the workplane to begin drawing the line.
  3. left-click a second time to complete the line.

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 Alt key while dragging the mouse to establish the line's end point.


PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])


LINE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
length real numeric project units - -
fix_center Boolean - FALSE fixes midpoint coordinates
The property dialog of the line object.
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 Alt button of the keyboard.
Drawing a horizontal line object.

NURBS Curve Tool

ICON: Nurbs tool tn.png

MENU: Object → Curve → NURBS

TO DRAW A NURBS CURVE:

  1. Activate the NURBS Curve Tool.
  2. 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.
  3. 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 Enter key.
  4. The NURBS Curve can be closed at any time using the keyboard shortcut 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 Edit button of the dialog. You can also delete each node using the Delete key or insert a new node between the selected node and its next node using the 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) ... )


The property dialog of the NURBS curve object.
Drawing a NURBS curve.

NURBS Strip Tool

ICON: Nurbsstrip tool tn.png

MENU: Object → Surface → NURBS Strip

TO DRAW A NURBS STRIP:

  1. Activate the NURBS Strip Tool.
  2. 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.
  3. 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 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 Edit button of the dialog. You can also delete each node using the Delete key or insert a new node between the selected node and its next node using the 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) ... )


The property dialog of the NURBS strip object.
Drawing a NURBS strip.

Parabola Tool

ICON: Parabola tool tn.png

MENU: Object → Curve → Parabola

TO DRAW A PARABOLA:

  1. Activate the Parabola Tool.
  2. Left-click to set the Focal Point.
  3. Drag away from the focal point and left-click a second time to set the desired Offset.
  4. 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

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
focal_length real numeric project units - -
axial_length real numeric project units - -
aperture real numeric degrees - is determined automatically by focal and axial lengths or can be set independently
create_half Boolean - FALSE if TRUE, draws the left half only
The property dialog of the parabola curve object.
The geometry of the parabola curve object.
Drawing a half-parabola.

Point Tool

ICON: Point tool tn.png

MENU: Object → Special → Point

TO DRAW A POINT:

  1. Activate the Point Tool.
  2. Left-click to establish the location of the point.


PYTHON COMMAND: point(label,x0,y0,z0)


POINT PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinate of point
LCS_Y real numeric project units - Y-coordinate of point
LCS_Z real numeric project units - Z-coordinate of point

Point new.png

Polyline Tool

ICON: Polyline tool tn.png

MENU: Object → Curve → Polyline

TO DRAW A POLYLINE:

  1. Activate the Polyline Tool.
  2. 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.
  3. 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 Enter key.
  4. The polyline can be closed at any time using the keyboard shortcut 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 Edit button of the dialog. You can also delete each node using the Delete key or insert a new node between the selected node and its next node using the 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) ... )


The property dialog of the polyline object.
Drawing a polyline.

Polystrip Tool

ICON: Polystrip Tool

MENU: Object → Surface → Polystrip

TO DRAW A POLYSTRIP:

  1. Activate the Polystrip Tool.
  2. 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.
  3. 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 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 Edit button of the dialog. You can also delete each node using the Delete key or insert a new node between the selected node and its next node using the 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) ... )


The property dialog of the polystrip object.
Drawing a polystrip.

Pyramid Tool

ICON: Pyramid tool tn.png

MENU: Object → Solid → Pyramid

TO DRAW A PYRAMID:

  1. Activate the Pyramid Tool.
  2. Left-click to establish the first point of the rectangular base plane.
  3. 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.
  4. 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

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
base_size_X real numeric project units - -
base_size_Y real numeric project units - -
top_size_X real numeric project units 0 -
top_size_Y real numeric project units 0 -
height real numeric project units - -
top_offset_X real numeric project units 0 -
top_offset_Y real numeric project units 0 -
fix_center_X Boolean - TRUE fixes X-coordinate of base
fix_center_Y Boolean - TRUE fixes Y-coordinate of base
cap_top Boolean - TRUE places a cap at top
cap_bottom Boolean - TRUE places a cap at bottom base
The property dialog of the pyramid object.
The geometry of the pyramid object.
The property dialog of the pyramid with nonzero top dimensions.
A pyramid with nonzero top dimensions.
The property dialog of the pyramid with nonzero top offset values.
A pyramid with nonzero top offset values.

Radial Strip Tool

ICON: Radialstrip tool tn.png

MENU: Object → Surface → Radial Strip

TO DRAW A RADIAL STRIP:

  1. Activate the Radial Strip Tool.
  2. Left-click to establish the origin point.
  3. Drag the mouse away from origin and left-click a second time to establish the radius and the first leg of the radial strip.
  4. 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 PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius real numeric project units - -
base_length real numeric project units 0 A nonzero value creates a flattened base
angle real numeric degrees - wedge angle
The property dialog of the radial strip object.
The geometry of the radial strip object.
The property dialog of the radial strip object with a nonzero base length.
A radial strip object with a nonzero base length.

Rectangle Strip Tool

ICON: Rectstrip tool tn.png

MENU: Object → Surface → Rectangle Strip

TO DRAW A RECTANGLE STRIP:

  1. Activate the Rectangle Strip Tool.
  2. Left-click to establish the X/Y axial triangulation point.
  3. 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 PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
side_X real numeric project units - dimension along X-axis
side_Y real numeric project units - dimension along Y-axis
fix_center_X Boolean - TRUE fixes X-coordinate of base
fix_center_Y Boolean - TRUE fixes Y-coordinate of base
rect_loop Boolean - FALSE if TRUE, creates a rectangular loop
loop_width real numeric project units - -
The property dialog of the rectangle strip object.
The geometry of the rectangle strip object.
The property dialog of the rectangle loop object with a nonzero loop width.
A rectangular loop object with a nonzero loop width.
Locking the base of a rectangle strip.
The different drawing modes of rectangle strip.

Regular Polygon Tool

ICON: Polygonstrip tool tn.png

MENU: Object → Surface → Regular Polygon

TO DRAW A REGULAR POLYGON:

  1. Activate the Regular Polygon Tool.
  2. Left-click to create the origin of the Regular Polygon.
  3. Drag away from the origin and left-click a second time to define the Regular Polygon's diameter.
  4. Drag the mouse to increase or decrease the number of sides desired. Left-click a third time to finish drawing the Regular Polygon.

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: polygon_reg(label,x0,y0,z0,radius,n_sides)


REGULAR POLYGON PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius real numeric project units - radius of circumscribing circle
side_count integer numeric - - number of side of regular polygon
top_width real numeric project units - -
The property dialog of the regular polygon object.
The geometry of the regular polygon object with N = 8 (octagon).

Solid Generator

ICON: Solid gen tool tn.png

MENU: Object → Solid → Solid Generator

TO DRAW A PLATONIC SOLID:

  1. Activate the Solid Generator Tool.
  2. In the solid generator dialog, select one of the five platonic solid types Tetrahedron, Hexahedron Octahedron, Dodecahedron, or Icosahedron.
  3. The dialog shows the number of faces, edges, nodes and the side length of the standard platonic solid of the selected type.
  4. Specify the value of the Scale parameter based on the displayed Side Length.
  5. 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 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 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

Solid Type No. of Faces No. of Edges No. of Vertices Side Length Geometry
Tetrahedron 4 6 4 2
CAD MAN23.png
Tessellated Hexahedron 12 12 8 2
CAD MAN24.png
Octahedron 8 12 6 √2
CAD MAN25.png
Tessellated Dodecahedron 36 30 20 √5 - 1
CAD MAN26.png
Icosahedron 20 30 12 2
CAD MAN27.png
The solid generator dialog.

Sphere Tool

ICON: Sphere tool tn.png

MENU: Object → Solid → Sphere

TO DRAW A SPHERE:

  1. Activate the Sphere Tool.
  2. Left-click to establish the origin point. Drag the mouse outward from the origin to establish the radius.
  3. Left-click a second time to complete the sphere.


PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])


SPHERE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
radius real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
The property dialog of the sphere object.
The geometry of the sphere object.
The property dialog of the sphere with a nonzero start and end angles.
A sphere with a nonzero start and end angles.

Spiral Curve Tool

ICON: Spiral tool tn.png

MENU: Object → Curve → Spiral

TO DRAW A SPIRAL CURVE:

  1. Activate the Spiral Curve Tool.
  2. Left-click to establish the inner-radial origin of the Spiral.
  3. Drag away from the origin to expands the inner radius (drag inward toward the origin to reduces the inner radius).
  4. Left-click a second time to set the inner radius and create the anchor point for the outer radius.
  5. Drag the mouse away from the second point to expand the outer radius or closer to reduce the radius.
  6. 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 PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
inner_radius real numeric project units - -
outer_radius real numeric project units - -
turns integer numeric project units 2 number of spiral turns
ccw Boolean - TRUE if TRUE, creates counterclockwise right-handedness
dual_arm Boolean - FALSE creates a dual-arm spiral
The property dialog of the spiral curve object.
The geometry of the spiral curve object.

Spiral Strip Tool

ICON: Spiralstrip tool tn.png

MENU: Object → Surface → Spiral Strip

TO DRAW A SPIRAL STRIP:

  1. Activate the Spiral Strip Tool.
  2. Left-click to establish the origin of the Spiral Strip's inner-radius.
  3. 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.
  4. 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.

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: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)


SPIRAL STRIP PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
inner_radius real numeric project units - -
outer_radius real numeric project units - -
strip_width real numeric project units - -
turns integer numeric project units 2 number of spiral turns
ccw Boolean - TRUE if TRUE, creates counterclockwise right-handedness
dual_arm Boolean - FALSE creates a dual-arm spiral
inner_taper Boolean - FALSE if TRUE, tapers spiral strip from inner end
inner_inset real numeric project units 0 when inner_taper is TRUE, a nonzero value creates inner inset
outer_taper Boolean - FALSE if TRUE, tapers spiral strip from outer end
outer_inset real numeric project units 0 when outer_taper is TRUE, a nonzero value creates outer inset
taper_pointing list: {inward, outward} - inward sets the direction spiral's end tapers point to
The property dialog of the spiral strip object.
The geometry of the spiral strip object.
The property dialog of a dual-arm spiral strip object.
A dual-arm spiral strip object.

Super-Quadratic Curve Tool

ICON: Superquad tool tn.png

MENU: Object → Curve → Super-quadratic Curve

TO DRAW A SUPER-QUADRATIC CURVE:

  1. Activate the Super-Quadratic Curve Tool.
  2. Left-click to establish the initial X/Y diameter triangulation point.
  3. Drag the mouse away from this point to define the desired size.
  4. Left-click a second time to complete the superquad.

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: superquad(label,x0,y0,z0,diam_x,diam_y,order)


SUPER-QUADRATIC CURVE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
diameter_X real numeric project units - diameter along X-axis
diameter_Y real numeric project units - diameter along Y-axis
order integer numeric degrees 2 a higher order resembles a rectangle with rounded corners
is_rectangle Boolean - FALSE if TRUE, draws a rectangle
fix_center_X Boolean - TRUE fixes X-coordinate of base
fix_center_Y Boolean - TRUE fixes Y-coordinate of base
The property dialog of the super-quadratic curve object.
The geometry of the super-quadratic curve object.
Comparing super-quadratic curves of different orders.

Surface Generator

ICON: Surf gen tool tn.png

MENU: Object → Surface → Surface Generator

TO DRAW A PARAMETRIC SURFACE:

  1. Activate the Surface Generator Tool.
  2. Left-click to establish the location of the new parametric surface. A default 2D sinusoidal surface appears in the project workspace.
  3. The surface generator dialog opens up on the lower left corner of the 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(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).
  4. Enter start, stop and step values for the ranges of both coordinate variables in the selected orientation plane.
  5. Enter a mathematical expression in terms of the coordinate variables in the selected orientation plane for the definition of the parametric surface.
  6. Make sure to click the OK button of the dialog to complete the surface 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: param_surface(label,x0,y0,z0,orientation,start_1,stop_1,step_1,start_2,stop_2,step_2,function)


PARAMETRIC SURFACE PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of the surface
LCS_Y real numeric project units - Y-coordinates of the surface
LCS_Z real numeric project units - Z-coordinates of the surface
rot_X real numeric degrees 0 local rotation about X-axis
rot_Y real numeric degrees 0 local rotation about Y-axis
rot_Z real numeric degrees 0 local rotation about Z-axis
orientation three options: XY, YZ or ZX - XY the coordinate plane in which the parametric surface is drawn
start_1 real numeric project units 0 start value of range of the first coordinate variable
stop_1 real numeric project units 10 stop value of range of the first coordinate variable
step_1 integer numeric project units 1 step value of range of the first coordinate variable
start_2 real numeric project units 0 start value of range of the second coordinate variable
stop_2 real numeric project units 10 stop value of range of the second coordinate variable
step_2 integer numeric project units 1 step value of range of the second coordinate variable
expression text string - sin(pi*x/5)*sin(pi*y/5) mathematical expression in two local coordinate variables
The surface generator dialog.
The default 2D sinusoidal surface created by the surface generator.

Taper Strip Tool

ICON: Taperstrip tool tn.png

MENU: Object → Surface → Taper Strip

TO DRAW A TAPER STRIP:

  1. Activate the Taper Strip Tool.
  2. Left-click to establish the base length midpoint.
  3. 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.
  4. 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.

NOTES, 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.


PYTHON COMMAND: taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)


TAPER STRIP PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
base_width real numeric project units - -
taper_length real numeric project units - -
top_width real numeric project units - -
top_offset real numeric project units 0 A zero value creates an isosceles triangle
exponential Boolean - FALSE creates an exponential taper transition
create-half Boolean - FALSE keeps left half of taper strip only
The property dialog of the taper strip object.
The geometry of the taper strip object with exponential side walls.
A taper strip with linear side walls and a nonzero top offset.

Torus Tool

ICON: Torus tool tn.png

MENU: Object → Solid → Torus

TO DRAW A TORUS:

  1. Activate the Torus Tool.
  2. Left-click to define the center point.
  3. Drag the mouse away from the origin and left-click a second time to establish the Major Radius of the torus.
  4. Drag the mouse away from the Major Radius construction path to establish the Minor Radius. Left-click a third time to complete the torus.


PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])


TORUS PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
major_radius real numeric project units - -
minor_radius real numeric project units - -
start_angle real numeric degrees 0 start azimuth angle
end_angle real numeric degrees 360 end azimuth angle
The property dialog of the torus object.
The geometry of the torus object.
The property dialog of the torus with a nonzero start and end angle.
A torus with a nonzero start and end angle.

Triangle Strip Tool

ICON: Trianglestrip tool tn.png

MENU: Object → Surface → Triangle Strip

TO DRAW A TRIANGLE STRIP:

  1. Activate the Triangle Strip Tool.
  2. Left-click to establish the triangles origin.
  3. Drag away from the origin and left-click a second time to define Leg 1 of the triangle.
  4. Drag away from leg 1, left-click a third time to define Leg 2 and complete the triangle.

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 Shift key while positioning the third point of the triangle to constrain the origin angle to 15º increments.


PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)


TRIANGLE STRIP PARAMETERS

Parameter Name Value Type Units Default Value Notes
LCS_X real numeric project units - X-coordinates of base
LCS_Y real numeric project units - Y-coordinates of base
LCS_Z real numeric project units - Z-coordinates of base
rot_X real numeric degrees - local rotation about X-axis
rot_Y real numeric degrees - local rotation about Y-axis
rot_Z real numeric degrees - local rotation about Z-axis
side_1 real numeric project units - -
side_2 real numeric project units 0 -
angle real numeric degrees - wedge angle
The property dialog of the triangle strip object.
The geometry of the triangle strip object.



Top icon.png Back to the Top of the Page

Back icon.png Back to CubeCAD Page

Back icon.png Back to EM.Cube Main Page