Welcome to the AMCAX Kernel documentaion, a geometry kernel for CAD/CAE/CAM applications. It includes from basic geometric representations to various modeling algorithms, and the functionalities are provided in the form of C++ libraries.
Overview
The main modules are AMCAX Common and AMCAX Part.
AMCAX Common
common: commonly used basic classes, like points, vectors, and bounding boxes
AMCAX Part
nurbs: tools for Freeform surface modeling
math: basic math library, including basic 2D and 3D primitives, polygons and triangular meshes
geometry: geometry library, including curves and surfaces
topology: B-Rep structure representing a solid model
modeling: high level APIs to generate basic models
geomAlgo: tools for construct 2D lines and circles from constraints
hatch: tools for classification of B-Rep objects
intersect: tools for intersection of curves and surfaces
boolean: tools for bool operations
fillet: tools for chamfer and fillet
offset: tools for modeling operations related to offset
healing: tool for healing shapes
hlr: tools for hidden line removal
topomesh: tools for meshing
io: input/output tools
AMCAX GCS
gcs: tools to solve geometric constraints
AMCAX SubD
polymesh: data representation and input/output of polygonal meshes
polymeshAPI: tools for subdivision modeling of polygonal meshes
AMCAX TMSpline
tmeshSpline: data representation, tessellation, input/output of T-Mesh splines
tmeshSplineAPI: tools for subdivision modeling using T-Mesh splines
AMCAX Step
step: tools for importing and exporting STEP data
AMCAX Iges
iges: tools for importing and exporting IGES data
AMCAX OCCTIO
occtio: tools for importing and exporting OCC BREP data
AMCAX Meshing
meshing: tools for mesh data and algorithms
AMCAX NextMesh
nextmesh: mesh generation for pre-processing in simulation
AMCAX GeomE
shapeEdit: geometry cleanup,repair and edit
Features
The AMCAX Kernel provides the following features in the current version.
Modeling Data
The modeling data supplies data structures implementing boundary representation (B-Rep) of objects in 3D.
Description of points, vertors, directions, axes and frames; (AMCAX Common module)
Description of 2D and 3D curves;
Description of surfaces;
B-Rep data structure.
Geometry Algorithms
The geometry algorithms provides operational algorithms that support geometric data modeling, providing the following algorithms:
Calculation of the values and derivatives of curves and surfaces;
Calculation of extrema between geometric objects;
Calculation the intersection of two 2D curves, two surfaces or a curve and a surface;
Projecting points onto curves and surfaces;
Constructing curves and surfaces using interpolation and approximation;
Constructing 2D curves from geometry constraints.
Modeling Algorithms
The modeling algorithms provides algorithms for modeling B-Rep objects that used in solid modeling, providing the following algorithms:
Construction of primitive shapes (boxes, wedges, cylinders, cones, spheres, tori);
Transforming or copying B-Rep objects;
Making extrusions;
Making revolutions;
Making pipe shapes;
Lofting;
Boolean operations for B-Rep, including common, fuse and cut;
Making fillets and chamfers on edges and vertices;
Making offset shapes;
Making thick shapes.
Meshing
The meshing provides algorithm for tessellating objects into triangular meshes:
Build a triangle mesh form B-Rep objects;
Export B-Rep objects to STL and OBJ format.
Geometric Constraint Solver
The geometric constraint solver provides algorithm for solving geometric constraints in geometric modeling, which can solve the following constraints:
Distance from point to point, line or plane;
Distance from plane to line or plane;
Distance between parallel lines;
Angle between vectors.
STEP Translator
The STEP reader provides essential functionalities for translating following entities in STEP AP203 / AP214 / AP214 files:
Geometric and topological entities to TopoShape objects;
Read names, descriptions, product, and color data for each mechanical part; and
Assembly functionalities.
The STEP writer translates AMCAX::TopoShape objects to STEP file following ISO 10303-214 standard with following data:
TopoShape objects to geometric and topological entities;
Names and descriptions of shape objects;
Color data of shape or sub-shape objects.
Freeform surface modeling
Provide some mesh editing modeling method based on polygon mesh subdivision and T-mesh spline data representation, with similar functions as follows:
Construction of primitive shapes (flat rectangles, cubes, cylinders, cones, frustums, spheres, torus);
Transforming objects or some of their elements;
Copy the entire object and copy some faces of the object;
Add, split, and delete faces;
Separate and weld edges;
Extrude edges and faces;
Add and remove crease edges;
Construct an approximate thickened body;
Simple hole filling.
Although the functions are similar, different data structures perform differently when used
Independent features supported by the polygonal mesh library:
Subdivide the polygonal mesh;
Convert polygonal meshes to triangular meshes;
Import and export polygonal mesh objects into OBJ format and OFF format;
Export polygonal meshes to TMS format for T-mesh spline library to read.
The T-mesh spline library automatically generates smooth surfaces and supports the following independent functions:
Repair and uniform T-mesh spline;
Construct a T-mesh spline object as a triangular mesh;
Import and export T-mesh spline objects in TMS format;
Export T-mesh spline objects or their control net to OBJ format.
Mesh generation
Mesh generation tools for pre-processing in simulation:
Geometry import (STEP files, AMCAX::TopoShape );
Mesh file export (OBJ, VTK, FLUENT_MSH);
Control parameters for mesh generation (global/local size, growth rate)、Sweep mesh;
Mesh types (line mesh,triangle,tetrahedron);
Auxiliary tools (contact face determination, face group definition).
Geometry cleanup,repair and edit
Provide geometry,repair and edit functions for simulation preprocess:
Point operations: sew, delete, release, and project;
Edge operations: sew, release, join, split, rebuild, project, and category detection;
Face operations: flip, delete, and split.
Requirements
C++ compiler / IDE
The code is using ISO C++ 17 standard, and only the following OS and compilers are tested.
OS Compiler
Windows 10/11 Microsoft Visual Studio 2019/2022 x64
Ubuntu 20.04/22.04 GNU gcc 9.4.0/11.4.0
Kylin Desktop v10 gcc (Ubuntu 9.3.0-10kylin2) 9.3.0
Third-party Dependencies
AMCAX Meshing depends on GMP 6.2.1 ,TBB12 2021.10.0 and MPFR 4.2.0 . Your application would require these three dynamic libraries to run. They are all opensource libraries, you may get them by compiling the source code or download them from the internet .
Copyright © 2023 Hefei Jiushao Intelligent Technology Co., Ltd. All rights reserved.