AMCAX Kernel
Geometry kernel for CAD/CAE/CAM
九韶内核 1.0.0.0
载入中...
搜索中...
未找到
通过 CMake 来创建应用 AMCAX 内核的软件

概述

本教程帮助用户通过 CMake 来创建一个使用 AMCAX 内核的应用程序。

所需知识

开发人员需要具备一些基础知识,包括现代 C++ 编程语言和 CMake 相关知识。

写一个简单的应用程序示例

这里我们提供一个简单的示例,该示例创建了一个立方体并将网格保存为 OBJ 文件。

#include <io/OBJTool.hpp>
int main()
{
AMCAX::TopoShape s = AMCAX::MakeBox(1.0, 1.0, 1.0);
AMCAX::BRepMeshIncrementalMesh mesher(s, 0.005, true);
return 0;
}
Class of making a box
读写 OBJ 格式文件中形状的三角形网格的类
Class of meshing
定义 BRepMeshIncrementalMesh.hpp:16
Class of making a box
定义 MakeBox.hpp:18
static AMCAX_API bool WriteShape(const TopoShape &shape, const std::string &file, bool divideGroup=true)
将形状中的网格写入文件
Base class of shape, containing an underlying shape with a location and an orientation
定义 TopoShape.hpp:15

撰写 CMakeLists

先写一些基本设置,包括 CMake 最低版本、项目名称和版本,以及 C++ 标准的版本。

cmake_minimum_required (VERSION 3.13 FATAL_ERROR)
project(test VERSION 1.0.0)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_CXX_STANDARD 17)

接下来设置需要的包,此时所有需要的环境可自动配置。

find_package(AMCAXCommon REQUIRED)
find_package(AMCAXPart REQUIRED)

最后添加应用程序项目和链接库设置。

file(GLOB files "*.cpp")
add_executable(test ${files})
target_link_libraries(test AMCAXPart AMCAXCommon)

作为一个可选的设置,使用 Microsoft Visual Studio 进行调试的时候,可设置调试器的运行环境。

if(MSVC)
set_target_properties(test PROPERTIES VS_DEBUGGER_ENVIRONMENT "PATH=%PATH%;${AMCAXCommon_RUNTIME_DIR};${AMCAXPart_RUNTIME_DIR}")
endif()

生成项目

最后,可通过下面的命令来生成应用程序。

mkdir build
cd build
cmake .. -DCMAKE_PREFIX_PATH=/path/to/AMCAXKernel
make

另外也可以通过单独设置每个库的路径来进行生成。

mkdir build
cd build
cmake .. -DAMCAXCommon_DIR=/path/to/AMCAXCommon/cmake/AMCAXCommon -DAMCAXPart_DIR=/path/to/AMCAXPart/cmake/AMCAXPart
make