Compare commits

...

28 Commits

Author SHA1 Message Date
Daniele Bariletti 73fa43d0dc Include :
- aggiunto argomento alla ExeTrimmingGetToolOrientationLines.
2026-05-22 10:45:22 +02:00
Daniele Bariletti 3593d770ef Include :
- aggiunta gestione dell'ordine delle curve di bordo nella TrimmingGetToolOrientationLines .
2026-05-19 17:29:33 +02:00
Daniele Bariletti 67ebd35a0e Merge branch 'master' into 5AxTrimming 2026-05-19 16:42:51 +02:00
Daniele Bariletti 5f233a571d Include :
- aggiunta funzione per copiare le info da un oggetto ad un altro.
2026-05-19 16:42:40 +02:00
Riccardo Elitropi 8fdc7dd552 Include (5AxTrimming) :
- prima versione per Linee di Orientamento utensile.
2026-05-15 18:02:35 +02:00
Dario Sassi bcf2cee00b Include :
- aggioramento prototipi.
2026-05-15 11:43:52 +02:00
Riccardo Elitropi 6857a19789 Include :
- In EGkCalcPocketing aggiunto parametro a CalcPocketing per ToolCompensation
- om EMkMachiningGeoConst aggiunta Info "TRC".
2026-05-14 15:29:47 +02:00
SaraP 5a3661a61d Include :
- aggiornamento prototipi.
2026-05-12 15:08:50 +02:00
Riccardo Elitropi 5b7e1a4702 Include :
- in CalcPocketing aggiunto flag per Conventional Milling.
2026-05-11 10:05:34 +02:00
Daniele Bariletti fa9976ddfb Include :
- esposta funzione per trovare il punto corrispondente sulla seconda curva di una coppia di curve da sincronizzare.
2026-05-08 17:23:39 +02:00
Daniele Bariletti 93d6077de6 Include :
- aggiunto enum per trimming
- aggiunto argomento a RegolarizeLocally
2026-05-07 11:28:20 +02:00
Dario Sassi 513ab88c6e Include :
- aggiornamento codice di protezione mansile delle librerie
2026-05-05 09:07:33 +02:00
Riccardo Elitropi 02208b5259 Include :
- in MachiningGeoConst aggiunta costante MCH_HOME.
2026-04-30 16:37:53 +02:00
Daniele Bariletti de9e442be8 Include :
- modifiche alla chiamata di ModifyJoint.
- cambio nome alla ModifySingleCurve.
2026-04-28 11:06:55 +02:00
Riccardo Elitropi 3d3b0a569c Include :
- In EGkCalcPocketing aggiunto prototipo per svuotature di fori.
2026-04-28 11:02:55 +02:00
Daniele Bariletti 903d20744c Include :
- aggiunte funzioni di utilità per le CurveComposite.
2026-04-27 14:59:09 +02:00
Daniele Bariletti cf26040cc5 Merge branch 'master' of https://gitlab.steamware.net/egalware-cadcam/libreriebase/Include 2026-04-22 16:45:36 +02:00
Daniele Bariletti 082a2831df Include :
- aggiornamento prototipi.
2026-04-22 16:45:28 +02:00
Riccardo Elitropi 717267e832 Include :
- modifica alla costante per nome entità CamData in Drilling in Doppio in Parallelo.
2026-04-22 13:11:56 +02:00
Daniele Bariletti abd033342b Include :
- aggiunte funzioni per la regolarizzazione dei bordi di una surf di trimming.
-
2026-04-21 15:08:56 +02:00
Dario Sassi 7b3aeb6c4c Include :
- aggiornamento prototipi.
2026-04-19 10:52:31 +02:00
Dario Sassi 707e8f089a Include :
- aggiornamento prototipi.
2026-04-15 08:55:04 +02:00
Daniele Bariletti f91035138c Include :
- aggiunte funzioni per la creazione di smooth ruled bezier.
2026-04-10 18:18:30 +02:00
Dario Sassi f5fb14805b Include :
- aggiornamento prototipi.
2026-04-08 19:23:15 +02:00
Dario Sassi e587f78c21 Include :
- aggiornamento codice di protezione mansile delle librerie.
2026-04-01 10:23:29 +02:00
Riccardo Elitropi 32fecb707c Include :
- in CalcPocketing aggiunti parametri per gestione lucidature.
2026-03-31 18:50:52 +02:00
Daniele Bariletti 707c01e3e3 Include :
- aggiunta funzione di utilità per le bezier.
2026-03-31 16:20:24 +02:00
Riccardo Elitropi 27095ab86b Merge commit 'a11da73e368f70969ffdd3e8d3acc6988ff6aa06' 2026-03-31 14:33:00 +02:00
12 changed files with 91 additions and 43 deletions
+24 -12
View File
@@ -25,10 +25,15 @@
#endif
//-----------------------------------------------------------------------------
EGK_EXPORT bool CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dRadOffs, double dStep,
// Per calcolo percorso di Svuotatura o di Lucidatura
EGK_EXPORT bool CalcPocketing( const ISurfFlatRegion* pSfr, double dRad, double dRadialOffs, double dStep,
double dAngle, double dOpenMinSafe, int nType, bool bSmooth, bool bCalcUnclReg, bool bInvert, bool bAvoidOpt,
bool bAllowZigZagOneWayBorders, bool bCalcFeed, const Point3d& ptEndPrec, const ISurfFlatRegion* pSfrLimit,
bool bAllOffs, double dMaxOptSize, double dLiTang, int nLiType, ICRVCOMPOPOVECTOR& vCrv) ;
bool bConventionalMilling, bool bAllowZigZagOneWayBorders, bool bCalcFeed, const Point3d& ptEndPrec,
const ISurfFlatRegion* pSfrLimit, bool bAllOffs, double dMaxOptSize,
int nLiType, double dLiTang, double dLiElev, int nLoType, double dLoTang,
bool bPolishing, double dEpicyclesRad, double dEpicyclesDist, bool bContour, ICRVCOMPOPOVECTOR& vCrv) ;
EGK_EXPORT bool IsPocketingHole( const ISurfFlatRegion* pSfr, double dRad, double dRadialOffs, double dStep, int nType,
int nLiType, double dLiTang, double dRatioSfrTool) ;
EGK_EXPORT bool CalcSmoothCurve( ICurveComposite* pCrv, double dRightLen, double dLeftLen, bool bAsParam) ;
EGK_EXPORT bool CalcZigZagInfill( const ISurfFlatRegion* pSfr, double dStep, bool bSmooth, bool bRemoveOverlapLink,
ICRVCOMPOPOVECTOR& vCrvCompoRes) ;
@@ -52,31 +57,32 @@ enum {
// Definizione di curva invalida
enum {
TEMP_PROP_INVALID = - 1
TEMP_PROP_INVALID = -1
} ;
// Definizione curva di raccordo per smussi
enum {
TEMP_PROP_SMOOTH = - 2
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,
TEMP_PROP_OPT_CIRCLE = - 9
TEMP_PROP_SINGLE_CURVE = -3,
TEMP_PROP_OPT_TRAPEZOID = -4,
TEMP_PROP_BORDER_CURVE = -5,
TEMP_PROP_OPT_CIRCLE = -9,
TEMP_PROP_CONTOUR_BORDER = -10
} ;
// Definizione tipo di curva per entrate da fuori
enum {
TEMP_PROP_OUT_START = - 6
TEMP_PROP_OUT_START = -6
} ;
// Definizione di curva attiva/non attiva
enum {
TEMP_PROP_CURVE_ACTIVE = - 7,
TEMP_PROP_CURVE_INACTIVE = - 8
TEMP_PROP_CURVE_ACTIVE = -7,
TEMP_PROP_CURVE_INACTIVE = -8
} ;
// Definizione tipo LeadIn
@@ -86,3 +92,9 @@ enum {
LEAD_IN_ZIGZAG = 2,
LEAD_IN_HELIX = 3
} ;
// Definizione tipo LeadOut
enum {
LEAD_OUT_NONE = 0,
LEAD_OUT_GLIDE = 1
} ;
+12 -6
View File
@@ -45,7 +45,7 @@ struct CNurbsData
CNurbsData( void) : nDeg( 0), bRat( false), bPeriodic( false), bClosed( false), bClamped( true), bExtraKnotes(false) {}
} ;
// N.B. : in caso la curva sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma OMOGENEA è [ w*x, w*y, w*z, w])
// N.B. : in caso la curva sia razionale i punti di controllo sono in forma NON OMOGENEA [ x, y, z, w] ( dove la forma OMOGENEA [ w*x, w*y, w*z, w])
// tutte le operazioni richiedono la forma OMOGENEA, finite le quali posso riportarmi alla forma NON OMOGENEA
//----------------------------------------------------------------------------
@@ -65,7 +65,7 @@ EGK_EXPORT ICurve* ArcToBezierCurve( const ICurveArc* pArc, int nDeg = 3, bool b
EGK_EXPORT ICurve* CompositeToBezierCurve( const ICurveComposite* pCrv, int nDeg = 3, bool bMakeRatOrNot = false) ;
//----------------------------------------------------------------------------
//! Trasforma una curva bezier in una nuova curva di Bezier semplice o composta della razionalità e grado desiderato ( minimo 3)
//! Trasforma una curva bezier in una nuova curva di Bezier semplice o composta della razionalit e grado desiderato ( minimo 3)
EGK_EXPORT ICurve* EditBezierCurve( const ICurveBezier* pCrv, int nDeg = 3, bool bMakeRatOrNot = false, double dTol = 10 * EPS_SMALL) ;
//----------------------------------------------------------------------------
@@ -77,11 +77,11 @@ EGK_EXPORT ICurve* ApproxBezierWithCubics( const ICurve* pCrv, double dTol) ;
EGK_EXPORT ICurveBezier* ApproxArcCurveBezierWithSingleCubic( const ICurve* pCrv, const Point3d& ptCen, const Vector3d& vtN) ;
//----------------------------------------------------------------------------
//! Campiona una serie di punti dalla curva e li approssima con una o più curve di bezier
EGK_EXPORT ICurve* ApproxCurveWithBezier( const ICurve* pCrv, double dTol) ;
//! Campiona una serie di punti dalla curva e li approssima con una o pi curve di bezier
EGK_EXPORT ICurve* ApproxCurveWithBezier( const ICurve* pCrv, double dTol, const Vector3d& vtStart = V_NULL, const Vector3d& vtEnd = V_NULL) ;
//----------------------------------------------------------------------------
//! Interpola un set di punti e li approssima con una o più curve di bezier cubiche
//! Interpola un set di punti e li approssima con una o pi curve di bezier cubiche
EGK_EXPORT ICurve* InterpolatePointSetWithBezier( const PNTVECTOR& vPnt, double dLinTol, double dMaxLen) ;
//----------------------------------------------------------------------------
@@ -169,5 +169,11 @@ EGK_EXPORT bool CalcFatOffsetCurves( const ICURVEPVECTOR& vpCrvs, ICURVEPOVECTOR
//! Resetta l'oggetto voronoi associato alla curva liberandone la memoria
EGK_EXPORT void ResetCurveVoronoi( const ICurve& crvC) ;
//----------------------------------------------------------------------------
//! fa il join delle curve passate in input
EGK_EXPORT bool GetChainedCurves( ICRVCOMPOPOVECTOR& vCrv, double dChainTol = 5 * EPS_SMALL, bool bAllowInvert = false) ;
EGK_EXPORT bool GetChainedCurves( ICRVCOMPOPOVECTOR& vCrv, double dChainTol = 5 * EPS_SMALL, bool bAllowInvert = false) ;
//----------------------------------------------------------------------------
//! dato un punto su una curva trova il corrispondente sulla seconda curva
EGK_EXPORT bool GetIsoPointOnSecondCurve( const ICurve* pCrv1, const ICurve* pCrv2, double dUCurr1, double& dUCurr2, double dMyDist, double dUPrev2,
double dLenPrev2, double& dLenCurr2, double dLen2) ;
+2
View File
@@ -50,6 +50,7 @@ class __declspec( novtable) ICurveComposite : public ICurve
virtual bool AddArcTg( const Point3d& ptNew, bool bEndOrStart = true) = 0 ;
virtual bool AddJoint( double dU) = 0 ;
virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint) = 0 ;
virtual bool ModifyJoint( int nU, const Point3d& ptNewJoint, double dTol) = 0 ;
virtual bool RemoveJoint( int nU) = 0 ;
virtual bool MoveCurve( int nCrv, const Vector3d& vtMove) = 0 ;
virtual bool ModifyCurveToArc( int nCrv, const Point3d& ptMid) = 0 ;
@@ -71,6 +72,7 @@ class __declspec( novtable) ICurveComposite : public ICurve
virtual bool SetCurveTempParam( int nCrv, double dParam, int nParamInd = 0) = 0 ;
virtual bool GetCurveTempParam( int nCrv, double& dParam, int nParamInd = 0) const = 0 ;
virtual bool GetOnlyPoint( Point3d& ptStart) const = 0 ;
virtual bool ReplaceSingleCurve( int nSubCrv, ICurve* pNewCurve, double dTolStartEnd, double dTolAlong = INFINITO) = 0 ;
} ;
//-----------------------------------------------------------------------------
+10 -10
View File
@@ -1,7 +1,7 @@
//----------------------------------------------------------------------------
// EgalTech 2023-2023
// EgalTech 2023-2026
//----------------------------------------------------------------------------
// File : EGkProjectCurveSurfTm.h Data : 31.08.23 Versione : 2.5h3
// File : EGkProjectCurveSurfTm.h Data : 14.04.26 Versione : 3.1d3
// Contenuto : Dichiarazione funzioni proiezione curve su superficie Trimesh.
//
//
@@ -50,15 +50,15 @@ typedef std::vector<Point5ax> PNT5AXVECTOR ; // vettore di Punti 5assi
// Proiezione di una curva su una o più superfici a distanza minima
EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vpSurf,
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici lungo la direzione data
// Proiezione di una curva su una o più superfici lungo la direzione data (da o verso)
EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vpSurf, const Vector3d& vtDir,
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione del punto
double dLinTol, double dMaxSegmLen, bool bSharpEdges, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione del punto (da o verso)
EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vpSurf, const IGeoPoint3d& gpRef,
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione della curva
double dLinTol, double dMaxSegmLen, bool bSharpEdges, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione della curva (da o verso)
EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vpSurf, const ICurve& crRef,
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione della superficie
double dLinTol, double dMaxSegmLen, bool bSharpEdges, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
// Proiezione di una curva su una o più superfici in direzione della superficie (da o verso)
EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vpSurf, const ISurf& sfRef,
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax) ;
double dLinTol, double dMaxSegmLen, bool bSharpEdges, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
+1
View File
@@ -44,6 +44,7 @@ EGK_EXPORT ISurfBezier* GetSurfBezierByScrewing( const ICurve* pCurve, const Poi
//EGK_EXPORT ISurfBezier* GetSurfBezierTransSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuledSmooth( const ICurve* pCurve1, const ICurve* pCurve2, BIPNTVECTOR& vSyncLines, double dSampleLen = 10) ;
EGK_EXPORT ISurfBezier* GetSurfBezierRuledGuided( const ICurve* pCurve1, const ICurve* pCurve2, const BIPNTVECTOR& vCrv, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierSkinned( const CICURVEPVECTOR& vCrv, double dLinTol = 10 * EPS_SMALL) ;
EGK_EXPORT ISurfBezier* GetSurfBezierSweptInPlane( const ICurve* pSect, const ICurve* pGuide, const Vector3d& vtNorm, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
+3
View File
@@ -103,6 +103,9 @@ class __declspec( novtable) ISurfBezier : public ISurf
virtual bool CreateBySetOfCurves( const ICURVEPOVECTOR& vCrvBez, bool bReduceToDeg3 = true) = 0 ;
virtual bool RemoveCollapsedSpans() = 0 ;
virtual PNTVECTOR GetAllControlPoints( void) const = 0 ;
virtual bool LimitSurfToTrimmedRegion( void) = 0 ;
virtual bool CreateSmoothRuledByTwoCurves( const ICurve* pCurve0, const ICurve* pCurve1, double dSampleLen) = 0 ;
virtual bool CreateSmoothRuledByTwoCurves( const ICurve* pCurve0, const ICurve* pCurve1, double dSampleLen, BIPNTVECTOR& vSyncLines) = 0 ;
} ;
//-----------------------------------------------------------------------------
+5
View File
@@ -30,6 +30,9 @@
typedef std::vector<ISURFPOVECTOR> ISURFPOMATRIX ;
typedef std::vector<ICRVCOMPOPOVECTOR> ICRVCOMPOPOMATRIX ;
enum RegolarizeType { STD = 0, // standard, con modifiche dirette ai punti di controllo
RMF = 1}; // ricostruendo le curve usando il rotation minimizing frame
//-----------------------------------------------------------------------------
EGK_EXPORT bool GetTrimmingStmAdjTria( const ISurfTriMesh* pStm, int nStartTria, const Point3d& ptStartTria,
double dAngTol, double dSize, double dSizeTol, ISurfTriMesh* pStmAdjTria) ;
@@ -56,3 +59,5 @@ EGK_EXPORT bool GetTrimmingSyncInterpolation( const ICurve* pCrvEdge1, const ICu
EGK_EXPORT bool GetTrimmingHoleBorders( const CISURFPVECTOR& vpSurf, const Point3d& ptRef, double dSurfLinTol,
double dSurfAngTol, double dEdgeLinTol, double dEdgeAngTol,
double dEdgeThick, ICRVCOMPOPOVECTOR& vHoleBorders) ;
EGK_EXPORT ISurfBezier* RegolarizeBordersLocally( const ISurfBezier* pSurfBz, const BIPOINT& bpIsoStart,
const BIPOINT& bpIsoEnd, double dTol, int nType = RegolarizeType::STD) ;
+1
View File
@@ -1036,6 +1036,7 @@ EIN_EXPORT BOOL __stdcall EgtSetGridGeoAdv( double dSnapStep, int nMinLineSstep,
EIN_EXPORT BOOL __stdcall EgtSetGridColor( const int nMinCol[4], const int nMajCol[4]) ;
EIN_EXPORT BOOL __stdcall EgtResize( int nW, int nH) ;
EIN_EXPORT BOOL __stdcall EgtDraw( void) ;
EIN_EXPORT BOOL __stdcall EgtRedraw( void) ;
EIN_EXPORT BOOL __stdcall EgtSelect( int nWinX, int nWinY, int nSelW, int nSelH, int* pnSel) ;
EIN_EXPORT BOOL __stdcall EgtSetObjFilterForSelWin( BOOL bZerodim, BOOL bCurve, BOOL bSurf, BOOL bVolume, BOOL bExtra) ;
EIN_EXPORT BOOL __stdcall EgtUnselectableAdd( int nId) ;
+4 -3
View File
@@ -85,6 +85,7 @@ class __declspec( novtable) IMachMgr
virtual int GetNextRawPart( int nId) const = 0 ;
virtual bool IsRawPart( int nId) const = 0 ;
virtual int AddRawPart( const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ;
virtual int AddRawPart( int nCrvSrfId, double dOverMat, Color cCol) = 0 ;
virtual int AddRawPartWithPart( int nPartId, int nCrvSrfId, double dOverMat, Color cCol) = 0 ;
virtual bool ModifyRawPart( int nRawId, const Point3d& ptOrig, double dLen, double dWidth, double dHeight, Color cCol) = 0 ;
virtual bool ModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dHeight, Color cCol) = 0 ;
@@ -290,9 +291,9 @@ class __declspec( novtable) IMachMgr
virtual bool GetClEntAxesStatus( int nEntId, int& nStatus) const = 0 ;
virtual bool GetClEntAxesMask( int nEntId, int& nMask) const = 0 ;
virtual bool GetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) const = 0 ;
virtual bool GetClEntTDir( int nEntId, Vector3d& vTDir) const = 0 ;
virtual bool GetClEntCDir( int nEntId, Vector3d& vCDir) const = 0 ;
virtual bool GetClEntADir( int nEntId, Vector3d& vADir) const = 0 ;
virtual bool GetClEntTDir( int nEntId, Vector3d& vtTDir) const = 0 ;
virtual bool GetClEntCDir( int nEntId, Vector3d& vtCDir) const = 0 ;
virtual bool GetClEntADir( int nEntId, Vector3d& vtADir) const = 0 ;
// Simulation
virtual bool SimInit( void) = 0 ;
virtual bool SimStart( bool bFirst) = 0 ;
+6 -1
View File
@@ -37,6 +37,7 @@ static std::string MCH_ST = "ST" ;
static std::string MCH_ST_DBL = "STDBL" ;
static std::string MCH_CL = "CL" ;
static std::string MCH_DBL = "DBL" ;
static std::string MCH_HOME = "HOME" ;
static std::string MCH_PATH = "P" ;
// Nomi di entità CL speciali
static std::string MCH_CL_CLIMB = "CLIMB" ;
@@ -50,7 +51,7 @@ static std::string MCH_CL_AGB_DWN = "AGBD" ;
static std::string MCH_CL_AGB_IN = "AGBI" ;
static std::string MCH_CL_AGB_OUT = "AGBO" ;
static std::string MCH_CL_AGB_UP = "AGBU" ;
static std::string MCH_CL_DBP = "DBP" ;
static std::string MCH_CL_PARALLEL_DBL = "DBP" ;
// Nomi di entità di preview
static std::string MCH_PV_CUT = "CUT" ;
static std::string MCH_PV_PRE_CUT = "PRC" ;
@@ -114,6 +115,8 @@ static std::string KEY_MMAX = "MMAX" ;
// Chiavi info in gruppo CL per punti assi minimo e massimo di ingombro di tutta la lavorazione
static std::string KEY_MAXMIN = "MAXMIN" ;
static std::string KEY_MAXMAX = "MAXMAX" ;
// Chiave info in gruppo CL per indicare il tipo di catena cinematica
static std::string KEY_KINTYPE = "KINTYPE" ;
// Chiave info in sottogruppo di CL per uscite attivate (per forature con gang drill)
static std::string KEY_DRACEX = "DRACEX" ;
// Chiave info in sottogruppo di testa per abilitarne visualizzazione in Preview (0/1 default)
@@ -121,6 +124,8 @@ static std::string KEY_PREVIEWSHOW = "PreviewShow" ;
// Chiavi info in entità di CL e DBL per riferimenti reciproci
static std::string KEY_DBL_MAIN = "Main" ;
static std::string KEY_CL_DOUBLE = "Double" ;
// Chiavi Info per entità CamData da eseguire in compensazione utensile
static std::string KEY_TRC = "TRC" ; // Tool Radius Compensation
//----------------- Costanti posizione per preview utensile in lavorazione ------
enum MchToolShow { MCH_TPM_CURR = 0,
+22 -10
View File
@@ -571,6 +571,7 @@ EXE_EXPORT bool ExeGetInfo( int nId, const std::string& sKey, STRVECTOR& vsInfo)
EXE_EXPORT bool ExeExistsInfo( int nId, const std::string& sKey) ;
EXE_EXPORT bool ExeRemoveInfo( int nId, const std::string& sKey) ;
EXE_EXPORT bool ExeGetAllInfo( int nId, STRVECTOR& vsInfo) ;
EXE_EXPORT bool ExeCopyAllInfoFrom( int nId, int nSouId) ;
EXE_EXPORT bool ExeSetTextureName( int nId, const std::string& sTxrName) ;
EXE_EXPORT bool ExeSetTextureFrame( int nId, const Frame3d& frTxrRef, int nRefType) ;
EXE_EXPORT bool ExeRemoveTextureData( int nId) ;
@@ -667,14 +668,14 @@ EXE_EXPORT bool ExeMergeCurvesInCurveCompo( int nId, double dLinTol, bool bStart
EXE_EXPORT bool ExeRemoveCurveCompoUndercutOnY( int nId, double dLinTol) ;
EXE_EXPORT bool ExeCurveCompoSetTempProp( int nId, int nCrv, int nProp, int nPropInd = 0) ;
EXE_EXPORT bool ExeCurveCompoSetTempParam( int nId, int nCrv, double dParam, int nParamInd = 0) ;
EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType) ;
EXE_EXPORT bool ExeChainCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType, double dToler = 10 * EPS_SMALL) ;
EXE_EXPORT bool ExeReorderCurvesInGroup( int nGroupId, const Point3d& ptNear, int nRefType, double dToler = 10 * EPS_SMALL) ;
EXE_EXPORT bool ExeProjectCurveOnSurf( int nCurveId, const INTVECTOR& vnSurfId, int nDestGrpId,
double dLinTol, double dMaxSegmLen) ;
EXE_EXPORT bool ExeProjectCurveOnSurfDir( int nCurveId, const INTVECTOR& vnSurfId, const Vector3d& vtProj, int nDestGrpId,
double dLinTol, double dMaxSegmLen, bool bDirFromProj, int nRefType) ;
double dLinTol, double dMaxSegmLen, bool bDirFromProj, bool bFromVsTo, int nRefType) ;
EXE_EXPORT bool ExeProjectCurveOnSurfExt( int nCurveId, const INTVECTOR& vnSurfId, int nGuideId, int nDestGrpId,
double dLinTol, double dMaxSegmLen, bool bDirFromGuide) ;
double dLinTol, double dMaxSegmLen, bool bDirFromGuide, bool bFromVsTo) ;
EXE_EXPORT int ExeCurveGetVoronoi( const INTVECTOR& vIds, int nDestGrpId, int nBound, int* pnCount) ;
EXE_EXPORT int ExeCurveGetMedialAxis( const INTVECTOR& vIds, int nDestGrpId, int nSide, int* pnCount) ;
EXE_EXPORT int ExeCurveGetFatCurve( int nId, int nDestGrpId, double dRad, bool bSquareEnds, bool bSquareMids, int* pnCount) ;
@@ -702,7 +703,6 @@ EXE_EXPORT bool ExeSurfTmRemoveFacet( int nId, int nFacet) ;
EXE_EXPORT bool ExeSurfTmSwapFacets( int nId, int nFacet1, int nFacet2) ;
EXE_EXPORT bool ExeSurfTmRemovePart( int nId, int nPart) ;
EXE_EXPORT bool ExeCutSurfTmPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeCutSurfBzPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeCutSurfTmClosedCurve( int nSurfId, int nCurveId, bool bSaveOnEq) ;
EXE_EXPORT bool ExeSurfTmAdd( int nId1, int nId2, bool bTwoColors = false) ;
EXE_EXPORT bool ExeSurfTmSubtract( int nId1, int nId2, bool bTwoColors = false) ;
@@ -717,13 +717,16 @@ EXE_EXPORT bool ExeSurfTmGetTriaColor( int nId, int nTria, int& nColor) ;
EXE_EXPORT bool ExeSurfTmResetTwoColors( int nId) ;
EXE_EXPORT bool ExeSurfTmSetShowEdges( int nId, bool bShow) ;
EXE_EXPORT bool ExeSurfTmGetShowEdges( int nId, bool& bShow) ;
EXE_EXPORT bool ExeSurfBzTrim( int nId, int nCutterId) ;
EXE_EXPORT bool ExeSurfTmSetSmoothAng( int nId, double dAngDeg) ;
EXE_EXPORT bool ExeSurfTmGetSmoothAng( int nId, double& dAngDeg) ;
EXE_EXPORT bool ExeCutSurfBzPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bSaveOnEq, int nRefType) ;
EXE_EXPORT bool ExeSurfBzTrim( int nId, int nCutterId) ;
// GeomDb Volume Modify
EXE_EXPORT int ExeExplodeVolume( int nId, int* pnCount) ;
EXE_EXPORT bool ExeVolZmapChangeResolution( int nId, int nNewRes) ;
EXE_EXPORT bool ExeVolZmapSetShowEdges( int nId, bool bShow) ;
EXE_EXPORT bool ExeVolZmapGetShowEdges( int nId, bool& bShow) ;
EXE_EXPORT bool ExeRemoveVolZmapPart( int nId, int nPart) ;
EXE_EXPORT bool ExeVolZmapSetStdTool( const INTVECTOR& vIds, const std::string& sToolName,
double dLen, double dDiam, double dCornR, double dCutterH, int nFlag, bool bFirst) ;
@@ -1095,7 +1098,8 @@ EXE_EXPORT int ExeGetFirstRawPart( void) ;
EXE_EXPORT int ExeGetNextRawPart( int nRawId) ;
EXE_EXPORT bool ExeIsRawPart( int nRawId) ;
EXE_EXPORT int ExeAddRawPart( Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ;
EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvId, double dOverMat, Color cCol) ;
EXE_EXPORT int ExeAddRawPartGen( int nCrvSrfId, double dOverMat, Color cCol) ;
EXE_EXPORT int ExeAddRawPartWithPart( int nPartId, int nCrvSrfId, double dOverMat, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPart( int nRawId, Point3d ptOrig, double dLength, double dWidth, double dHeight, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPart( int nRawId, int nCrvId, double dOverMat, double dHeight, Color cCol) ;
EXE_EXPORT bool ExeModifyRawPartSize( int nRawId, double dLength, double dWidth, double dHeight) ;
@@ -1301,9 +1305,9 @@ EXE_EXPORT bool ExeGetClEntFeed( int nEntId, double& dFeed) ;
EXE_EXPORT bool ExeGetClEntAxesStatus( int nEntId, int& nStatus) ;
EXE_EXPORT bool ExeGetClEntAxesMask( int nEntId, int& nMask) ;
EXE_EXPORT bool ExeGetClEntAxesVal( int nEntId, DBLVECTOR& vAxes) ;
EXE_EXPORT bool ExeGetClEntTDir( int nEntId, Vector3d& vTDir) ;
EXE_EXPORT bool ExeGetClEntCDir( int nEntId, Vector3d& vCDir) ;
EXE_EXPORT bool ExeGetClEntADir( int nEntId, Vector3d& vADir) ;
EXE_EXPORT bool ExeGetClEntTDir( int nEntId, Vector3d& vtTDir) ;
EXE_EXPORT bool ExeGetClEntCDir( int nEntId, Vector3d& vtCDir) ;
EXE_EXPORT bool ExeGetClEntADir( int nEntId, Vector3d& vtADir) ;
// Simulation
EXE_EXPORT bool ExeSimInit( void) ;
EXE_EXPORT bool ExeSimStart( bool bFirst) ;
@@ -1401,6 +1405,7 @@ EXE_EXPORT bool ExeSetCameraType( bool bOrthoOrPersp, bool bRedraw) ;
EXE_EXPORT bool ExeSetZoomType( int nMode, bool bRedraw) ;
EXE_EXPORT bool ExeResize( int nW, int nH) ;
EXE_EXPORT bool ExeDraw( void) ;
EXE_EXPORT bool ExeRedraw( void) ;
EXE_EXPORT bool ExeSelect( int nWinX, int nWinY, int nSelW, int nSelH, int* pnSel) ;
EXE_EXPORT bool ExeSetObjFilterForSelWin( bool bZerodim, bool bCurve, bool bSurf, bool bVolume, bool bExtra) ;
EXE_EXPORT bool ExeUnselectableRemove( int nId) ;
@@ -1531,6 +1536,13 @@ EXE_EXPORT bool ExeTrimmingInterpolateSyncLines( int nParentId, int nSync1Id, in
EXE_EXPORT bool ExeTrimmingGetSurfBzSyncPoints( int nParentId, int nEdge1Id, int nEdge2Id, double dLinTol,
double dAngTol, int nLineNbr, bool bShowOnCorners,
int& nFirstId, int& nCount) ;
EXE_EXPORT bool ExeTrimmingGetToolOrientationLines( int nParentId, int nMainEdgeId, int nOtherEdgeId, bool bMainIsFirstBorder, int nSyncLayerId,
int nLineSId, int nLineEId, bool bShorterSide, double dThetaStart, double dPhiStart,
double dThetaEnd, double dPhiEnd, double dInterpLenS, double dInterpLenE, double dLinTol,
int& nInterpStartId, int& nStartId, int& nEndId, int& nInterpEndId) ;
EXE_EXPORT bool Exe5AxTrimmingModifyToolDir( int nCrvId, int nPathId, int nTrimLayId, const INTVECTOR& vnOrientingId, const INTVECTOR& vnOrientingISId,
const INTVECTOR& vnOrientingSId, const INTVECTOR& vnOrientingEId, const INTVECTOR& vnOrientingIEId) ;
EXE_EXPORT bool ExeTrimmingGetHoleBorder( int nParentId, const INTVECTOR& vSurfIds, const INTVECTOR& vOtherSurfIds,
double dSurfLinTol, double dSurfAngTol, double dEdgeLinTol, double dEdgeAngTol,
double dEdgeThick, int& nFirstId, int& nCount) ;
EXE_EXPORT int ExeRegolarizeSurfaceLocally( int nParentId, int nSurfId, int nSyncStartId, int nSyncEndId, double dLinTol, int nType) ;
+1 -1
View File
@@ -27,7 +27,7 @@
//----------------------------------------------------------------------------
const int KEY_BASELIB_PROD = 207 ;
const int KEY_BASELIB_VER = 3103 ;
const int KEY_BASELIB_VER = 3105 ;
const int KEY_BASELIB_LEV = 1 ;
//----------------------------------------------------------------------------