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

JiuShao Kernel is a high-performance mathematical computing engine independently developed by Hefei JiuShao Intelligent Technology Co., Ltd. It is specifically designed to provide high-precision geometric modeling and solving algorithms for industrial software such as CAD/CAE. Its core advantages include independent controllability, efficient computing, and multi-domain adaptability, breaking foreign technology monopolies and supporting key needs of intelligent manufacturing.

Hefei JiuShao Intelligent Technology Co., Ltd. was established in January 2022, abbreviated as JiuShao Intelligent. The company headquarters is located in Hefei City, Anhui Province, with offices in Shanghai, Suzhou, Chengdu and other places. It is a technology company led by academicians of the Chinese Academy of Sciences, jointly founded by professor teams and doctoral teams from the University of Science and Technology of China, and established through the transformation of scientific and technological achievements and authorization by USTC. JiuShao Intelligent is committed to building world-class high-end industrial software kernels and platforms, and is one of the very few teams in the world that fully masters the underlying kernel technology of CAD/CAE/CAM industrial software, especially geometric kernel technology which has undergone more than 40 years of academic accumulation at the University of Science and Technology of China. The productization of geometric kernel began in 2017. Since its establishment, JiuShao Intelligent has grown from a geometric kernel R&D enterprise to a domestic industrial software manufacturer with kernel + platform + software, possessing a complete product tree of technical base + intermediate platform + upper-level software. JiuShao Kernel uses its own innovative kernel technology, breaking the market monopoly of foreign manufacturers and achieving a breakthrough in independent R&D of domestic kernels.

AMCAX is a powerful geometric modeling kernel that provides a series of tools from basic geometric elements to advanced modeling algorithms, supporting various modeling methods such as boundary representation (B-Rep), mesh modeling, and geometric constraint solving. The kernel adopts modular design, mainly targeting the CAD/CAM/CAE field, and can be used to develop various engineering software.

Main features of AMCAX Kernel:

  • Supports ISO C++17 standard
  • Cross-platform support (Windows/Linux)
  • Provides complete B-Rep modeling capabilities
  • Includes free-form surface modeling tools (NURBS)
  • Supports subdivision surface modeling (polygon meshes and T-spline)
  • Built-in geometric constraint solver
  • Provides meshing tools
  • Supports multiple CAD file formats (STEP, IGES, BREP, etc.)

Documentation Guide

Target audience: Developers with basic knowledge of linear algebra, computational geometry, and C++.

Modules

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

AMCAX ApplicationFramework

  • Label: Used to label a topological entity with attributes
  • Attribute: Provides the attribute system and attribute operations
  • WithAttr: Attribute-encapsulated interface wrapper for kernel modeling operations

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.

The Application Framework (AF)

The Application Framework (AF) serves to attach attributes to kernel topology, providing an attribute-encapsulated interface for kernel modeling and a comprehensive attribute system.

AMCAX::Label offers the following functionalities:

  • Retrieving or updating topological objects on a Label.
  • Tagging a TopoShape at the application layer for attribute attachment, along with interfaces to add, delete, and query attributes on the Label.
  • Providing interfaces to access child Labels, which correspond to attributed sub-topologies.

Attribute System features include:

  • Basic attribute types: integer, floating-point, color, string, etc.
  • An ID mechanism is designed to uniquely identify attributes on an AMCAX::Label.
  • Interfaces to create attribute objects of specified types on an AMCAX::Label.
  • AMCAX::AttributePolicy mechanism is designed to resolve attribute conflicts.

The WithAttr template encapsulates kernel modeling interfaces with attributes, enabling:

  • Attribute encapsulation for interfaces under modelling, automatically constructing corresponding AMCAX::Label objects.
  • WithAttr<TopoShape> constructs any topological model and retrieves its associated AMCAX::Label.
  • Cascading update mechanism for attributed Boolean operations (attributes and topology).
  • Parametric interfaces with attributes: models automatically rebuild after modifying modeling parameters.

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.

Learning Path Recommendations

1.For Beginners:

  • Learn about basic geometric elements and topological concepts
  • Experiment with file import/export functionality
  • Create Simple Models Using Make*.hpp API

2.For Intermediate Developers:

  • Study modeling operations like Boolean operations and filleting
  • Understand common geometric computation functions
  • Build models step-by-step using bottom-up approach

3.For Advanced Developers:

  • Learn about constraint solvers
  • Master geometry cleaning and repair tools
  • Explore various meshing methods

To obtain the latest version of JiuShao Kernel, please visit https://product.amcax.net/ for download.

Reference Resources

While AMCAX Kernel has its unique characteristics, many concepts are similar to commercial kernels like OpenCASCADE and ACIS. For learning purposes, you may refer to:

  • OpenCASCADE documentation
  • ACIS Developer Guide
  • Parasolid Programming Manual
  • Computer Graphics and Computational Geometry textbooks

By systematically studying these modules, developers can fully utilize the powerful capabilities of AMCAX Kernel to build professional CAD/CAM/CAE applications.


Copyright © 2023 Hefei Jiushao Intelligent Technology Co., Ltd. All rights reserved.