AMCAX Kernel
Geometry kernel for CAD/CAE/CAM
AMCAX Kernel 1.0.0.0
Loading...
Searching...
No Matches
Introduction

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.