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

From Emagtech Wiki
Jump to: navigation, search
(Parabola Tool)
 
(69 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 119: 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
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 181: 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 202: 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 221: 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>
Line 228: Line 339:
 
<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 357: 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 364: 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
+
PARAMETRIC CURVE PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 394: Line 534:
 
| project units  
 
| project units  
 
| -  
 
| -  
| X-coordinates of base
+
| X-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Y  
 
! scope="row" | LCS_Y  
Line 400: Line 540:
 
| project units  
 
| project units  
 
| -  
 
| -  
| Y-coordinates of base
+
| Y-coordinates of the surface
 
|-
 
|-
 
! scope="row" | LCS_Z
 
! scope="row" | LCS_Z
Line 406: 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 417: Line 557:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Y-axis
 
| local rotation about Y-axis
 
|-
 
|-
Line 423: 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 496: 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>
Line 503: Line 625:
 
<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>
  
== Sphere Tool ==
+
== Cylinder Tool ==
  
ICON: [[File:sphere_tool_tn.png]]  
+
ICON: [[File:cylinder_tool_tn.png]]
  
MENU: '''Object &rarr; Solid &rarr; Sphere'''
+
MENU: '''Object &rarr; Solid &rarr; Cylinder'''
  
TO DRAW A SPHERE:
+
TO DRAW A CYLINDER:
  
# Activate the '''Sphere Tool'''.
+
# Activate the '''Cylinder Tool'''.
# Left-click to establish the origin point. Drag the mouse outward from the origin to establish the radius.
+
# Left-click to establish the center of the bottom base.
# Left-click a second time to complete the sphere.
+
# 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.
  
  
PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
+
PYTHON COMMAND: cylinder(label,x0,y0,z0,radius,height[,start_angle,end_angle,cap_top,cap_bottom])
  
  
SPHERE PARAMETERS
+
CYLINDER PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 579: 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 596: 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 601: 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>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_sphere_new.png|thumb|left|550px|The geometry of the sphere object.]]  
+
[[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 sphere 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
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 685: Line 831:
 
| project units   
 
| project units   
 
| -  
 
| -  
| -
+
| radius along X-axis
 
|-
 
|-
 
! scope="row" | radius_Y
 
! scope="row" | radius_Y
Line 691: 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 708: 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 715: 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>
Line 722: Line 874:
 
<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
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 794: 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 800: 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 822: Line 976:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_solid4torus.png|thumb|left|480px|The property dialog of the torus object.]]  
+
[[Image:cad_solid6.png|thumb|left|480px|The property dialog of the ellipsoid object.]]  
 
</td>
 
</td>
</table>
 
<table>
 
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_torus_new.png|thumb|left|550px|The geometry of the torus object.]]  
+
[[Image:resize_ellipsoid_new.png|thumb|left|550px|The geometry of the ellipsoid object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:07b_torus_tn_new.png|thumb|left|550px|A torus with a nonzero end angle.]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Generating Platonic Solids ==
+
== Fractal Tree Tool ==
  
Besides [[EM.Cube]]'s standard [[Solid Objects|solid objects]], i.e. box, cylinder, cone, pyramid, sphere, ellipsoid, and torus, you can use '''Solid Generator''' [[File:solid_gen_tool_tn.png]] to create five types of Platonic [[Solid Objects|solid objects]]:
+
ICON: [[File:fractal_tool_tn.png]]  
  
# Tetrahedron
+
MENU: '''Object &rarr; Special &rarr; Fractal Tree'''
# Hexahedron
+
# Octahedron
+
# Dodecahedron
+
# Icosahedron
+
  
[[File:cad_solid8.png]]
+
TO DRAW A FRACTAL TREE:
  
A icosahedron with side length 20 (scale = 10).
+
# 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.
  
# 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.
+
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.    
# 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 ==
+
You can change the coordinates of the LCS of a fractal tree or its rotation angle. From the fractal dialog, you can also access the properties of the key object by clicking the {{key|Edit Primitive...}} button of this dialog.
  
ICON: [[File:rectstrip_tool_tn.png]]  
+
{{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.}}
  
MENU: '''Object &rarr; Surface &rarr; Rectangle Strip'''
 
  
TO DRAW A RECTANGLE STRIP:
+
PYTHON COMMAND: fractal_tree(label,x0,y0,z0,key_type,key_size,n_level,sep_angle,n_gen,prune_factor,thickness,thick_factor)
 
+
# Activate the '''Rectangle Strip Tool'''.
+
# Left-click to establish the X/Y axial triangulation point.
+
# Drag the mouse outward from this point to define the desired area of the rectangle strip. Left-click a second time to complete the shape.
+
  
  
PYTHON COMMAND: rect_strip(label,x0,y0,z0,side_x,side_y)
+
FRACTAL TREE PARAMETERS
 
+
 
+
RECTANGLE STRIP PARAMETERS
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 919: 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
 
|}
 
|}
  
Line 959: Line 1,110:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf1.png|thumb|left|480px|The property dialog of the rectangle strip object.]]  
+
[[Image:CAD MAN20.png|thumb|left|480px|The fractal tree dialog.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 966: Line 1,117:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_rectangular_strip_new.png|thumb|left|550px|The geometry of the rectangle strip object.]]  
+
[[Image:CAD MAN21.png|thumb|left|550px|The geometry of a fractal tree with a line key object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:lock_base_tn.jpg|thumb|left|550px|Locking the base of a rectangle strip.]]
+
[[Image:CAD MAN22.png|thumb|left|550px|The geometry of a fractal tree with a cylinder key object.]]  
</td>
+
</tr>
+
<tr>
+
<td>
+
[[Image:draw_modes_tn.jpg|thumb|left|550px|The different drawing modes of rectangle strip.]]  
+
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Circle Strip Tool ==
+
== Helix Tool ==
  
ICON: [[File:circlestrip_tool_tn.png]]  
+
ICON: [[File:helix_tool_tn.png]]  
  
MENU: '''Objects &rarr; Surfaces &rarr; Circle Strip'''
+
MENU: '''Object &rarr; Curve &rarr; Helix'''
  
TO DRAW A CIRCLE STRIP:
+
TO DRAW A HELIX:
  
# Activate the '''Circle Strip Tool'''.  
+
# Activate the '''Helix Tool'''.  
# Left-click to define the origin
+
# Left-click to establish the origin of the inner-radius.
# Drag the mouse away from the origin to establish the desired radius. Left-click a second time to complete the circle strip.
+
# 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.
  
 +
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: 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
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,041: 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,046: 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
 
|}
 
|}
  
Line 1,070: Line 1,229:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf2.png|thumb|left|480px|The property dialog of the circle strip object.]]  
+
[[Image:cad_curve7.png|thumb|left|480px|The property dialog of the helix curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 1,077: Line 1,236:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_circular_strip_new.png|thumb|left|550px|The geometry of the circle strip object with zero inner radius.]]  
+
[[Image:resize_helix_new.png|thumb|left|550px|The geometry of the helix curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:09b_circle_strip_tn_newA.png|thumb|left|550px|The geometry of the circle strip object with a nonzero inner radius.]]
+
[[Image:26_helix_tn_new.png|thumb|left|550px|The local coordinate system (LCS) of the helix curve object.]]  
</td>
+
</tr>
+
<tr>
+
<td>
+
[[Image:09b_circle_strip_tn_newB.png|thumb|left|550px|A circle strip with a nonzero start angle.]]  
+
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Radial Strip Tool ==
+
== Hyperbola Tool ==
  
ICON: [[File:radialstrip_tool_tn.png]]  
+
ICON: [[File:hyperbola_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Radial Strip'''
+
MENU: '''Object &rarr; Curve &rarr; Hyperbola'''
  
TO DRAW A RADIAL STRIP:
+
TO DRAW A HYPERBOLA:
  
# Activate the '''Radial Strip Tool'''.  
+
# Activate the '''Hyperbola Tool'''.  
# Left-click to establish the origin point.
+
# Left-click to define the X-radius origin. Construction guides will appear to aid in the drawing process.
# 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 away from the origin to establish the desired X-radius. Left-click a second time.
# 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.
+
# 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: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
 
  
 +
PYTHON COMMAND: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)
  
RADIAL STRIP PARAMETERS
+
 
 +
HYPERBOLA PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,154: 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
 
|}
 
|}
  
Line 1,176: Line 1,345:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf3.png|thumb|left|480px|The property dialog of the radial strip object.]]  
+
[[Image:cad_curve5.png|thumb|left|480px|The property dialog of the hyperbola curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 1,183: Line 1,352:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_radial_strip_new.png|thumb|left|550px|The geometry of the radial strip object.]]  
+
[[Image:24a_hyperbola_tn_new.png|thumb|left|550px|The geometry of the hyperbola curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:10b_radial_strip_tn_new.png|thumb|left|550px|A radial strip object with a nonzero base length.]]  
+
[[Image:24b_hyperbola_tn_new.png|thumb|left|720px|Drawing a half-hyperbola or the negative branch of the hyperbola.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Ellipse Strip Tool ==
+
== Line Tool ==
  
ICON: [[File:ellipsestrip_tool_tn.png]]  
+
ICON: [[File:line_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Ellipse Strip'''
+
MENU: '''Object &rarr; Curve &rarr; Line'''
  
TO DRAW AN ELLIPSE STRIP:
+
TO DRAW A LINE:
  
# Activate the '''Ellipse Strip Tool'''.  
+
# Activate the '''Line Tool'''.  
# Left-click to establish the X/Y axis origin.
+
# left click anywhere on the workplane to begin drawing the line.
# Drag the mouse away from the origin to the desired location. Left-click a second time to create the ellipse.
+
# 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 {{key|Alt}} key while dragging the mouse to establish the line's end point.
  
PYTHON COMMAND: ellipse_strip(label,x0,y0,z0,radius_x,radius_y[,start_angle,end_angle])
 
  
 +
PYTHON COMMAND: line(label,x0,y0,z0,len[,dir])
  
ELLIPSE STRIP PARAMETERS
+
 
 +
LINE PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,254: 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
 
|}
 
|}
  
Line 1,294: Line 1,443:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf4.png|thumb|left|480px|The property dialog of the ellipse strip object.]]  
+
[[Image:cad_curve1.png|thumb|left|480px|The property dialog of the line object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 1,301: Line 1,450:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_elliptical_strip_new.png|thumb|left|550px|The geometry of the ellipse strip object.]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Triangle Strip Tool ==
+
== NURBS Curve Tool ==
  
ICON: [[File:trianglestrip_tool_tn.png]]  
+
ICON: [[File:nurbs_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Triangle Strip'''
+
MENU: '''Object &rarr; Curve &rarr; NURBS'''
  
TO DRAW A TRIANGLE STRIP:
+
TO DRAW A NURBS CURVE:
  
# Activate the '''Triangle Strip Tool'''.  
+
# Activate the '''NURBS Curve Tool'''.  
# Left-click to establish the triangles origin.
+
# 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.
# Drag away from the origin and left-click a second time to define Leg 1 of the triangle.
+
# 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.  
# Drag away from leg 1, left-click a third time to define Leg 2 and complete the triangle.
+
# The NURBS Curve can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first.
  
NOTES, SPECIAL CASES OR EXCEPTIONS: '''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.
+
NOTES, SPECIAL CASES OR EXCEPTIONS: If a NURBS Curve object is originally drawn as an open curve, you can turn it into a closed one by placing a check mark in the box labeled '''Close Curve'''.
 +
The property dialog of a NURBS Curve object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number.
  
  
PYTHON COMMAND: triangle_strip(label,x0,y0,z0,side1,side2,angle)
+
PYTHON COMMAND: nurbs_curve(label,(x0,y0,z0),(x1,y1,z1) ... )
  
  
TRIANGLE STRIP PARAMETERS
+
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_curve9_new.png|thumb|left|480px|The property dialog of the NURBS curve object.]]
 +
</td>
 +
</tr>
 +
</table>
 +
<table>
 +
<tr>
 +
<td>
 +
[[Image:20_Nurbs_tn_new.png|thumb|left|550px|Drawing a NURBS curve.]]
 +
</td>
 +
</tr>
 +
</table>
 +
 
 +
== NURBS Strip Tool ==
 +
 
 +
ICON: [[File:nurbsstrip_tool_tn.png]]
 +
 
 +
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 contour of the NURBS strip is rendered as soon as the third node is defined. A NURBS Strip must have at least three nodes.
 +
# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key|Enter}} key.
 +
 
 +
NOTES, SPECIAL CASES OR EXCEPTIONS: The property dialog of a NURBS strip object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number. 
 +
 
 +
 
 +
PYTHON COMMAND: nurbs_strip(label,(x0,y0,z0),(x1,y1,z1) ... )
 +
 
 +
 
 +
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_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,370: 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,376: 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
 +
 
 
|}
 
|}
  
Line 1,392: Line 1,621:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf5.png|thumb|left|480px|The property dialog of the triangle strip object.]]  
+
[[Image:cad_curve4.png|thumb|left|480px|The property dialog of the parabola curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 1,399: Line 1,628:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_triangle_strip_new.png|thumb|left|550px|The geometry of the triangle strip object.]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Taper Strip Tool ==
+
== Point Tool ==
  
ICON: [[File:taperstrip_tool_tn.png]]  
+
ICON: [[File:point_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Taper Strip'''
+
MENU: '''Object &rarr; Special &rarr; Point'''
  
TO DRAW A TAPER STRIP:
+
TO DRAW A POINT:
  
# Activate the '''Taper Strip Tool'''.  
+
# Activate the '''Point Tool'''.  
# Left-click to establish the base length midpoint.
+
# Left-click to establish the location of the point.
# 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.
+
  
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: point(label,x0,y0,z0)
  
PYTHON COMMAND: taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)
 
  
 +
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
 +
|}
  
TAPER STRIP PARAMETERS
+
[[File:point_new.png]]
 +
 
 +
== Polyline Tool ==
 +
 
 +
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.
 +
# Create as many nodes as you want. You can finish the drawing either by double-clicking on the last node or first creating the last node and pressing the keyboard's {{key|Enter}} key.
 +
# The polyline can be closed at any time using the keyboard shortcut {{key|C}}. This connects the last drawn node to the first.
 +
 
 +
NOTES, SPECIAL CASES OR EXCEPTIONS: If a polyline object is originally drawn as an open curve, you can turn it into a closed one by placing a check mark in the box labeled '''Close Curve'''.
 +
The property dialog of a polyline object lists the individual nodes and their coordinates ordered by the node ID. You can select and highlight each node and change its coordinates using the {{key|Edit}} button of the dialog. You can also delete each node using the {{key|Delete}} key or insert a new node between the selected node and its next node using the {{key|Insert}} key. The new node is placed at the midpoint between the selected node and the node having the next ID number. 
 +
 
 +
 
 +
PYTHON COMMAND: polyline(label,(x0,y0,z0),(x1,y1,z1) ... )
 +
 
 +
 
 +
<table>
 +
<tr>
 +
<td>
 +
[[Image:cad_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>
 +
 
 +
== 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 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,468: 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,474: Line 1,821:
 
| -
 
| -
 
|-
 
|-
! scope="row" | taper_length
+
! scope="row" | base_size_Y
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 1,480: 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,486: 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
 
|}
 
|}
  
Line 1,508: Line 1,885:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf6.png|thumb|left|480px|The property dialog of the taper strip object.]]  
+
[[Image:cad_solid4.png|thumb|left|480px|The property dialog of the pyramid object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:Resize_taper_strip_new.png|thumb|left|550px|The geometry of the taper strip object with exponential side walls.]]  
+
[[Image:resize_pyramid_new.png|thumb|left|550px|The geometry of the pyramid object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:14b_taper_strip_tn_new.png|thumb|left|550px|A taper strip with linear side walls and a nonzero top offset.]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Regular Polygon Tool ==
+
== Radial Strip Tool ==
  
ICON: [[File:polygonstrip_tool_tn.png]]  
+
ICON: [[File:radialstrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Regular Polygon'''
+
MENU: '''Object &rarr; Surface &rarr; Radial Strip'''
  
TO DRAW A REGULAR POLYGON:
+
TO DRAW A RADIAL STRIP:
  
# Activate the '''Regular Polygon Tool'''.  
+
# Activate the '''Radial Strip Tool'''.  
# Left-click to create the origin of the Regular Polygon.
+
# Left-click to establish the origin point.
# Drag away from the origin and left-click a second time to define the Regular Polygon's diameter.
+
# 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 increase or decrease the number of sides desired. Left-click a third time to finish drawing the Regular Polygon.
+
# 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.
  
NOTES, SPECIAL CASES OR EXCEPTIONS: This tool creates a regular polygon with an arbitrary number of sides within a circumscribing circle of a specified radius.
 
  
 +
PYTHON COMMAND: radial_strip(label,x0,y0,z0,radius,base_lenght,angle)
  
PYTHON COMMAND: polygon_reg(label,x0,y0,z0,radius,n_sides)
 
  
 
+
RADIAL STRIP PARAMETERS
REGULAR POLYGON PARAMETERS
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,593: 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
 
|}
 
|}
  
Line 1,611: Line 1,999:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf7.png|thumb|left|480px|The property dialog of the regular polygon object.]]  
+
[[Image:cad_surf3.png|thumb|left|480px|The property dialog of the radial strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_polygon_strip_new.png|thumb|left|550px|The geometry of the regular polygon object with N = 8 (octagon).]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Spiral Strip Tool ==
+
== Rectangle Strip Tool ==
  
ICON: [[File:spiralstrip_tool_tn.png]]  
+
ICON: [[File:rectstrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Surface &rarr; Spiral Strip'''
+
MENU: '''Object &rarr; Surface &rarr; Rectangle Strip'''
  
TO DRAW A SPIRAL STRIP:
+
TO DRAW A RECTANGLE STRIP:
  
# Activate the '''Spiral Strip Tool'''.  
+
# Activate the '''Rectangle Strip Tool'''.  
# Left-click to establish the origin of the Spiral Strip's inner-radius.
+
# Left-click to establish the X/Y axial triangulation point.
# 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 outward from this point to define the desired area of the rectangle strip. Left-click a second time to complete the shape.
# 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: rect_strip(label,x0,y0,z0,side_x,side_y)
  
PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)
 
  
 
+
RECTANGLE STRIP PARAMETERS
SPIRAL STRIP PARAMETERS
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,687: 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
 
 
|}
 
|}
  
Line 1,757: Line 2,120:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_surf8.png|thumb|left|480px|The property dialog of the spiral strip object.]]  
+
[[Image:cad_surf1.png|thumb|left|480px|The property dialog of the rectangle strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_spiral_strip_new.png|thumb|left|550px|The geometry of the spiral strip object.]]  
+
[[Image:resize_rectangular_strip_new.png|thumb|left|550px|The geometry of the rectangle strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:12c_spiral_strip_tn_new.png|thumb|left|550px|A dual-arm spiral strip object.]]  
+
[[Image:cad_surf1_2nd.png|thumb|left|480px|The property dialog of the rectangle loop object with a nonzero loop width.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
 
== 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]]
 
 
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]]'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. Practically, any imaginable planar or non-planar surface can be synthesized in [[EM.Cube]]. These include:
 
 
<table>
 
 
<tr>
 
<tr>
<td>
+
<td>  
[[Image:surf2a_tn_new.png|thumb|left|640px|The curve generator.]]
+
[[Image:resize_rectangular_strip_new1.png|thumb|left|550px|A rectangular loop object with a nonzero loop width.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
 
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.
 
 
<table>
 
 
<tr>
 
<tr>
<td>
+
<td>  
[[Image:cad_surf11.png|thumb|left|480px|The surface generator dialog.]]
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Line Tool ==
+
== Regular Polygon Tool ==
  
ICON: [[File:line_tool_tn.png]]  
+
ICON: [[File:polygonstrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Line'''
+
MENU: '''Object &rarr; Surface &rarr; Regular Polygon'''
  
TO DRAW A LINE:
+
TO DRAW A REGULAR POLYGON:
  
# Activate the '''Line Tool'''.  
+
# Activate the '''Regular Polygon Tool'''.  
# left click anywhere on the workplane to begin drawing the line.
+
# Left-click to create the origin of the Regular Polygon.
# left-click a second time to complete the line.
+
# 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.
  
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.
+
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: line(label,x0,y0,z0,len[,dir])
+
PYTHON COMMAND: polygon_reg(label,x0,y0,z0,radius,n_sides)
  
  
LINE PARAMETERS
+
REGULAR POLYGON PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 1,919: 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
 
 
|}
 
|}
  
Line 1,935: Line 2,236:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve1.png|thumb|left|480px|The property dialog of the line object.]]  
+
[[Image:cad_surf7.png|thumb|left|480px|The property dialog of the regular polygon object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 1,942: Line 2,243:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:vert_line_new.png|thumb|left|550px|Drawing a vertical line object.]]  
+
[[Image:resize_polygon_strip_new.png|thumb|left|550px|The geometry of the regular polygon object with N = 8 (octagon).]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 +
</table>
 +
 +
== Solid Generator ==
 +
 +
ICON: [[File:solid_gen_tool_tn.png]]
 +
 +
MENU: '''Object &rarr; Solid &rarr; Solid Generator'''
 +
 +
TO DRAW A PLATONIC SOLID:
 +
 +
# Activate the '''Solid Generator Tool'''.
 +
# In the solid generator dialog, select one of the five platonic solid types '''Tetrahedron''', '''Hexahedron''' '''Octahedron''', '''Dodecahedron''', or '''Icosahedron'''.
 +
# The dialog shows the number of faces, edges, nodes and the side length of the standard platonic solid of the selected type.
 +
# Specify the value of the '''Scale''' parameter based on the displayed '''Side Length'''.
 +
# Before you create the solid and add its name to the navigation tree, you have an opportunity to preview it. To do so, click the {{key|Preview}} button of the dialog. A yellow ghost of the solid appears in the project workspace. You can change the scale and resize the solid. Once you are satisfied with the generated solid, click the {{key|Create}} button to finalize its creation.
 +
 +
NOTES, SPECIAL CASES OR EXCEPTIONS: All the solid objects generated by the solid generator are of polymesh type.
 +
 +
 +
PYTHON COMMAND: None
 +
 +
 +
PLATONIC SOLID PROPERTIES
 +
{| class="wikitable"
 +
|-
 +
! scope="col"| Solid Type
 +
! scope="col"| No. of Faces
 +
! scope="col"| No. of Edges
 +
! scope="col"| No. of Vertices
 +
! scope="col"| Side Length
 +
! scope="col"| Geometry
 +
|-
 +
! scope="row" | Tetrahedron
 +
| 4
 +
| 6
 +
| 4
 +
| 2
 +
| [[Image:CAD MAN23.png|thumb|left|150px]]
 +
|-
 +
! scope="row" | Tessellated Hexahedron
 +
| 12
 +
| 12
 +
| 8
 +
| 2
 +
| [[Image:CAD MAN24.png|thumb|left|150px]]
 +
|-
 +
! scope="row" | Octahedron
 +
| 8
 +
| 12
 +
| 6
 +
| &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]]
 +
|}
 +
 +
<table>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:18_Line_tn_new.png|thumb|left|550px|Drawing a horizontal line object.]]  
+
[[Image:cad_solid8.png|thumb|left|480px|The solid generator dialog.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Circle Tool ==
+
== Sphere Tool ==
  
ICON: [[File:circle_tool_tn.png]]  
+
ICON: [[File:sphere_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Circle'''
+
MENU: '''Object &rarr; Solid &rarr; Sphere'''
  
TO DRAW A CIRCLE:
+
TO DRAW A SPHERE:
  
# Activate the '''Circle Tool'''.  
+
# Activate the '''Sphere Tool'''.
# Left-click at the desired location on the active grid to establish the origin.
+
# Left-click to establish the origin point. Drag the mouse outward from the origin to establish the radius.
# Drag your mouse away from the origin to set the desired radius.
+
# Left-click a second time to complete the sphere.
# Left click a second time to complete the circle.
+
  
  
PYTHON COMMAND: circle(label,x0,y0,z0,radius,start_angle,end_angle)
+
PYTHON COMMAND: sphere(label,x0,y0,z0,radius[,start_angle,end_angle])
  
  
CIRCLE PARAMETERS
+
SPHERE PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,023: Line 2,392:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 0
+
| 0  
 
| start azimuth angle
 
| start azimuth angle
 
|-
 
|-
Line 2,029: Line 2,398:
 
| real numeric
 
| real numeric
 
| degrees
 
| degrees
| 360
+
| 360  
 
| end azimuth angle
 
| end azimuth angle
 
|}
 
|}
Line 2,036: Line 2,405:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve2.png|thumb|left|480px|The property dialog of the circle object.]]  
+
[[Image:cad_solid5.png|thumb|left|480px|The property dialog of the sphere object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_circle_new.png|thumb|left|550px|The geometry of the circle object.]]  
+
[[Image:resize_sphere_new.png|thumb|left|550px|The geometry of the sphere object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:21_circle_tn_newA.png|thumb|left|400px|The local coordinate system (LCS) of the circle object.]]  
+
[[Image:cad_solid5_2nd.png|thumb|left|480px|The property dialog of the sphere with a nonzero start and end angles.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:21_circle_tn_newB.png|thumb|left|400px|A circle with a nonzero end angle.]]  
+
[[Image:05b_sphere_tn_new.png|thumb|left|550px|A sphere with a nonzero start and end angles.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Super-Quadratic Curve Tool ==
+
== Spiral Curve Tool ==
  
ICON: [[File:superquad_tool_tn.png]]  
+
ICON: [[File:spiral_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Super-quadratic Curve'''
+
MENU: '''Object &rarr; Curve &rarr; Spiral'''
  
TO DRAW A SUPER-QUADRATIC CURVE:
+
TO DRAW A SPIRAL CURVE:
  
# Activate the '''Super-Quadratic Curve Tool'''.  
+
# Activate the '''Spiral Curve Tool'''.  
# Left-click to establish the initial X/Y diameter triangulation point.
+
# Left-click to establish the inner-radial origin of the Spiral.
# Drag the mouse away from this point to define the desired size.
+
# 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 complete the superquad.
+
# 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.
  
NOTES, SPECIAL CASES OR EXCEPTIONS: The parameter '''Order''' changes the radius of the four corners of the super-quadratic curve. The second-order super-quadratic curve (n = 2) corresponds to an ellipse. Entering a higher value for the order decreases the corner radius and make the curve look like a rectangle with rounded corners. Checking the '''Rectangle''' box creates a rectangular curve with no corner rounding.
 
  
 +
PYTHON COMMAND: spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)
  
PYTHON COMMAND: superquad(label,x0,y0,z0,diam_x,diam_y,order)
 
  
 
+
SPIRAL CURVE PARAMETERS
SUPER-QUADRATIC CURVE PARAMETERS
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,124: 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
+
 
|}
 
|}
  
Line 2,164: Line 2,523:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve3_new.png|thumb|left|480px|The property dialog of the super-quadratic curve object.]]  
+
[[Image:cad_curve6.png|thumb|left|480px|The property dialog of the spiral curve object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 2,171: Line 2,530:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_superquadratic_new.png|thumb|left|550px|The geometry of the super-quadratic curve object.]]
+
[[Image:resize_sprial_new.png|thumb|left|550px|The geometry of the spiral curve object.]]  
</td>
+
</tr>
+
</table>
+
<table>
+
<tr>
+
<td>
+
[[Image:22a_super_quad_tn_new.png|thumb|left|400px|The local coordinate system (LCS) of the super-quadratic curve object.]]
+
</td>
+
</tr>
+
<tr>
+
<td>
+
[[Image:22b_super_quad_tn_new.png|thumb|left|400px|Comparing super-quadratic curves of different orders.]]  
+
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Parabola Tool ==
+
== Spiral Strip Tool ==
  
ICON: [[File:parabola_tool_tn.png]]  
+
ICON: [[File:spiralstrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Parabola'''
+
MENU: '''Object &rarr; Surface &rarr; Spiral Strip'''
  
TO DRAW A PARABOLA:
+
TO DRAW A SPIRAL STRIP:
  
# Activate the '''Parabola Tool'''.  
+
# Activate the '''Spiral Strip Tool'''.  
# Left-click to set the Focal Point.
+
# Left-click to establish the origin of the Spiral Strip's inner-radius.
# Drag away from the focal point and left-click a second time to set the desired Offset.
+
# 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 and left-click a third time to complete the Parabolic Curve.
+
# 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: 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.
+
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: parabola(label,x0,y0,z0,focal_length,axial_length,half_only)
+
PYTHON COMMAND: spiral_strip(label,x0,y0,z0,width,radius_inner,radius_outer,n_turns,spiral_dir,is_dual)
  
  
PARABOLA PARAMETERS
+
SPIRAL STRIP PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,252: 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,258: Line 2,605:
 
| -
 
| -
 
|-
 
|-
! scope="row" | axial_length
+
! scope="row" | outer_radius
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,264: 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
 
|}
 
|}
  
Line 2,281: Line 2,669:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve4.png|thumb|left|480px|The property dialog of the parabola curve object.]]  
+
[[Image:cad_surf8.png|thumb|left|480px|The property dialog of the spiral strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_parabola_new.png|thumb|left|550px|The geometry of the parabola curve object.]]  
+
[[Image:resize_spiral_strip_new.png|thumb|left|550px|The geometry of the spiral strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:23_parabola_tn_new.png|thumb|left|550px|Drawing a half-parabola.]]  
+
[[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>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Hyperbola Tool ==
+
== Super-Quadratic Curve Tool ==
  
ICON: [[File:hyperbola_tool_tn.png]]  
+
ICON: [[File:superquad_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Hyperbola'''
+
MENU: '''Object &rarr; Curve &rarr; Super-quadratic Curve'''
  
TO DRAW A HYPERBOLA:
+
TO DRAW A SUPER-QUADRATIC CURVE:
  
# Activate the '''Hyperbola Tool'''.  
+
# Activate the '''Super-Quadratic Curve Tool'''.  
# Left-click to define the X-radius origin. Construction guides will appear to aid in the drawing process.
+
# Left-click to establish the initial X/Y diameter triangulation point.
# Drag the mouse away from the origin to establish the desired X-radius. Left-click a second time.
+
# Drag the mouse away from this point to define the desired size.
# 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.
+
# 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: hyperbola(label,x0,y0,z0,diam_x,diam_y,axial_length,half_only)
 
  
 +
PYTHON COMMAND: superquad(label,x0,y0,z0,diam_x,diam_y,order)
  
HYPERBOLA PARAMETERS
+
 
 +
SUPER-QUADRATIC CURVE PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,374: 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 ==
+
PARAMETRIC SURFACE PARAMETERS
 
+
ICON: [[File:spiral_tool_tn.png]]
+
 
+
MENU: '''Object &rarr; Curve &rarr; Spiral'''
+
 
+
TO DRAW A SPIRAL CURVE:
+
 
+
# Activate the '''Spiral Curve Tool'''.
+
# Left-click to establish the inner-radial origin of the Spiral.
+
# Drag away from the origin to expands the inner radius (drag inward toward the origin to reduces the inner radius).
+
# Left-click a second time to set the inner radius and create the anchor point for the outer radius.
+
# Drag the mouse away from the second point to expand the outer radius or closer to reduce the radius.
+
# Left-click a third time to complete the spiral.
+
 
+
 
+
PYTHON COMMAND: spiral_curve(label,x0,y0,z0,radius_inner,radius_outer,nturns,spiral_dir,is_dual)
+
 
+
 
+
SPIRAL CURVE PARAMETERS
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,443: 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,449: 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,455: 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,466: Line 2,869:
 
| real numeric
 
| real numeric
 
| degrees  
 
| degrees  
| -
+
| 0
 
| local rotation about Y-axis
 
| local rotation about Y-axis
 
|-
 
|-
Line 2,472: 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
 
|}
 
|}
  
Line 2,509: Line 2,930:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve6.png|thumb|left|480px|The property dialog of the spiral curve object.]]  
+
[[Image:Cad surf11 new.png|thumb|left|480px|The surface generator dialog.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 2,516: Line 2,937:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_sprial_new.png|thumb|left|550px|The geometry of the spiral curve object.]]  
+
[[Image:Cad surf12 new.png|thumb|left|550px|The default 2D sinusoidal surface created by the surface generator.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Helix Tool ==
+
== Taper Strip Tool ==
  
ICON: [[File:helix_tool_tn.png]]  
+
ICON: [[File:taperstrip_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Helix'''
+
MENU: '''Object &rarr; Surface &rarr; Taper Strip'''
  
TO DRAW A HELIX:
+
TO DRAW A TAPER STRIP:
  
# Activate the '''Helix Tool'''.  
+
# Activate the '''Taper Strip Tool'''.  
# Left-click to establish the origin of the inner-radius.
+
# Left-click to establish the base length midpoint.
# Drag away from the origin to expand the inner radius, (toward it to contract the inner radius).
+
# 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.
# 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.
+
# 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.
# 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.
+
  
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.
+
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: helix(label,x0,y0,z0,radius_inner,radius_outer,height,nturns,helix_dir)
+
PYTHON COMMAND: taper_strip(label,x0,y0,z0,base_width,top_width,length,is_expo)
  
  
HELIX PARAMETERS
+
TAPER STRIP PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,587: 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,599: Line 3,018:
 
| -
 
| -
 
|-
 
|-
! scope="row" | height
+
! scope="row" | top_width
 
| real numeric
 
| real numeric
 
| project units   
 
| project units   
Line 2,605: 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
 
|}
 
|}
  
Line 2,621: Line 3,046:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:cad_curve7.png|thumb|left|480px|The property dialog of the helix curve object.]]  
+
[[Image:cad_surf6.png|thumb|left|480px|The property dialog of the taper strip object.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
Line 2,628: Line 3,053:
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:resize_helix_new.png|thumb|left|550px|The geometry of the helix curve object.]]  
+
[[Image:Resize_taper_strip_new.png|thumb|left|550px|The geometry of the taper strip object with exponential side walls.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
</table>
 
<table>
 
 
<tr>
 
<tr>
 
<td>  
 
<td>  
[[Image:26_helix_tn_new.png|thumb|left|550px|The local coordinate system (LCS) of the helix curve object.]]  
+
[[Image:14b_taper_strip_tn_new.png|thumb|left|720px|A taper strip with linear side walls and a nonzero top offset.]]  
 
</td>
 
</td>
 
</tr>
 
</tr>
 
</table>
 
</table>
  
== Polyline Tool ==
+
== Torus Tool ==
  
ICON: [[File:polyline_tool_tn.png]]  
+
ICON: [[File:torus_tool_tn.png]]  
  
MENU: '''Object &rarr; Curve &rarr; Polyline'''
+
MENU: '''Object &rarr; Solid &rarr; Torus'''
  
TO DRAW A POLYLINE:
+
TO DRAW A TORUS:
  
# Activate the '''Polyline Tool'''.  
+
# Activate the '''Torus 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.
+
# Left-click to define the center point.
# 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.
+
# 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.
  
  
PYTHON COMMAND: polyline(label,(x0,y0,z0),(x1,y1,z1) ... )
+
PYTHON COMMAND: torus(label,x0,y0,z0,radius_major,radius_minor[,start_angle,end_angle])
  
  
EDITING NODES
+
TORUS PARAMETERS
 
+
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
+
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,749: 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,755: 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,761: 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
+
 
 +
TRIANGLE STRIP PARAMETERS
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 2,828: 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