Compare commits
28 Commits
5AxTrimming
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a2c84dc03 | |||
| 22c8a4dd0c | |||
| 951437e836 | |||
| e88b315214 | |||
| 409c28e65a | |||
| 403f7963fe | |||
| a15889c841 | |||
| 190cd9e032 | |||
| c668a261d9 | |||
| 29f7dc30cc | |||
| e044937600 | |||
| a43137a214 | |||
| e6a94e077e | |||
| 6701dbef5c | |||
| e78f76d0e7 | |||
| 333258cb2d | |||
| 4967285c97 | |||
| 015edcaed7 | |||
| 4908b84afc | |||
| dba5445b7a | |||
| 7d180c6e10 | |||
| 216173ca33 | |||
| ce08e8b327 | |||
| 1b322858a5 | |||
| d02ff5a603 | |||
| 8aa1ea9f35 | |||
| 7cf6e9dc0c | |||
| 8e6e110b9a |
+6
-4
@@ -28,7 +28,7 @@
|
||||
// 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 bConventionalMilling, bool bAllowZigZagOneWayBorders, bool bCalcFeed, const Point3d& ptEndPrec,
|
||||
bool bConventionalMilling, bool bAllowZigZagOneWayBorders, bool bOpenOutRaw, 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) ;
|
||||
@@ -50,9 +50,11 @@ enum { POCKET_ZIGZAG = 0,
|
||||
|
||||
// Definizione di lato aperto e lato chiuso
|
||||
enum {
|
||||
TEMP_PROP_CLOSE_EDGE = 0,
|
||||
TEMP_PROP_OPEN_EDGE = 1,
|
||||
TEMP_PROP_OPEN_EDGE_IN_RAW = 2
|
||||
TEMP_PROP_CLOSE_EDGE = 0, // Lato Chiuso
|
||||
TEMP_PROP_OPEN_EDGE = 1, // Lato Aperto
|
||||
TEMP_PROP_OPEN_AS_CLOSE = 2, // Lato Aperto da trattare come Chiuso
|
||||
TEMP_PROP_CLOSE_AS_OPEN = 3, // Lato Chiuso da trattare come Aperto
|
||||
TEMP_PROP_OPEN_EDGE_IN_RAW = 101 // Lato Aperto interno al Grezzo
|
||||
} ;
|
||||
|
||||
// Definizione di curva invalida
|
||||
|
||||
@@ -76,6 +76,7 @@ class __declspec( novtable) ICurve : public IGeoObj
|
||||
virtual bool GetAreaXY( double& dArea) const = 0 ;
|
||||
virtual bool GetArea( Plane3d& plPlane, double& dArea) const = 0 ;
|
||||
virtual bool ApproxWithLines( double dLinTol, double dAngTolDeg, int nType, PolyLine& PL) const = 0 ;
|
||||
virtual bool ApproxWithLimitedLines( double dLinTol, double dAngTolDeg, int nType, double dMaxLen, PolyLine& PL) const = 0 ;
|
||||
virtual bool ApproxWithArcs( double dLinTol, double dAngTolDeg, PolyArc& PA) const = 0 ;
|
||||
virtual bool ApproxWithArcsEx( double dLinTol, double dAngTolDeg, double dLinFea, PolyArc& PA) const = 0 ;
|
||||
virtual ICurve* CopyParamRange( double dUStart, double dUEnd) const = 0 ;
|
||||
|
||||
+1
-1
@@ -171,7 +171,7 @@ 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, bool bHaltOnFork = false) ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//! dato un punto su una curva trova il corrispondente sulla seconda curva
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2015-2015
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkIntersLineCylinder.h Data : 08.06.26 Versione : 3.1f1
|
||||
// Contenuto : Dichiarazione della classe intersezione linea/cilindro.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 08.06.26 DB Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkPoint3d.h"
|
||||
#include "/EgtDev/Include/EGkVector3d.h"
|
||||
#include "/EgtDev/Include/EGkFrame3d.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
|
||||
|
||||
// restituisce true se trova delle soluzioni, altrimenti false
|
||||
//-----------------------------------------------------------------------------
|
||||
EGK_EXPORT bool IntersLineCyl( const Point3d& ptLineSt, const Vector3d& vtLineDir, const Frame3d& CylFrame, double dH, double dRad,
|
||||
double& dU1, Point3d& ptInt1, Vector3d& vtN1, double& dU2, Point3d& ptInt2, Vector3d& vtN2) ;
|
||||
@@ -0,0 +1,117 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2026
|
||||
//----------------------------------------------------------------------------
|
||||
// File : EGkOffsetCurve3d.h Data : 10.06.26 Versione : 3.1f1
|
||||
// Contenuto : Dichiarazione classe per offset di ICurve, per curve 3d.
|
||||
//
|
||||
//
|
||||
// Modifiche : 10.06.26 DB Creazione modulo.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "/EgtDev/Include/EGkFrame3d.h"
|
||||
#include "/EgtDev/Include/EGkPoint3d.h"
|
||||
#include "/EgtDev/Include/EGkVector3d.h"
|
||||
#include "/EgtDev/Include/EGkPolyLine.h"
|
||||
#include "/EgtDev/Include/EGkCurve.h"
|
||||
#include "/EgtDev/Include/EGkCurveComposite.h"
|
||||
#include "/EgtDev/Include/EGkProjectCurveSurf.h"
|
||||
#include "/EgtDev/Include/EgtPointerOwner.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
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
struct OffsetSegm {
|
||||
PtrOwner<ICurve> pCrv ;
|
||||
int nFlag ; // OffsetCurve3d::AngType
|
||||
int nParent ;
|
||||
OffsetSegm( ICurve* _pCrv, int _nFlag, int _nParent) :
|
||||
nFlag( _nFlag), nParent( _nParent) { pCrv.Set( _pCrv); } ;
|
||||
} ;
|
||||
|
||||
typedef std::vector<OffsetSegm> OFFSETSEGVEC ;
|
||||
|
||||
enum OFFTYPE {
|
||||
GEOM = 0,
|
||||
PLANECUT = 1,
|
||||
};
|
||||
|
||||
struct EditCrvInfo {
|
||||
enum EditFlag {
|
||||
NOEDIT = 0,
|
||||
DEL = 1,
|
||||
EDIT = 2
|
||||
};
|
||||
int nId = -1 ;
|
||||
int nFlag = 0 ;
|
||||
Point3d ptStart = P_INVALID ;
|
||||
Point3d ptEnd = P_INVALID ;
|
||||
EditCrvInfo( int _nId, int _nFlag) : nId( _nId), nFlag( _nFlag) { ;}
|
||||
EditCrvInfo( int _nId, int _nFlag, const Point3d& _ptStart, const Point3d& _ptEnd) :
|
||||
nId( _nId), nFlag( _nFlag), ptStart( _ptStart), ptEnd( _ptEnd) { ;}
|
||||
};
|
||||
|
||||
typedef std::vector<EditCrvInfo> EDITCRVINFOVEC ;
|
||||
|
||||
struct Cyl {
|
||||
Cyl( void): frCyl( GLOB_FRM), dH( 0.), dRad( 0.) {;} ;
|
||||
Cyl( const Frame3d& _frCyl, double _dH, double _dRad, double _dLinTol) :
|
||||
frCyl( _frCyl), dH( _dH), dRad( _dRad) { ;}
|
||||
Cyl( const Point3d& _ptBase, const Vector3d& vtZ, double _dH, double _dRad, double _dLinTol) :
|
||||
dH( _dH), dRad( _dRad){
|
||||
frCyl.Set( _ptBase, vtZ); }
|
||||
public :
|
||||
Frame3d frCyl ;
|
||||
public:
|
||||
double dH ;
|
||||
double dRad ;
|
||||
};
|
||||
|
||||
typedef std::vector<Cyl> CYLVECT ;
|
||||
|
||||
|
||||
EGK_EXPORT bool CalcAdjustConcavePartsInPath( const ICurveComposite* pCrv, const OFFSETSEGVEC& vOffsetCrvs, double dRad, EDITCRVINFOVEC& vEditInfo) ;
|
||||
EGK_EXPORT bool CalcAdjustConcavePartsPlaneCut( const ICurveComposite* pCrv, const PNT5AXVECTOR& vPnt5Ax, const OFFSETSEGVEC& vOffsetCrvs,
|
||||
double dRad, EDITCRVINFOVEC& vEditInfo) ;
|
||||
EGK_EXPORT bool IsPointInsideCylinder( const Point3d& ptTest, const Cyl& offCyl, double dLinTol) ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class OffsetCurve3d
|
||||
{
|
||||
public :
|
||||
enum AngType { ANG_STR = 1 , // angolo piatto ( quindi tratto in continuità col precedente)
|
||||
ANG_CVEX = 2 , // su angolo convesso
|
||||
ANG_CONC = 3 , // in angolo concavo
|
||||
ANG_BEFORE_CONC = 4 , // adiacente ad angolo concavo
|
||||
ANG_AFTER_CONC = 5 , // adiacente ad angolo concavo
|
||||
ANG_SMOOTH_CONC = 6 // zona concava curva, senza spigolo netto
|
||||
};
|
||||
|
||||
public :
|
||||
EGK_EXPORT OffsetCurve3d(): m_dLinTol( 10 * EPS_SMALL) {} ;
|
||||
EGK_EXPORT OffsetCurve3d( double dLinTol) : m_dLinTol( dLinTol) {} ;
|
||||
EGK_EXPORT ~OffsetCurve3d( void) ;
|
||||
|
||||
public :
|
||||
EGK_EXPORT bool Reset( void) ;
|
||||
EGK_EXPORT bool Make( const PNT5AXVECTOR& vPnt5Ax, double dDist, int nType) ;
|
||||
EGK_EXPORT int GetCurveCount( void) { return int( m_CrvLst.size()) ; }
|
||||
EGK_EXPORT ICurve* GetCurve( void) ;
|
||||
EGK_EXPORT ICurve* GetLongerCurve( void) ;
|
||||
EGK_EXPORT ICurve* GetShorterCurve( void) ;
|
||||
EGK_EXPORT double GetLinTol( void) const { return m_dLinTol ; }
|
||||
EGK_EXPORT void SetLinTol( double dTol) { m_dLinTol = dTol ; }
|
||||
|
||||
private :
|
||||
ICURVEPLIST m_CrvLst ;
|
||||
double m_dLinTol ;
|
||||
} ;
|
||||
+1
-1
@@ -108,7 +108,7 @@ class PolyLine
|
||||
EGK_EXPORT bool GetMaxDistanceFromLine( const Point3d& ptLine, const Vector3d& vtLine, double dLen,
|
||||
double& dMaxDist, bool bIsSegment = true) const ;
|
||||
EGK_EXPORT bool AdjustForMaxSegmentLen( double dMaxLen) ;
|
||||
EGK_EXPORT bool RemoveAlignedPoints( double dToler = EPS_SMALL, bool bStartEnd = true) ;
|
||||
EGK_EXPORT bool RemoveAlignedPoints( double dToler = EPS_SMALL, bool bStartEnd = true, double dMaxLen = INFINITO) ;
|
||||
EGK_EXPORT bool ApproxOnSide( const Vector3d& vtN, bool bLeftSide, double dToler = EPS_SMALL) ;
|
||||
EGK_EXPORT bool MakeConvex( const Vector3d& vtN, bool bLeftSide) ;
|
||||
EGK_EXPORT bool Invert( bool bInvertU = true) ;
|
||||
|
||||
+16
-1
@@ -16,6 +16,7 @@
|
||||
#include "/EgtDev/Include/EGkGeoPoint3d.h"
|
||||
#include "/EgtDev/Include/EGkCurve.h"
|
||||
#include "/EgtDev/Include/EGkSurf.h"
|
||||
#include "/EgtDev/Include/EGkSurfTriMesh.h"
|
||||
|
||||
//----------------------- Macro per import/export ----------------------------
|
||||
#undef EGK_EXPORT
|
||||
@@ -25,6 +26,17 @@
|
||||
#define EGK_EXPORT __declspec( dllimport)
|
||||
#endif
|
||||
|
||||
enum P5AxAng { // Tipologia di punto
|
||||
P5AX_TO_DELETE = -1 , // da cancellare
|
||||
P5AX_OUT = 0 , // aggiunto prima di inizio o dopo fine
|
||||
P5AX_STD = 1 , // standard
|
||||
P5AX_CVEX = 2 , // su angolo convesso
|
||||
P5AX_CONC = 3 , // in angolo concavo
|
||||
P5AX_BEFORE_CONC = 4 , // adiacente ad angolo concavo
|
||||
P5AX_AFTER_CONC = 5 , // adiacente ad angolo concavo
|
||||
P5AX_SMOOTH_CONC = 6 // zona concava curva, senza spigolo netto
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Definizione di Punto 5assi e sue raccolte
|
||||
struct Point5ax {
|
||||
@@ -49,7 +61,7 @@ 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) ;
|
||||
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax, bool bNormOrTang = true) ;
|
||||
// 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, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
|
||||
@@ -62,3 +74,6 @@ EGK_EXPORT bool ProjectCurveOnSurf( const ICurve& crCrv, const CISURFPVECTOR& vp
|
||||
// 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, bool bFromVsTo, PNT5AXVECTOR& vPt5ax) ;
|
||||
// Proiezione di una curva su una o più superfici in direzione della superficie (da o verso)
|
||||
EGK_EXPORT bool GetCurveOnSurfInfo( const ICurve& crCrv, const ISurfTriMesh& pSurf,
|
||||
double dLinTol, double dMaxSegmLen, bool bSharpEdges, PNT5AXVECTOR& vPt5ax, bool bNormOrTang = true) ;
|
||||
+36
-2
@@ -46,14 +46,28 @@ typedef std::vector<SelData> SELVECTOR ; // vettore di SelData
|
||||
typedef std::list<SelData> SELLIST ; // lista di SelData
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Conversione di SelData da e verso stringhe
|
||||
// Conversione di SelData da e verso stringhe (Id,Sub)
|
||||
inline bool FromString( const std::string& sVal, SelData& Val)
|
||||
{ return FromString( sVal, Val.v) ; }
|
||||
inline const std::string ToString( const SelData& Val, int nPrec = 1)
|
||||
{ return ToString( Val.v, nPrec) ; }
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Conversione di vettori di SelData da e verso stringhe
|
||||
// Conversione di SelData da e verso stringhe utente (Id:Sub oppure Id)
|
||||
inline bool FromUiString( const std::string& sVal, SelData& Val)
|
||||
{ std::string sId , sSub ;
|
||||
SplitFirst( sVal, ":", sId, sSub) ;
|
||||
Val = { GDB_ID_NULL, SEL_SUB_ALL} ;
|
||||
FromString( sSub, Val.nSub) ;
|
||||
return FromString( sId, Val.nId) ; }
|
||||
inline const std::string ToUiString( const SelData& Val, int nPrec = 1)
|
||||
{ if ( Val.nSub != SEL_SUB_ALL)
|
||||
return ToString( Val.nId, nPrec) + ":" + ToString( Val.nSub, nPrec) ;
|
||||
else
|
||||
return ToString( Val.nId, nPrec) ; }
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Conversione di vettori di SelData da e verso stringhe (Id1,Sub1,Id2,Sub2,...)
|
||||
inline bool FromString( const std::string& sVal, SELVECTOR& vVal)
|
||||
{ INTVECTOR vI ;
|
||||
if ( ! FromString( sVal, vI) || ( vI.size() % 2) != 0)
|
||||
@@ -69,3 +83,23 @@ inline const std::string ToString( const SELVECTOR& vVal, int nPrec = 1)
|
||||
if ( ! sDest.empty())
|
||||
sDest.pop_back() ;
|
||||
return sDest ; }
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Conversione di vettori di SelData da e verso stringhe utente (Id1:Sub1,Id2,...)
|
||||
inline bool FromUiString( const std::string& sVal, SELVECTOR& vVal)
|
||||
{ STRVECTOR vsTokens ;
|
||||
Tokenize( sVal, ",", vsTokens) ;
|
||||
vVal.reserve( vsTokens.size()) ;
|
||||
for ( const auto& sToken : vsTokens) {
|
||||
SelData Val ;
|
||||
if ( FromUiString( sToken, Val))
|
||||
vVal.emplace_back( Val) ;
|
||||
}
|
||||
return true ; }
|
||||
inline const std::string ToUiString( const SELVECTOR& vVal, int nPrec = 1)
|
||||
{ std::string sDest ; sDest.reserve( 2 * 8 * vVal.size()) ;
|
||||
for ( const auto& Val : vVal)
|
||||
sDest += ToUiString( Val, nPrec) + "," ;
|
||||
if ( ! sDest.empty())
|
||||
sDest.pop_back() ;
|
||||
return sDest ; }
|
||||
|
||||
@@ -48,3 +48,5 @@ EGK_EXPORT ISurfTriMesh* GetSurfTriMeshSwept( const ISurfFlatRegion* pSfrSect, c
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshTransSwept( const ICurve* pSect, const ICurve* pGuide, bool bCapEnds, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshRuled( const Point3d& ptP, const ICurve* pCurve, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfTriMeshRuled( const ICurve* pCurve1, const ICurve* pCurve2, int nType, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfExtension( const ISurfTriMesh* pSrfTM, double dExtLen, int nLoop, int nSubCrv, int nType, double dLinTol) ;
|
||||
EGK_EXPORT ISurfTriMesh* GetSurfExtensionFromMany( CISURFPVECTOR vpSurf, double dExtLen, const ICurve* pCrv, ICurve*& pOffEdge, int nType, double dLinTol) ;
|
||||
|
||||
@@ -32,6 +32,7 @@ class __declspec( novtable) ISurfFlatRegion : public ISurf
|
||||
virtual bool AddExtLoop( ICurve* pCrv) = 0 ;
|
||||
virtual bool AddIntLoop( const ICurve& cCrv) = 0 ;
|
||||
virtual bool AddIntLoop( ICurve* pCrv) = 0 ;
|
||||
virtual bool Cut( const Plane3d& plPlane) = 0 ;
|
||||
virtual bool Add( const ISurfFlatRegion& Other) = 0 ;
|
||||
virtual bool Subtract( const ISurfFlatRegion& Other) = 0 ;
|
||||
virtual bool Intersect( const ISurfFlatRegion& Other) = 0 ;
|
||||
|
||||
+2
-2
@@ -88,8 +88,8 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
|
||||
virtual bool GetTriangleSmoothNormals( int nId, TriNormals3d& TNrms) const = 0 ;
|
||||
virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ;
|
||||
virtual bool GetLoops( POLYLINEVECTOR& vPL) const = 0 ;
|
||||
virtual bool GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR& vPL, bool bAllTria = false) const = 0 ;
|
||||
virtual bool GetSilhouette( const Plane3d& plPlane, double dTol, POLYLINEVECTOR& vPL, bool bAllTria = false) const = 0 ;
|
||||
virtual bool GetSilhouette( const Vector3d& vtDir, double dTol, POLYLINEVECTOR& vPL, bool bAllTria = false, double dLinTol = 100. * EPS_SMALL) const = 0 ;
|
||||
virtual bool GetSilhouette( const Plane3d& plPlane, double dTol, POLYLINEVECTOR& vPL, bool bAllTria = false, double dLinTol = 100. * EPS_SMALL) const = 0 ;
|
||||
virtual int GetFacetCount( void) const = 0 ;
|
||||
virtual int GetFacetSize( void) const = 0 ;
|
||||
virtual int GetFacetFromTria( int nT) const = 0 ;
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ class __declspec( novtable) IVolZmap : public IGeoObj
|
||||
virtual bool Create( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateEmpty( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dStep, bool bTriDex, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0, int* nError = nullptr) = 0 ;
|
||||
virtual bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0, int* nError = nullptr, bool bForceClosed = false) = 0 ;
|
||||
virtual int GetBlockCount( void) const = 0 ;
|
||||
virtual int GetBlockUpdatingCounter( int nBlock) const = 0 ;
|
||||
virtual bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const = 0 ;
|
||||
|
||||
@@ -872,6 +872,8 @@ EIN_EXPORT int __stdcall EgtGetCurrSetup( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtImportSetup( const wchar_t* wsName) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtUpdateCurrSetup( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtEraseCurrSetup( void) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtVerifyCurrSetup( wchar_t*& wsErrors) ;
|
||||
|
||||
// Machinings DataBase
|
||||
EIN_EXPORT BOOL __stdcall EgtMdbGetMachiningNewName( const wchar_t* wsName, wchar_t*& wsNewName) ;
|
||||
EIN_EXPORT BOOL __stdcall EgtMdbAddMachining( const wchar_t* wsName, int nType) ;
|
||||
|
||||
+5
-5
@@ -301,12 +301,10 @@ enum { SAWROU_HS_LEFT = 1,
|
||||
SAWROU_HS_RIGHT = 2} ;
|
||||
// Tipo di lavorazione a step
|
||||
enum { SAWROU_ST_ZIGZAG = 0,
|
||||
SAWROU_ST_ONEWAY = 1,
|
||||
SAWROU_ST_ZCONST = 2} ;
|
||||
SAWROU_ST_ONEWAY = 1} ;
|
||||
// Tipo di attacco/uscita/link
|
||||
enum { SAWROU_LL_CENT = 0,
|
||||
SAWROU_LL_OUT = 1,
|
||||
SAWROU_LL_INT = 2} ;
|
||||
SAWROU_LL_OUT = 1} ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Parametri per finitura con lama
|
||||
@@ -318,7 +316,9 @@ enum { SAWFIN_ST_ZIGZAG = 0,
|
||||
SAWFIN_ST_ONEWAY = 1} ;
|
||||
// Sottotipo di lavorazione
|
||||
enum { SAWFIN_SUB_ALONG = 0,
|
||||
SAWFIN_SUB_ACROSS = 1} ;
|
||||
SAWFIN_SUB_ACROSS = 1,
|
||||
SAWFIN_SUB_ALONG_5A = 2,
|
||||
SAWFIN_SUB_SECTION = 3} ;
|
||||
// Tipo di attacco/uscita/link
|
||||
enum { SAWFIN_LL_STD = 0,
|
||||
SAWFIN_LL_CENT = 1,
|
||||
|
||||
@@ -27,7 +27,7 @@ static std::string KEY_NUM = "NUM" ;
|
||||
// Chiave per stato di aggiornamento di lavorazione
|
||||
static std::string KEY_STAT = "STAT" ;
|
||||
// Chiave per elenco identificativi non lavorati
|
||||
static std::string KEY_SKIPS = "SKIPS" ;
|
||||
static std::string KEY_SKIPS = "SKIPS" ;
|
||||
// Sottogruppi delle lavorazioni
|
||||
static std::string MCH_AUX = "AUX" ;
|
||||
static std::string MCH_AUXVIEW = "AVIEW" ;
|
||||
@@ -124,8 +124,6 @@ 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,
|
||||
|
||||
+12
-6
@@ -351,6 +351,9 @@ EXE_EXPORT int ExeCreatePolygonFromSide( int nParentId, int nNumSides, const Po
|
||||
const Point3d& ptFin, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateCirclesAlongCurve( int nParentId, int nCrvId, double dOffset, double dOverlap,
|
||||
double dStartAdd, double dEndAdd, double dDiam, int* pnCount) ;
|
||||
EXE_EXPORT int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EXE_EXPORT int ExeCurveGetFatCurve( int nId, int nDestGrpId, double dRad, bool bSquareEnds, bool bSquareMids, int* pnCount) ;
|
||||
EXE_EXPORT int ExeOffsetCurve3d( int nId, int nSurfId, double dDist, int nType, int* pnCount, double dLinTol = 10 * EPS_SMALL) ;
|
||||
|
||||
// GeomDB Create Surf
|
||||
EXE_EXPORT int ExeCreateSurfFlatRegion( int nParentId, const INTVECTOR& vCrvIds, int* pnCount) ;
|
||||
@@ -429,6 +432,10 @@ EXE_EXPORT int ExeCreateSurfBzRuledGuided( int nParentId, int nCrvId1, int nCrv
|
||||
EXE_EXPORT int ExeCreateSurfBzSkinned( int nParentId, const INTVECTOR& nCrvId1, bool bCapEnds, double dLinTol) ;
|
||||
EXE_EXPORT int ExeCreateSurfBzSwept( int nParentId, int nSectId, int nGuideId, const Vector3d& vtAx,
|
||||
bool bCapEnds, double dLinTol, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateSurfExtension( int nParentId, int nSurfId, double dExtLen, int nCrv, int nSubCrv,
|
||||
int nType, double dLinTol) ;
|
||||
EXE_EXPORT int ExeCreateSurfExtensionFromMany( int nParentId, const INTVECTOR& vSurfId, double dExtLen, int nCrvId,
|
||||
bool bDrawOffEdge, int* pnCount, int nType, double dLinTol) ;
|
||||
|
||||
// GeomDB Create Volume
|
||||
EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dDimX,
|
||||
@@ -436,7 +443,7 @@ EXE_EXPORT int ExeCreateVolZmap( int nParentId, const Point3d& ptIni, double dD
|
||||
EXE_EXPORT int ExeCreateVolZmapEmpty( int nParentId, const Point3d& ptIni, double dDimX,
|
||||
double dDimY, double dDimZ, double dPrec, bool bTriDex, int nRefType) ;
|
||||
EXE_EXPORT int ExeCreateVolZmapByRegionExtrusion( int nParentId, int nSfrId, double dDimZ, double dPrec, bool bTriDex) ;
|
||||
EXE_EXPORT int ExeCreateVolZmapFromSurfTm( int nParentId, int nStmId, double dPrec, bool bTriDex, double dExtraBox = 0) ;
|
||||
EXE_EXPORT int ExeCreateVolZmapFromSurfTm( int nParentId, int nStmId, double dPrec, bool bTriDex, double dExtraBox = 0, bool bForceClosed = false) ;
|
||||
|
||||
// GeomDB PartLayer
|
||||
EXE_EXPORT bool ExeIsPart( int nPartId) ;
|
||||
@@ -613,8 +620,6 @@ EXE_EXPORT int ExeSplitText( int nId, int* pnCount) ;
|
||||
// GeomDb Curve Modify
|
||||
EXE_EXPORT bool ExeInvertCurve( const INTVECTOR& vIds) ;
|
||||
EXE_EXPORT bool ExeOffsetCurve( int nId, double dDist, int nType) ;
|
||||
EXE_EXPORT int ExeOffsetCurveAdv( int nId, double dDist, int nType, int* pnCount, double dLinTol = 10 * EPS_SMALL) ;
|
||||
EXE_EXPORT int ExeCurveMedialAxis( int nId) ;
|
||||
EXE_EXPORT bool ExeApproxCurve( int nId, int nApprType, double dLinTol, double dMaxSegmLen = INFINITO) ;
|
||||
EXE_EXPORT bool ExeProjectCurveOnPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, int nRefType) ;
|
||||
EXE_EXPORT bool ExeChangeClosedCurveStart( int nId, double dU) ;
|
||||
@@ -676,9 +681,6 @@ EXE_EXPORT bool ExeProjectCurveOnSurfDir( int nCurveId, const INTVECTOR& vnSurfI
|
||||
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, 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) ;
|
||||
EXE_EXPORT bool ExeCurveBezierIncreaseDegree( int nCrvId) ;
|
||||
EXE_EXPORT bool ExeCurveBezierDecreaseDegree( int nCrvId, double dTol = 100) ;
|
||||
EXE_EXPORT bool ExeCurveBezierApproxToNonRat( int nCrvId, double dTol = 10 * EPS_SMALL) ;
|
||||
@@ -696,6 +698,7 @@ EXE_EXPORT bool ExeSurfFrOffsetAdv( int nId, double dDist, int nType, int& nNewI
|
||||
EXE_EXPORT bool ExeSurfFrEraseChunk( int nId, int nChunk) ;
|
||||
EXE_EXPORT bool ExeSurfFrMoveSimpleNoCollision( int nId1, int nId2, const Vector3d& vtDir, double& dLen, int nRefType) ;
|
||||
EXE_EXPORT bool ExeSurfFrRotateSimpleNoCollision( int nId1, int nId2, const Point3d& ptCen, double& dAngDeg, int nRefType) ;
|
||||
EXE_EXPORT bool ExeCutSurfFrPlane( int nId, const Point3d& ptOn, const Vector3d& vtN, bool bInVsOut, int nRefType) ;
|
||||
EXE_EXPORT bool ExeSurfTmMoveVertex( int nId, int nVert, const Point3d& ptNewVert, int nRefType, bool bUpdate) ;
|
||||
EXE_EXPORT bool ExeSurfTmMoveFacet( int nId, int nFacet, const Vector3d& vtMove, int nRefType, bool bUpdate) ;
|
||||
EXE_EXPORT int ExeSurfTmToTriangles( int nId, int* pnCount) ;
|
||||
@@ -800,6 +803,9 @@ EXE_EXPORT bool ExeCurveCompoGetTempParam( int nId, DBLVECTOR& vParam, int nPara
|
||||
EXE_EXPORT int ExeShowCurveBezierControlPoints( int nCrvId, int nDestGrpId, int* pnCount) ;
|
||||
EXE_EXPORT int ExeCopyCompoSubCurve( int nCrvId, int nSubCrvToCopy, int nDestGrpId) ;
|
||||
EXE_EXPORT int ExeCopyParamRange( int nCrvId, double dUStart, double dUEnd, int nDestGrpId) ;
|
||||
EXE_EXPORT int ExeCurveGetVoronoi( const INTVECTOR& vIds, int nDestGrpId, int nBound, int* pnCount) ;
|
||||
EXE_EXPORT int ExeCurveMedialAxis( int nId) ;
|
||||
EXE_EXPORT int ExeCurveGetMedialAxis( const INTVECTOR& vIds, int nDestGrpId, int nSide, int* pnCount) ;
|
||||
|
||||
// GeomDb Surf Get
|
||||
EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ;
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const int KEY_BASELIB_PROD = 207 ;
|
||||
const int KEY_BASELIB_VER = 3105 ;
|
||||
const int KEY_BASELIB_VER = 3107 ;
|
||||
const int KEY_BASELIB_LEV = 1 ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user