a663d86a9e
- nuova libreria Optalog 2021.
60 lines
2.0 KiB
C
60 lines
2.0 KiB
C
#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_ */
|