This example creates a box using OCCUtils’s Primitive::MakeBox
(or see How to create a Box TopoDS_Solid in OpenCASCADE ) and exports it to a STEP file.
First, initialize the git repository:
git init
Now we can add OCCUtils
using the submodule method:
git submodule init git submodule add https://github.com/ulikoehler/OCCUtils.git OCCUtils
Now we can add the CMake config:
project(mkbox) cmake_minimum_required(VERSION 3.3) add_subdirectory(OCCUtils) add_executable( mkbox main.cpp ) add_dependencies( mkbox occutils ) target_include_directories( mkbox PUBLIC /usr/include/opencascade/ ) target_link_libraries( mkbox occutils TKernel TKMath TKFillet TKBinXCAF TKBRep TKBO TKFeat TKG2d TKXDESTEP TKG3d TKGeomAlgo TKGeomBase TKHLR TKIGES TKPrim TKShHealing TKSTEP TKSTEP209 TKSTEPAttr TKSTEPBase TKXSBase TKSTL TKTopAlgo TKV3d TKOffset TKService )
And the main source code:
#include <occutils/Primitive.hxx> #include <occutils/STEPExport.hxx> #include <vector> using namespace OCCUtils; int main() { TopoDS_Solid myCube = Primitive::MakeBox(5.0 /* X size */, 7.0 /* Y size */, 9.0 /* Z size */); STEP::ExportSTEP(myCube, "out.step"); }
Now we can configure & build using
cmake . make
When running the program using
./mkbox
we see the following debug output:
******************************************************************* ****** Statistics on Transfer (Write) ****** ******************************************************************* ****** Transfer Mode = 0 I.E. As Is ****** ****** Transferring Shape, ShapeType = 2 ****** ** WorkSession : Sending all data Step File Name : out.step(350 ents) Write Done
and mkbox
will generate out.step
which you can open, for example, in FreeCAD to view the generated STEP file: