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.
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.
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
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.