CubeCAD/EM.Cube Technical Specifications
CubeCAD: Intuitive parametric 3D CAD modeler, simulation environment and data manager shared by six computational modules
CubeCAD in a Nutshell
CubeCAD is a comprehensive, parametric, 3D CAD modeling environment equipped with integrated mesh generation, data processing and visualization capabilities and a powerful Python interpreter. 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 provides an extensive library of Python functions that can be used for construction of new geometries, generation of new data and 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 as their project workspace along with the Python interpreter and individually customized navigation trees known as the resource manager. Learning CubeCAD therefore serves as 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.
Geometric Features
- Native Solids: Box, cylinder, cone, pyramid, sphere, ellipsoid, torus, and polymesh solids (generalized polyhedra)
- Native Surfaces: Rectangular strip (or loop), circle strip (or ring), radial strip, ellipse strip, spiral strip, triangle strip, taper strip (with exponential transition), regular polygon, polystrip, NURBS strip, polymesh surfaces, equation-based parametric surfaces
- Native Curves: line, polyline, NURBS curve, circle, super-quadratic curve, parabola, hyperbola, spiral curve, helix, and equation-based Cartesian, polar and parametric curves including scalable Hilbert’s space-filling curve
- Cylindrical, conical and spherical patches and spherical caps
- Easy mouse-based object creation and real-time editing
- Translate, rotate, scale, mirror and link operations
- Boolean (union, subtract and intersect) operations and composite objects with access to constituent objects’ properties
- Explode solids into surfaces and surfaces into curves
- Build 3D arrays of objects with dynamic editing and access to parent objects’ properties
- Define array axes based on the global coordinate axes or the local coordinate axes of the key element (primitive)
- Build 2D arrays of objects on the face of another object
- Build non-uniform arrays of objects where the spacings along the principal coordinate axes are imported from ASCII data files
- Build conformal arrays on cylinders, cones, spheres or hemispheres
- Extrude, loft or revolve faces/surfaces and edges/curves and edit the parent objects dynamically
- Skin between multiple faces/surfaces and bridge between multiple edges/curves
- Discretize solids and surfaces into polymesh objects with regular or structured triangular cells
- Polygonize surfaces and curves
- Fit spline curves onto polylines and smooth surfaces onto polymesh surfaces
- Fillet sharp corners and polylines
- Sweep curves into strips, pipes or rail curve and surfaces along other curves
- Fill closed curves to create planar objects
- Merge or sew curves
- Slice an object into two parts using a plane
- Perform shell operation on a surface object and convert it to a solid
- Roughen surfaces and solids with specified statistics
- Create random sets of a given key object within a specified container object
- Split lines, rectangles and boxes into two or three segments
- Stretch lines, rectangles and boxes along different directions
- Reorient an object’s local axis along a given vector
- Align an object’s face, edge or vertex at a given location
- Align selections of objects by a specified face, edge or corner
- Fractal trees with random pruning
- Adaptive grid with local view rotation
- Snap to objects, nodes, edges/curves or faces/surfaces
- Arbitrary work planes for sketching
- Geometric analysis tool for calculation of volume, surface area, arc length, Gaussian curvature, principal radii of curvature, local parametric coordinates of points on surfaces or curves, normal vector of a surface and tangent vector of a curve
CAD Model Import & Export
- STEP import/export
- IGES import/export
- STL import/export
- DEM and DTED import
- DXF import/export
- GML import
- Whole or partial geometry import/export using Python scripts
Python Scripting & Wizards
- A comprehensive Python library called “emag” with more than 1000 functions that covers all the CAD, simulation, data processing, visualization and plotting operations in EM.Cube
- Define independent Python variables as well as constrained variables using arbitrary mathematical expressions and Python functions
- Python-based user-defined objects that are saved in the project file: complex numbers, real- or complex-valued Cartesian vectors, arrays, matrices, polynomials, random variables, functions, strings and lists with a large number of associated object operations and computations
- Python command line
- Automatic loading of NumPy, SciPy, Matplotlib, shutil and other standard Python packages upon startup
- Save the Python command history into a “.PY” file.
- Open, modify, save, reset or run the project’s default Python script
- Automated definition of a Python function for 1D or 2D interpolation of a given real- or complex-valued data file in Data Manager.
- A large set of wizards for construction of geometries, physical structures such as transmission lines, antennas, propagation scenes, earth surface, radar scenario, etc.
- A large set of Python-based new project templates including imported CAD models of a vehicle, a battleship and mountainous terrain, an urban propagation scene, parabolic and trihedral reflectors, Netlist amplifier circuit, planar filter, periodic structures, etc.
Parametric Modeling
- Define independent variables to relate and control geometric object properties or project attributes
- Define constrained variables with arbitrary mathematical expressions including random variables and Python functions
- Define continuous, discrete, random or mixed multidimensional variable spaces for parametric sweeps
- Dynamic update and editing
- Dry runs for sanity check
- Object links with arbitrary local offsets and rotation angles
- Run multivariate optimization of your structure based on one or more user-defined objectives involving standard output parameters
- Choose among optimization algorithms including classical Powell’s method and basic or fast Pareto genetic algorithms
- Generate optimally reduced-order surrogate models of a user-defined observable such as a mathematical or Python expression involving standard output parameters as a function of one or more project variables using the High-Dimensional Model Representation (HDMR) method
- Automatic addition of the generated HDMR surrogate model to the project’s local Python vocabulary
- Models manager with a convenient “New” dialog for definition of simple python functions with an arbitrary number of arguments
- Run Python-based univariate or bivariate parametric sweeps, optimizations and Monte Carlo simulations of your user-defined functions in the models manager
Data Generation & Processing
- Automatic generation of a large set of 2D and 3D, real-valued and complex-valued, scalar and vector data files at the end of each simulation
- Basic data generator utility for creation of up to ten user-defined 2D data sets y(x) using mathematical expressions and Python functions
- 3D data generator utility for creation of user-defined 3D Cartesian data set f(x,y,z) using mathematical expressions and Python functions
- Spreadsheet view of data files with data processing features and mathematical operations such as statistical analysis, differentiation, integration, discrete Fourier transform, and lease squares fit
- Run mathematical operations and Python computations on up to ten data files in Data Manager
- Merge up to ten data files into a single file
- Convert data files to different types and formats in Data Manager including rotation of radiation pattern files and conversion of S-parameter files to Touchstone format
- Scale or convert the units of contents of data files
- Extract from data files and retrieve data from files in Data Manager
- Automated definition of Python interpolant functions for 1D or 2D interpolation of a given real- or complex-valued data file
- Smooth data using moving average filters
- Generate a smart fit on S-parameter data files using rational interpolation
- New multiport network tools in Tools menu for conversion of S/Y/Z parameters and Touchstone data files, and cascading and de-embedding of two-ports
Data Visualization & Plotting
- Extensive graphing capability (Cartesian plots, polar plots, Smith charts, bar charts, polar stem charts, surface plots, scatter plots, vector-quiver plots, etc.) in Matplotlib
- Simultaneous plotting of up to ten data files of the same type
- 3D visualization of electric and magnetic field distributions, surface current distributions and 3D far-field radiation patterns and RCS data overlaid on the physical structure in the project workspace
- Python-based plots of field distributions, current distributions, far-field radiation patterns, RCS, and Huygens surface data in Matplotlib with different formats such as colorgrid, contour and filled contour plots, surface plots, spherical or 3D polar plots, and u-v plots.
- 2D amplitude and phase profiles of all six components of field sensor data
- Cartesian and polar plots of 2D far-field radiation patterns and RCS at the principal planes and a user-defined arbitrary azimuth plane
- Automated surface plots and multivariable dataset plots for parametric sweep data
- Combined multi-column plots of merged data files
- Highly interactive Smith Chart displaying magnitude, phase, and real and imaginary parts of reflection coefficient and real and imaginary part of input impedance at mouse position
System Requirements
- Intel core i7 or later processor
- 16 GB RAM minimum
- Microsoft Windows 10 operating system or higher