#ifndef CNS_TOOLING_H_ #define CNS_TOOLING_H_ #include "cns.h" #ifdef __cplusplus extern "C" { #endif /** * Add a special tooling contour to the part * Tooling contours on different parts can overlap each other but a tooling contour can not * overlap the standard geometry of another part * A tooling contour can also be nested outside of sheet boundaries * This function can be called multiple times, all the tooling contours added will be unioned */ CNS_EXPORT void CNS_API CNS_AddToolPathToPart(CNS_PartPtr part, unsigned number_of_elements, const CNS_Element * elements); /** * Add a hole in a tooling contour */ CNS_EXPORT void CNS_API CNS_AddHoleInToolPath(CNS_PartPtr part, unsigned number_of_elements, const CNS_Element * elements); /** * Automatically computes a tooling contour that offsets the part externals * and holes of inflate_size distance */ CNS_EXPORT void CNS_API CNS_AddInflatedToolPathToPart(CNS_PartPtr part, double inflate_size); /** * Given a tool trajectory and diameter, automatically computes and add to the part the corresponding * tooling geometry * This function can be called multiple times, all the tooling contours added will be unioned. * Free shape contour can also be added with CNS_AddToolPathToPart */ CNS_EXPORT void CNS_API CNS_AddOpenToolPathToPart(CNS_PartPtr part, CNS_Point origin, unsigned number_of_elements, const CNS_Element * elements, double tool_diameter); /** * By default tool contours are allowed to be nested outside of the sheet * This function lets you define if tools can go out of sheet or not. */ CNS_EXPORT void CNS_API CNS_AllowToolsOutsideSheet(CNS_LaunchingOrderPtr order, int allowed); #ifdef __cplusplus } #endif #endif /* CNS_TOOLING_H_ */