9de2ae9561
- aggiunto parametro a CalcPocketing.
78 lines
2.4 KiB
C
78 lines
2.4 KiB
C
//----------------------------------------------------------------------------
|
|
// EgalTech 2023-2023
|
|
//----------------------------------------------------------------------------
|
|
// File : EGkCalcPocketing.h Data : 16.11.23 Versione : 2.5j1
|
|
// Contenuto : Calcolo dei percorsi elementari di pocketing.
|
|
//
|
|
//
|
|
//
|
|
// Modifiche : 16.11.23 RE Creazione modulo.
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
#include "/EgtDev/Include/EGkCurveComposite.h"
|
|
#include "/EgtDev/Include/EGkSurfFlatRegion.h"
|
|
|
|
//----------------------- Macro per import/export ----------------------------
|
|
#undef EGK_EXPORT
|
|
#if defined( I_AM_EGK) // da definirsi solo nella DLL
|
|
#define EGK_EXPORT __declspec( dllexport)
|
|
#else
|
|
#define EGK_EXPORT __declspec( dllimport)
|
|
#endif
|
|
|
|
//-----------------------------------------------------------------------------
|
|
EGK_EXPORT bool CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dRadOffs, double dStep,
|
|
double dAngle, int nType, bool bSmooth, bool bInvert, bool bAvoidOpt,
|
|
bool bAllowZigZagOneWayBorders, bool bCalcFeed, const Point3d& ptEndPrec, const ISurfFlatRegion* pSfrLimit,
|
|
bool bAllOffs, ICRVCOMPOPOVECTOR& vCrv) ;
|
|
EGK_EXPORT bool CalcZigZagInfill( const ISurfFlatRegion* pSfr, double dStep, bool bSmooth, bool bRemoveOverlapLink,
|
|
ICRVCOMPOPOVECTOR& vCrvCompoRes) ;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Sottotipo di lavorazione
|
|
enum { POCKET_ZIGZAG = 0,
|
|
POCKET_ONEWAY = 1,
|
|
POCKET_SPIRALIN = 2,
|
|
POCKET_SPIRALOUT = 3,
|
|
POCKET_CONFORMAL_ZIGZAG = 4,
|
|
POCKET_CONFORMAL_ONEWAY = 5
|
|
} ;
|
|
|
|
// Definizione di lato aperto e lato chiuso
|
|
enum {
|
|
TEMP_PROP_CLOSE_EDGE = 0,
|
|
TEMP_PROP_OPEN_EDGE = 1
|
|
} ;
|
|
|
|
// Definizione di curva invalida
|
|
enum {
|
|
TEMP_PROP_INVALID = - 1
|
|
} ;
|
|
|
|
// Definizione curva di raccordo per smussi
|
|
enum {
|
|
TEMP_PROP_SMOOTH = - 2
|
|
} ;
|
|
|
|
// Definizione tipo di curva per casi speciali
|
|
enum {
|
|
TEMP_PROP_SINGLE_CURVE = - 3,
|
|
TEMP_PROP_OPT_TRAPEZOID = - 4,
|
|
TEMP_PROP_BORDER_CURVE = - 5,
|
|
} ;
|
|
|
|
// Definizione tipo di curva per entrate da fuori
|
|
enum {
|
|
TEMP_PROP_OUT_START = - 6
|
|
} ;
|
|
|
|
// Definizione di curva attiva/non attiva
|
|
enum {
|
|
TEMP_PROP_CURVE_ACTIVE = - 7,
|
|
TEMP_PROP_CURVE_INACTIVE = - 8
|
|
} ;
|