== Curve Generator ==
Besides [[EM.Cube]]'s standard curve objects, i.e. line, circle, super-quadratic curve, parabola, hyperbola, spiral curve and helix, you can use '''Curve Generator''' ICON: [[File:curve_gen_tool_tn.png]] to create a large variety of other curve objects. Practically, any imaginable curve can be synthesized in [[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).MENU: '''Object → Curve → Curve Generator'''
Moreover, you can create planar curves on any of the three principal XY, YZ or ZX planes.TO DRAW A PARAMETRIC CURVE:
# Click Activate the '''Curve GeneratorTool'''[[File:curve_gen_tool_tn.png]] button # Left-click to establish the location of the '''Object Toolbar''' or select '''Menu [[File:larrow_tnnew parametric curve.png]] Object [[File:larrow_tn.png]] Curve [[File:larrow_tn.png]] Curve Generator''' to open A default oblique line appears in the Curve Generator Dialogproject workspace.# Select one The curve generator dialog opens up on the lower left corner of the screen. You have three curve types options for '''Model''' type: '''CartesianCurve''', '''PolarCurve''' or '''ParametricCurve'''. For The default option is the Cartesian type, also specify the '''Orientation''', which is the XY principal plane by defaultcurve.# Specify In the range case of the a Cartesian curve. This includes '''Start''', you also have three options for '''StopOrientation''' and '''Step''' values. For polar curves: XY, the angles are expressed in radiansYZ or ZX planes.# In With the "Parameters" sectionXY plane orientation, define the function representing the Cartesian curve. For the Cartesian type, this has the form is expressed as y = f(x) in XY Plane. With the YZ plane orientation, the Cartesian curve is expressed as z = f(y) in YZ Plane or . 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 ZX Planethe selected orientation plane. For # 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 curvescurve, the function radial coordinate is defined expressed as a function of the polar angle t: r = fr(t), where t and r represent the angle and radius, respectively. For # In the case of a parametric curvescurve, t is the parameter, and the x, y and z coordinates are all expressed as three separate functions of the parameter t: x(t), y(t), z(t). # Curve Generator offers two options For a polar or parametric curve, enter the start, stop and step values for the curve to be generated: '''Polyline''' or '''NURBS Curve'''. The latter is range of the default option. Change '''Curve Type''' if you want to create a polylinevariable t.# Before you create Enter the defining expression(s) for the curve and add it . # Make sure to the Navigation Tree, you have an opportunity to preview it. To do so, click the '''Preview''' OK button of the dialog. A yellow ghost of to complete 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 Treeconstruction.
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). PYTHON COMMAND: param_curve(label,x0,y0,z0,model,orientation,start,stop,step,function[,y(t),z(t)]) PARAMETRIC CURVE 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-coordinates of the surface|-! scope="row" | LCS_Y | real numeric| project units | - | Y-coordinates of the surface|-! scope="row" | LCS_Z| real numeric| project units | - | Z-coordinates of the surface|-! scope="row" | rot_X| real numeric| degrees | 0 | local rotation about X-axis|-! scope="row" | rot_Y| real numeric| degrees | 0 | local rotation about Y-axis|-! scope="row" | rot_Z| real numeric| degrees | 0 | local rotation about Z-axis|-! scope="row" | orientation| three options: XY, YZ or ZX| - | XY | the coordinate plane in which the parametric surface is drawn|-! scope="row" | start_1| real numeric| project units | 0 | start value of range of the first coordinate variable|-! scope="row" | stop_1| real numeric| project units | 10 | stop value of range of the first coordinate variable|-! scope="row" | step_1| integer numeric| project units | 1| step value of range of the first coordinate variable|-! scope="row" | start_2| real numeric| project units | 0 | start value of range of the second coordinate variable|-! scope="row" | stop_2| real numeric| project units | 10 | stop value of range of the second coordinate variable|-! scope="row" | step_2| integer numeric| project units | 1| step value of range of the second coordinate variable|-! scope="row" | expression| text string| -| sin(pi*x/5)*sin(pi*y/5)| mathematical expression in two local coordinate variables |} <table><tr><td> [File[Image:cad_curve10.png|thumb|left|480px|The surface generator dialog.]] </td></tr></table><table><tr><td> [[Image:Cad surf12 new.png|thumb|left|550px|The default 2D sinusoidal surface created by the surface generator.]]</td></tr></table>
== Point Tool ==