Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c40a9a64c0 | |||
| 196e037ace | |||
| a6ccda3670 | |||
| a19e0e63a5 | |||
| ad970a39f5 | |||
| 3d7308fbd3 | |||
| f4bb934999 | |||
| 129bff73f0 | |||
| 43eb33cf34 | |||
| 90d548b69d |
+2
-3
@@ -1,7 +1,7 @@
|
|||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// EgalTech 2013-2014
|
// EgalTech 2013-2024
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// File : EGkDistPointCurve.h Data : 02.01.14 Versione : 1.5a1
|
// File : EGkDistPointCurve.h Data : 20.05.24 Versione : 2.6e5
|
||||||
// Contenuto : Dichiarazione della classe distanza punto da Curva.
|
// Contenuto : Dichiarazione della classe distanza punto da Curva.
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@@ -68,7 +68,6 @@ class DistPointCurve
|
|||||||
EGK_EXPORT bool GetMinDistInfo( int nInd, MinDistPCInfo& aInfo) const ;
|
EGK_EXPORT bool GetMinDistInfo( int nInd, MinDistPCInfo& aInfo) const ;
|
||||||
|
|
||||||
private :
|
private :
|
||||||
DistPointCurve( void) ;
|
|
||||||
void LineCalculate( const Point3d& ptP, const ICurve& Curve, bool bIsSegment) ;
|
void LineCalculate( const Point3d& ptP, const ICurve& Curve, bool bIsSegment) ;
|
||||||
void ArcCalculate( const Point3d& ptP, const ICurve& Curve) ;
|
void ArcCalculate( const Point3d& ptP, const ICurve& Curve) ;
|
||||||
void CrvBezierCalculate( const Point3d& ptP, const ICurve& Curve) ;
|
void CrvBezierCalculate( const Point3d& ptP, const ICurve& Curve) ;
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// EgalTech 2013-2024
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// File : EGkDistPointLine.h Data : 20.05.24 Versione : 2.6e5
|
||||||
|
// Contenuto : Dichiarazione della classe distanza punto da linea/segmento.
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Modifiche : 30.12.12 DS Creazione modulo.
|
||||||
|
// 20.05.24 DS Pubblicato in Include.
|
||||||
|
//
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "/EgtDev/Include/EGkPoint3d.h"
|
||||||
|
#include "/EgtDev/Include/EGkCurveLine.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
|
||||||
|
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
class DistPointLine
|
||||||
|
{
|
||||||
|
friend class DistPointCurve ;
|
||||||
|
|
||||||
|
public :
|
||||||
|
EGK_EXPORT DistPointLine( const Point3d& ptP,
|
||||||
|
const ICurveLine& crvLine, bool bIsSegment = true) ;
|
||||||
|
EGK_EXPORT DistPointLine( const Point3d& ptP,
|
||||||
|
const Point3d& ptIni, const Point3d& ptFin, bool bIsSegment = true) ;
|
||||||
|
EGK_EXPORT DistPointLine( const Point3d& ptP,
|
||||||
|
const Point3d& ptIni, const Vector3d& vtDir, double dLen, bool bIsSegment = true) ;
|
||||||
|
|
||||||
|
public :
|
||||||
|
EGK_EXPORT bool GetSqDist( double& dSqDist) const ;
|
||||||
|
EGK_EXPORT bool GetDist( double& dDist) const ;
|
||||||
|
EGK_EXPORT bool IsEpsilon( double dTol) const
|
||||||
|
{ double dSqDist ; return ( GetSqDist( dSqDist) && ( dSqDist < SQ_EPS_ZERO || dSqDist < dTol * dTol)) ; }
|
||||||
|
EGK_EXPORT bool IsSmall( void) const
|
||||||
|
{ return IsEpsilon( EPS_SMALL) ; }
|
||||||
|
EGK_EXPORT bool IsZero( void) const
|
||||||
|
{ return IsEpsilon( EPS_ZERO) ; }
|
||||||
|
EGK_EXPORT int GetNbrMinDist( void) const
|
||||||
|
{ return (( m_dSqDist < 0) ? 0 : 1) ; }
|
||||||
|
EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDist) const ;
|
||||||
|
EGK_EXPORT bool GetParamAtMinDistPoint( double& dParam) const ;
|
||||||
|
|
||||||
|
private :
|
||||||
|
void Calculate( const Point3d& ptP,
|
||||||
|
const Point3d& ptIni, const Vector3d& vtDir, double dLen, bool bIsSegment) ;
|
||||||
|
|
||||||
|
private :
|
||||||
|
double m_dSqDist ;
|
||||||
|
mutable double m_dDist ;
|
||||||
|
double m_dParam ;
|
||||||
|
Point3d m_ptMinDist ;
|
||||||
|
} ;
|
||||||
|
|
||||||
@@ -29,7 +29,8 @@
|
|||||||
// - distanza
|
// - distanza
|
||||||
// - punto sulla superficie a minima distanza
|
// - punto sulla superficie a minima distanza
|
||||||
// - indice del triangolo su cui giace il punto
|
// - indice del triangolo su cui giace il punto
|
||||||
// - indicazione se il punto di riferimento è dalla parte interna o esterna della superficie.
|
// - indicazione se il punto di riferimento è dalla parte interna o esterna della superficie ( se chiusa ).
|
||||||
|
// - indicazione se il punto di riferimento è a destra o sinistra della superficie ( se aperta )
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
class DistPointSurfTm
|
class DistPointSurfTm
|
||||||
{
|
{
|
||||||
@@ -47,6 +48,8 @@ class DistPointSurfTm
|
|||||||
EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ;
|
EGK_EXPORT bool GetMinDistPoint( Point3d& ptMinDistPoint) const ;
|
||||||
EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) const ;
|
EGK_EXPORT bool GetMinDistTriaIndex( int& nMinDistTriaIndex) const ;
|
||||||
EGK_EXPORT bool IsPointInside( void) const
|
EGK_EXPORT bool IsPointInside( void) const
|
||||||
|
{ return ( m_bIsInside && m_bIsSurfClosed) ; }
|
||||||
|
EGK_EXPORT bool IsPointOnLeftSide( void) const
|
||||||
{ return m_bIsInside ;}
|
{ return m_bIsInside ;}
|
||||||
|
|
||||||
private :
|
private :
|
||||||
@@ -57,6 +60,7 @@ class DistPointSurfTm
|
|||||||
Point3d m_ptMinDistPoint ;
|
Point3d m_ptMinDistPoint ;
|
||||||
int m_nMinDistTriaIndex ;
|
int m_nMinDistTriaIndex ;
|
||||||
bool m_bIsInside ;
|
bool m_bIsInside ;
|
||||||
|
bool m_bIsSurfClosed ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
|
|||||||
virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ;
|
virtual ISurfTriMesh* CloneTriangle( int nTria) const = 0 ;
|
||||||
virtual bool GetLoops( POLYLINEVECTOR& vPL) 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 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 int GetFacetCount( void) const = 0 ;
|
virtual int GetFacetCount( void) const = 0 ;
|
||||||
virtual int GetFacetSize( void) const = 0 ;
|
virtual int GetFacetSize( void) const = 0 ;
|
||||||
virtual int GetFacetFromTria( int nT) const = 0 ;
|
virtual int GetFacetFromTria( int nT) const = 0 ;
|
||||||
@@ -124,8 +125,11 @@ class __declspec( novtable) ISurfTriMesh : public ISurf
|
|||||||
virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ;
|
virtual bool GetAllTriaOverlapBox( const BBox3d& b3Box, INTVECTOR& vT) const = 0 ;
|
||||||
virtual const BBox3d& GetAllTriaBox( void) const = 0 ;
|
virtual const BBox3d& GetAllTriaBox( void) const = 0 ;
|
||||||
virtual int GetPartCount( void) const = 0 ;
|
virtual int GetPartCount( void) const = 0 ;
|
||||||
|
virtual int GetShellCount( void) const = 0 ;
|
||||||
virtual bool RemovePart( int nPart) = 0 ;
|
virtual bool RemovePart( int nPart) = 0 ;
|
||||||
|
virtual bool RemoveShell( int nShell) = 0 ;
|
||||||
virtual ISurfTriMesh* ClonePart( int nPart) const = 0 ;
|
virtual ISurfTriMesh* ClonePart( int nPart) const = 0 ;
|
||||||
|
virtual ISurfTriMesh* CloneShell( int nShell) const = 0 ;
|
||||||
virtual bool SetTFlag( int nId, int nTFlag) = 0 ;
|
virtual bool SetTFlag( int nId, int nTFlag) = 0 ;
|
||||||
virtual bool GetTFlag( int nId, int& nFlag) const = 0 ;
|
virtual bool GetTFlag( int nId, int& nFlag) const = 0 ;
|
||||||
virtual int GetMaxTFlag( void) const = 0 ;
|
virtual int GetMaxTFlag( void) const = 0 ;
|
||||||
|
|||||||
+17
-4
@@ -66,7 +66,7 @@ enum MachiningType {
|
|||||||
MT_SURFROUGHING = OPER_SURFROUGHING,
|
MT_SURFROUGHING = OPER_SURFROUGHING,
|
||||||
MT_SURFFINISHING = OPER_SURFFINISHING,
|
MT_SURFFINISHING = OPER_SURFFINISHING,
|
||||||
MT_WATERJETTING = OPER_WATERJETTING,
|
MT_WATERJETTING = OPER_WATERJETTING,
|
||||||
MT_5AXMACHINING = OPER_5AXMACHINING
|
MT_FIVEAXISMILLING = OPER_FIVEAXISMILLING
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@@ -363,6 +363,22 @@ enum { MORTISE_PLUNGE_STEP = 0,
|
|||||||
MORTISE_PLUNGE_START_END = 3,
|
MORTISE_PLUNGE_START_END = 3,
|
||||||
MORTISE_PLUNGE_START_TO_END = 4} ;
|
MORTISE_PLUNGE_START_TO_END = 4} ;
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Parametri per sgrossatura superfici
|
||||||
|
// Sottotipo di lavorazione
|
||||||
|
enum { SURFROU_SUB_ZIGZAG = 0,
|
||||||
|
SURFROU_SUB_ONEWAY = 1,
|
||||||
|
SURFROU_SUB_SPIRALIN = 2,
|
||||||
|
SURFROU_SUB_SPIRALOUT = 3} ;
|
||||||
|
// Tipo di attacco
|
||||||
|
enum { SURFROU_LI_NONE = 0,
|
||||||
|
SURFROU_LI_GLIDE = 1,
|
||||||
|
SURFROU_LI_ZIGZAG = 2,
|
||||||
|
SURFROU_LI_HELIX = 3} ;
|
||||||
|
// Tipo di uscita
|
||||||
|
enum { SURFROU_LO_NONE = 0,
|
||||||
|
SURFROU_LO_GLIDE = 1} ;
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// Parametri per finitura superfici
|
// Parametri per finitura superfici
|
||||||
// Sottotipo di lavorazione
|
// Sottotipo di lavorazione
|
||||||
@@ -374,9 +390,6 @@ enum { SURFFIN_SUB_ZIGZAG = 0,
|
|||||||
enum { SURFFIN_LI_NONE = 0,
|
enum { SURFFIN_LI_NONE = 0,
|
||||||
SURFFIN_LI_LINEAR = 1,
|
SURFFIN_LI_LINEAR = 1,
|
||||||
SURFFIN_LI_TANGENT = 2} ;
|
SURFFIN_LI_TANGENT = 2} ;
|
||||||
// Tipo di link
|
|
||||||
enum { SURFFIN_LL_STD = 0,
|
|
||||||
SURFFIN_LL_CENT = 1} ;
|
|
||||||
// Tipo di uscita
|
// Tipo di uscita
|
||||||
enum { SURFFIN_LO_NONE = 0,
|
enum { SURFFIN_LO_NONE = 0,
|
||||||
SURFFIN_LO_LINEAR = 1,
|
SURFFIN_LO_LINEAR = 1,
|
||||||
|
|||||||
+4
-4
@@ -1,7 +1,7 @@
|
|||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// EgalTech 2015-2023
|
// EgalTech 2015-2024
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
// File : EmkOperationConst.h Data : 06.09.23 Versione : 2.5i1
|
// File : EmkOperationConst.h Data : 22.05.24 Versione : 2.6e5
|
||||||
// Contenuto : Costanti delle operazioni.
|
// Contenuto : Costanti delle operazioni.
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@@ -33,7 +33,7 @@ enum OperType { OPER_NULL = 0, // nulla
|
|||||||
OPER_SURFROUGHING = 0x040000, // sgrossatura superficie
|
OPER_SURFROUGHING = 0x040000, // sgrossatura superficie
|
||||||
OPER_SURFFINISHING = 0x080000, // finitura superficie
|
OPER_SURFFINISHING = 0x080000, // finitura superficie
|
||||||
OPER_WATERJETTING = 0x100000, // taglio water jet
|
OPER_WATERJETTING = 0x100000, // taglio water jet
|
||||||
OPER_5AXMACHINING = 0x200000} ; // lavorazione 5 assi
|
OPER_FIVEAXISMILLING = 0x200000} ; // lavorazione 5 assi
|
||||||
// Controllo tipo valido
|
// Controllo tipo valido
|
||||||
bool inline IsValidDispositionType( int nType)
|
bool inline IsValidDispositionType( int nType)
|
||||||
{
|
{
|
||||||
@@ -53,5 +53,5 @@ bool inline IsValidMachiningType( int nType)
|
|||||||
nType == OPER_SURFROUGHING ||
|
nType == OPER_SURFROUGHING ||
|
||||||
nType == OPER_SURFFINISHING ||
|
nType == OPER_SURFFINISHING ||
|
||||||
nType == OPER_WATERJETTING ||
|
nType == OPER_WATERJETTING ||
|
||||||
nType == OPER_5AXMACHINING) ;
|
nType == OPER_FIVEAXISMILLING) ;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -721,7 +721,7 @@ EXE_EXPORT bool ExeCurveCompoCenter( int nId, int nSimpCrv, int nRefId, Point3d&
|
|||||||
EXE_EXPORT bool ExeCurveCompoRadius( int nId, int nSimpCrv, double& dRad) ;
|
EXE_EXPORT bool ExeCurveCompoRadius( int nId, int nSimpCrv, double& dRad) ;
|
||||||
EXE_EXPORT bool ExeCurveCompoAngCenter( int nId, int nSimpCrv, double& dAngCen) ;
|
EXE_EXPORT bool ExeCurveCompoAngCenter( int nId, int nSimpCrv, double& dAngCen) ;
|
||||||
EXE_EXPORT bool ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vector3d& vtNorm) ;
|
EXE_EXPORT bool ExeCurveCompoNormVersor( int nId, int nSimpCrv, int nRefId, Vector3d& vtNorm) ;
|
||||||
EXE_EXPORT bool ExeShowBezierCurveControlPoints( int nCrvId, int* pnCount) ;
|
EXE_EXPORT int ExeShowCurveBezierControlPoints( int nCrvId, int* pnCount) ;
|
||||||
|
|
||||||
// GeomDb Surf Get
|
// GeomDb Surf Get
|
||||||
EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ;
|
EXE_EXPORT bool ExeSurfArea( int nId, double& dArea) ;
|
||||||
@@ -757,6 +757,8 @@ EXE_EXPORT bool ExeSurfTmFacetOppositeSideEx( int nId, int nFacet, const Vector3
|
|||||||
EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ;
|
EXE_EXPORT bool ExeSurfTmFacetsContact( int nId, int nF1, int nF2, int nRefId, bool& bAdjac, Point3d& ptP1, Point3d& ptP2, double& dAng) ;
|
||||||
EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
|
EXE_EXPORT int ExeExtractSurfTmLoops( int nId, int nDestGrpId, int* pnCount) ;
|
||||||
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount, bool bAllTria = false) ;
|
EXE_EXPORT int ExeGetSurfTmSilhouette( int nId, const Vector3d& vtDir, double dToler, int nDestGrpId, int nRefType, int* pnCount, bool bAllTria = false) ;
|
||||||
|
EXE_EXPORT int ExeGetSurfTmSilhouetteEx( int nId, const Point3d& ptOn, const Vector3d& vtN, double dToler, int nDestGrpId, int nRefType,
|
||||||
|
int* pnCount, bool bAllTria) ;
|
||||||
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
|
EXE_EXPORT int ExeExtractSurfTmFacetLoops( int nId, int nFacet, int nDestGrpId, int* pnCount) ;
|
||||||
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
|
EXE_EXPORT int ExeCopySurfTmFacet( int nId, int nFacet, int nDestGrpId) ;
|
||||||
EXE_EXPORT bool ExeSurfTmGetAllVertInFacet( int nId, int nFacet, INTVECTOR& vVert) ;
|
EXE_EXPORT bool ExeSurfTmGetAllVertInFacet( int nId, int nFacet, INTVECTOR& vVert) ;
|
||||||
|
|||||||
Reference in New Issue
Block a user