Changes

Building Geometrical Constructions in CubeCAD

5,329 bytes added, 16:10, 11 June 2017
/* Generating and Controlling the Mesh */
[[Image:Splash-cad.jpg|right|800px720px]]<strong><font color="#655234" size="4">An Intuitive 3D Parametric CAD Modeler Shared By All [[EM.Cube]] Computational Modules</font></strong>
<table>
<tr>
<td> [[image:Cube-icon.png | link=Getting_Started_with_EM.CUBECube]] [[image:fdtd-ico.png | link=EM.Tempo]] [[image:prop-ico.png | link=EM.Terrano]] [[image:postatic-ico.png | link=EM.IlluminaFerma]] [[image:staticplanar-ico.png | link=EM.FermaPicasso]] [[image:planarmetal-ico.png | link=EM.PicassoLibera]] [[image:metalpo-ico.png | link=EM.LiberaIllumina]] </td>
<tr>
</table>
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
== CubeCAD in a Nutshell ==
CubeCAD is a comprehensive, parametric, 3D CAD modeler along modeling environment equipped with integrated mesh generation, data processing and visualization capabilities and a powerful Python scripting environmentinterpreter. A highly streamlined visual interface literally puts all of CubeCAD's features at your fingertips. With the click of buttons, you can build complex 3D models and structures in seconds using a large variety of intuitive mouse-based object creation and transformation tools. Import and export of standard CAD formats allow for native construction of complex geometries along with the ability to fly in external CAD models with utmost ease. CubeCAD also features an extensive library of mathematical functions that can be used for construction of new geometries and data or post-processing of existing data. CubeCAD allows you to visualize simulated, measured or imported 3D data in a variety of formats and overlay them on your CAD structures.
All of [[EM.Cube]]'s computational modules use CubeCAD together with individually customized navigation trees as their graphical user interface and geometry definition utility. Learning CubeCAD is therefore the stepping stone for learning all the other modules. Once you have mastered the basics of CubeCAD, using the other modules will be very straightforward.
</ul>
<table><tr><td> [[Image:Apache1.png|thumb|left|360px|An Apache helicopter.]]</td></tr><tr><td> [[Image:CAD_Apache_new.png|thumb|left|360px|The imported model of the Apache helicopter.]]</td></tr></table>== Constructing Physical Structures Using Standard Geometric Objects ==
== Constructing Physical Structures Using Standard Geometric Objects =The Variety of EM.Cube's Native Object Types===
===Variety of In [[EM.Cube's Native Object Types===]], objects are generally categorized into four types: solids, surfaces, curves and special objects.
In [[EM.Cube]], objects are generally categorized into four types: solids, surfaces, curves and special objects. *Curves are one-dimensional objects, whose length can be measured. The simplest curve object is a (straight) line. Other curve objects include circle, super-quadratic curve, parabola, hyperbola, spiral curve, helix, polyline and NURBS curve. [[EM.Cube]] also provides a generalize curve generator. *Surfaces are two-dimensional objects whose surface area can be measured. A surface is usually characterized by a number of edges that enclose the object's area. The edges meet at vertices or nodes. The simplest surface object is a rectangle strip, which has four edges and four vertices. Other surface objects include circle strip, radial strip, ellipse strip, taper strip, regular polygon, spiral strip, polystrip and NURBS curve. [[EM.Cube]] also provides a generalized surface generator. *Solids are three-dimensional objects whose volume can be measured. A solid is usually characterized by a number of faces that enclose the object's volume. Faces meet at edges and edges meet at vertices or nodes. The simplest solid object is a box, which has six faces, twelve edges and eight vertices. Other solid objects include cylinder, cone, pyramid, sphere, ellipsoid and taper. [[EM.Cube]] also provides a Platonic solid generator which includes tetrahedron, tessellated hexahedron, octahedron, tessellated dodecahedron and icosahedron. *[[EM.Cube]] currently offers two special object types: point and fractal tree. A Point is a dimensionless object that is represented by a set of coordinates (X,Y,Z). A fractal tree is a group of recursively scaled self-similar objects. In addition to the standard geometric object types, there are generic curve objects, generic surface objects and generic solid objects. Most external CAD objects are imported as objects of the generic type.
In view of the drawing process and geometrical properties, objects can also be divided into two groups: dimensional objects and nodal objects. A dimensional object is characterized by a local coordinate system (a center and local X-, Y- and Z-axes) and a number of dimensional parameters such as length, width, height, radius, etc. Examples of dimensional objects are box, sphere, rectangular strip, line, helix, etc. In addition to the standard geometric object types, there are generic curve objects, generic surface objects and generic solid objects. Most external CAD objects are imported as objects of generic type. You can translate or rotate an object of generic type, but you cannot changes its size properties. A nodal object is characterized by a set of points (nodes). [[EM.Cube]]'s nodal objects include polystrip, polyline, NURBS strip, NURBS curve and polymesh objects.
CubeCAD provides a diverse set of standard geometric objects that are fully parameterized. In addition to the center coordinates and rotation angles, these objects have a variety of dimensional parameters that are used to set and control their size and geometrical shape. More complex objects can be created by editing and combining these basic shapes. Objects can be created by clicking on one of the object buttons on the '''Object Toolbar''' or from the '''Object &rarr; Solid''', '''Object &rarr; Surface''', or '''Object &rarr; Curve''' menus. Once an object tool is selected, left click anywhere on the work plane to draw the object.
<tr>
<td>
[[Image:moveobject_new.png|thumb|left|720px640px|Moving objects from their current color group to another color group or to another [[EM.Cube]] module.]]
</td>
</tr>
Only one color group of the navigation tree is active at any time. All the newly drawn objects belong to the active color group. CubeCAD displays the active color's name in bold letters. When you start [[EM.Cube]] for the first time and draw a new object in CubeCAD, a default grey color named &quot;Color_1&quot; is immediately created and set as the active color. Every time you create a new color, it is set as the active color. To change the active color, right-click on the name of a color group and select '''Activate''' from the contextual menu. New objects will now be added under the new active color.
To draw an object in [[EM.Cube]], click one of the many '''Object''' buttons in '''Object Toolbar''' and start drawing a new object in the project workspace. Alternatively, you can call on any object creation tool through one of the menu items '''Object &rarr; Solids''', '''Surfaces''' or '''Curves''' submenus. Once an object creation tool is selected, the shape of the cursor changes to a cross, signifying that [[EM.Cube]] is in object creation mode. Left-click anywhere in the min main window to draw an object of the selected type. While the new object is being drawn, a property dialog appears on the lower right corner of the screen. Also, a small '''Help Tip''' window opens up on the upper right corner of the screen that guides you through the drawing process. The property dialog allows you to customize the new object's dimensions and other parameters. The entered values for length parameters are always in the currently selected project units and angles are measured in degrees.
<table>
* Nodal information such as node indices and coordinates (this applies to nodal object types like polyline, polystrip, etc.)
CAD objects are characterized by their Local Coordinate Systems (LCS). Spatial information contains two sets of information: '''LCS Center'''– the X-, Y-, and Z-coordinates of the origin of the local coordinate system, and '''LCS Rotation''' – the right-sense rotation angles of the object about the X, Y, and Z-axes before the object is translated to the specified base center. As you will see later, objects in CubeCAD can be linked to each other. The linkage information part of the property dialog shows whether an object is linked to another &quot;parent&quot; object and if so, in what manner. The type and number of property fields differ among the native CubeCAD objects. The box object, for instance, is characterized by '''X-Size''', '''Y-Size''', '''Z-Size''' values along with two '''Fix Center''' check boxes and two '''Cap Ends''' check boxes.
===Modifying Objects Using Edit Handles===
<table>
<tr>
<td> [[Image:draw_modes_tn.jpg|thumb|left|480px|Drawing a rectangle strip object with or without a fixed The center (locked base)-, edge- and corner-based drawing modes.]] </td>
</tr>
</table>
CubeCAD is a full 3D CAD environment that allows you to move your mouse to any arbitrary point in the three-dimensional coordinate space. A work plane is the plane on which the mouse cursor is located and moves freely around. When you start the [[EM.Cube]] application, the mouse always moves on the XY plane, meaning that the XY plane is your default work plane. In addition, [[EM.Cube]]'s &quot;Snap-to-Grid&quot; mode is enabled by default even though the project workspace's grid is not displayed by default. As you move the mouse around, it snaps to the invisible grid points. This provides a convenient way to draw objects with precise dimensions and at precise locations. The coordinates of the current location of the mouse are reported in the Status Bar.
[[Image:Info_icon.png|40px30px]] Click here to learn more about [[EM.Cube]]'s '''[[Getting Started with EM.Cube#The_Grid| Grid]]''' or '''[[Glossary of EM.Cube's Basic File, Edit & View Operations#Grid Properties | Grid Properties]]'''.
Using the View Toolbar, you can easily change the work plane to any of the three principal coordinate planes:
Sometimes, highlighting objects simply by mouse-over may turn out to be rather bothersome especially in dense structures. In this case, you can turn off the &quot;Snap to Object&quot; mode. To do so, double click on the small window at the right end of the Status Bar, which reports the current state of object snap mode. This will cycle through the different objects snap mode. Continue double clicking until you get '''Obj. Snap: OFF'''. Double clicking one more time will lead to '''Obj. Snap: ON'''. You can also enable the '''Snap to Object''' mode using the keyboard shortcut '''O'''. The illustration below depicts several objects and their corresponding snap points.
Accessing all the available snap points of an object can be quite tricky. When the mouse hovers over an object, you can more easily access the hidden snap points (those associated with the hidden faces or edges or corners) by holding down the keyboard's '''{{key | Ctrl }} Key''' and positioning the mouse close to the desired point.
{{Note|Snap to object always has priority over snap to grid. In other words, the mouse jumps from a grid node point immediately to the closest object snap point.}}
Oftentimes, you may simply need to set up your work plane parallel to one of the three principal planes but at an offset distance. [[EM.Cube]] provides easy shortcuts for this purpose. Hover the mouse over any object in the project workspace and highlight one of the snap points of that object. Then, type {{key|X}}, {{key|Y}}, or {{key|Z}} on your keyboard. This will establish a new work plane centered at the snapped point and parallel to the YZ, ZX or XY planes, respectively. You can also set up an arbitrary work plane non parallel to any of the principal coordinate planes.
[[Image:Info_icon.png|40px30px]] Click here to learn how to set up an '''[[Glossary of EM.Cube's Basic File, Edit & View Operations#Arbitrary Work Plane| Arbitrary Work Plane]]'''.
Once a new work plane is established, the movement of your mouse will be bound to that plane. In other words, the cursor will move freely on the surface of the new work plane. The status bar now reports the &quot;User Coordinates&quot; of the cursor position as opposed to its &quot;World Coordinates&quot;. The status bar also shows the word '''User''' in front of these coordinates. You can switch back to the world coordinates at any time by double-clicking on the word '''User''', which changes it to '''World'''. Double-clicking once again toggles the state back to the user coordinates. Any object that you draw on the new work plane will have its local X - and Y-axes on this plane, and its local Z-axis normal to the plane.
{{Note|A new work plane will stay in effect until you switch to one of the three principal work planes.}}
When you paste an object or a selection of objects to the project workspace, CubeCAD allows you to place the pasted object(s) in any arbitrary location right away. First, a wire-frame of the pasted object(s) appears in the workspace, which you can drag around with the mouse. Wherever in the workspace you click the mouse, the pasted object(s) will be dropped. A dialog titled &quot;Place&quot; appears on the lower right corner of the screen that shows the current coordinates of the mouse point (as you drag it) in three X-, Y- and Z-coordinate boxes labeled '''Destination''' as well as three X-, Y- and Z-coordinate boxes labeled '''Vector'''. The vector coordinates show the Cartesian components of the displacement vector pointing from the original position of the cut or copied object(s) to the current mouse position. As you drag the mouse around, all these values get updated continuously. You can fine-tune the final location of your pasted object using either of the two coordinate sets.
 
===Operational Modes of CubeCAD Tools===
 
Each of CubeCAD tools performs a certain operation or transformation on one or more selected CAD objects. [[EM.Cube]] provides a number of different ways to use these tools. First, you have to activate a CAD tool. Each tool has a button with a particular icon on '''Tools Toolbar''', which you can click to activate. If you hover your mouse on one of these buttons before clicking, a small tooltip shows up displaying the name of that tool. You can also enable a tool from '''Tools Menu''' at the top of the screen. Many tools have a keyboard shortcut, which you simply type on your keyboard to enable that tool. You can also access some tools from the contextual menu of individual objects either by right-clicking on the surface of an object in the project workspace or by right-clicking on the object's name in the navigation tree. When you access a CAD tool from Tools Toolbar or Tools Menu, one or more '''Help Tips''' appear on the upper right corner of the screen, which guide you along the different steps of usage of the enabled tool.
The first step in using each CAD tool is to select one or more objects. When you activate a tool from Tools Toolbar or Tools Menu, a help tip prompts you to select an object by clicking on it. If the enabled tool allows the selection of more than one object (e.g. Group Tool), you can select the objects one by one and then press the '''Enter Key''' to finish the object selection. At this point, another help tip instructs you to take the next action. For most tools, alternatively, you can first select the object(s) and then activate the tool in one of the ways mentioned earlier. This is often more convenient and spares a few mouse clicks.
 
===Working with Generic Objects===
 
[[EM.Cube]] offers a large selection of parameterized native objects. Many of CubeCAD tools, such as translate, rotate or mirror, transform native objects to other objects of the same kind or result in the creation of other types of native objects like polylines and polystrips. Some other CAD tools result in the creation of a generic solid object, a generic surface object or a generic curve object. [[EM.Cube]]'s generic objects have a limited number of parameters. They have three '''LCS Coordinates''' and three '''Rotation Angles''', which determine their location and orientation in the project workspace. You can change these parameters by accessing the property dialog of a generic object. They also have '''Dimension''' parameters, which represent the size of the their bounding box along the three principal directions, but they are not editable. Most CAD import operations bring in external CAD files to your project workspace as generic objects.
 
===Working with Transform Objects===
 
Many of CubeCAD operations and transformations result in the creation of either native objects like polylines and polystrips or in generic curve, surface or solid objects. Each of the following tools, however, creates a special "Transform Object":
 
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Group_Tool | Group Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Array_Tool | Array Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Subtract_Tool | Subtract Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Union_Tool | Union Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Intersect_Tool | Intersect Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Extrude_Tool | Extrude Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Loft_Tool | Loft Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Revolve_Tool | Revolve Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Polymesh_Tool | Polymesh Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Random_Group_Tool | Random Group Tool]]
# [[Glossary_of_EM.Cube%27s_CAD_Tools#Roughen_Tool | Roughen Tool]]
Each transform object has a special property dialog. The Group tool and the three Boolean operation tools, Subtract, Union and Intersect, have similar property dialogs and allow you to access their constituent objects. The property dialog of composite or Boolean objects has a '''Member List''' containing the names of all constituent objects. You can highlight and select any member from this list and click the '''Edit''' button of the dialog to open up its property dialog, where you can edit its properties.
 
The property dialog of Extrusion, Loft, Revolution, Polymesh and Rough objects has an '''Edit Primitive''' button, which lets you access the property dialog of the original object used for the generation of the selected transform object. After you finish editing the primitive object, you will return to the property dialog of the transform object. Array and Random Group objects are arrangements of clones of an original key object. In these cases, the '''Edit Primitive''' button opens up the property dialog of the key element.
===Glossary of EM.Cube CAD Tools===
[[EM.Cube]] provides a large number of CAD tools that translate, rotate, scale and perform more complex geometric transformations on one or a selection of several objects.
[[Image:Info_icon.png|40px30px]] To learn more about the various types of geometric object transformations and edit operations, see the '''[[Glossary of EM.Cube's CAD Tools]]'''.
==Importing & Exporting External CAD Models==
# Python File (*.PY)
To import an external file of one of the above formats, select the menu item '''File &rarr; Import...''' Once the standard Windows "Open Dialog" pops up, select the desired file extension from the drop-down list labeled &quot;Files of Type:&quot;. Then, select the desired file and click the {{key|Open}} button of the dialog. This opens another dialog that shows the progress of loading the imported file. You can abort the import process by clicking the {{key|Abort Translation}} button. You can also view a report of the process. All imported objects are listed under "Color_1". From this group you can move them to other groups. In some cases, the imported object might already be organized in different colors or groups. In all file formats except for STL and Facet, solid objects are imported as generic solids and surface objects are imported as generic surfaces. From STL and Facet files, objects are imported as [[EM.Cube]]'s native polymesh objects.
{{Note|You can import external CAD files only into CubeCAD, from which you can then move the imported objects to [[EM.Cube]]'s other modules.}}
</table>
You can change the mesh type and the mesh resolution from CubeCAD's Mesh Settings dialog. Click the '''Mesh Settings''' [[File:mesh_settings_tn.png]] button of the Simulate Toolbar or select the menu item '''Simulate &rarr; Discretization &rarr; Mesh Settings...''' In the drop-down list labeled '''Mesh Type''' you can select one of the two options: '''Regular Surface''' or '''Tessellated Surface'''. The latter option shows the simplest tessellation of the physical structure. The mesh resolution is controlled by '''Edge Length''', which is expressed in project units. The default value of edge length is 10 units. This means that the default mesh features cells with a size of about 10 units. When you change the mesh type or resolution, you can see the effect using the {{key|Apply}} button if [[EM.Cube]] is already in mesh view mode. After [[EM.Cube]] generates a mesh, it saves its it and uses it the next time you want to see the mesh. The mesh stays the same until you change its parameters. Sometimes, you may want to regenerate the mesh with the same current parameters. To do so, select the menu item '''Simulate &rarr; Discretization &rarr; Regenerate Mesh'''.
<table>
<tr>
<td>
[[Image:cadmesh1_tn_new.png|thumb|left|550px480px|The geometry of two spheres.]]
</td>
</tr>
<tr>
<td>
[[Image:cadmesh2_tn_new.png|thumb|left|550px480px|The triangular surface mesh of the two spheres generated by CubeCAD.]]
</td>
</tr>
<tr>
<td>
[[Image:cadmesh3_tn_new.png|thumb|left|550px480px|The tessellated version of the two spheres.]]
</td>
</tr>
{{Note|FACET files are always expressed in meters. Therefore, before importing a FACET file, you should change the project units to meters.}}
<pbr />&nbsp; </phr> [[Image:Top_icon.png|48px30px]] '''[[#CubeCAD_in_a_Nutshell | Back to the Top of the Page]]'''
[[Image:Back_icon.png|40px30px]] '''[[EM.Cube | Back to EM.Cube Main Page]]'''
28,333
edits