EgtGeomKernel :
- prime sistemazioni per offset superfici trimesh tramite Zmap.
This commit is contained in:
@@ -345,6 +345,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
<ClInclude Include="..\Include\EGkRotationMinimizingFrame.h" />
|
||||
<ClInclude Include="..\Include\EGkRotationXplaneFrame.h" />
|
||||
<ClInclude Include="..\Include\EGkSubtractProjectedFacesOnStmFace.h" />
|
||||
<ClInclude Include="..\Include\EGkSurfTriMeshAux.h" />
|
||||
<ClInclude Include="CAvSilhouetteSurfTm.h" />
|
||||
<ClInclude Include="CDeBoxTria.h" />
|
||||
<ClInclude Include="CDeCapsTria.h" />
|
||||
|
||||
@@ -550,7 +550,7 @@
|
||||
<Filter>File di origine\Geo</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SurfTriMeshOffset.cpp">
|
||||
<Filter>File di origine\Geo</Filter>
|
||||
<Filter>File di origine\GeoOffset</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@@ -1232,6 +1232,9 @@
|
||||
<ClInclude Include="CAvSilhouetteSurfTm.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\Include\EGkSurfTriMeshAux.h">
|
||||
<Filter>File di intestazione\Include</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EgtGeomKernel.rc">
|
||||
|
||||
+24
-20
@@ -1,21 +1,21 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2025
|
||||
//----------------------------------------------------------------------------
|
||||
// File : SurfTriMeshOffset.cpp Data : 10.06.25 Versione : 2.7e4
|
||||
// File : SurfTriMeshOffset.cpp Data : 07.07.25 Versione : 2.7g1
|
||||
// Contenuto : Implementazione funzione per Offset di Superfici TriMesh.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 10.06.25 RE - Creazione modulo.
|
||||
// 10.06.25 RE - Offset di superfici chiuse. ( ver. 2.7e4)
|
||||
// 04.07.25 RE - Thickening Offset di superfici generiche. ( ver. 2.7g1)
|
||||
// Modifiche : 10.06.25 RE Creazione modulo.
|
||||
// 10.06.25 RE Offset di superfici chiuse.
|
||||
// 04.07.25 RE Thickening Offset di superfici generiche.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "SurfTriMesh.h"
|
||||
#include "VolZmap.h"
|
||||
#include "\EgtDev\Include\EGkSurfTriMeshAux.h"
|
||||
|
||||
using namespace std ;
|
||||
|
||||
@@ -46,31 +46,34 @@ SumStm( const CISURFTMPVECTOR& vStm)
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione che crea l'Offset di una superficie TriMesh */
|
||||
// Funzione che crea l'Offset di una superficie TriMesh
|
||||
//----------------------------------------------------------------------------
|
||||
ISurfTriMesh*
|
||||
CreateSurfTriMeshOffset( const ISurfTriMesh* pStm, double dOffs, double dLinTol, int nType)
|
||||
CreateSurfTriMeshOffset( const ISurfTriMesh* pStm, double dOffs, double dPrec, int nType)
|
||||
{
|
||||
return ( CreateSurfTriMeshesOffset( { pStm}, dOffs, dLinTol, nType)) ;
|
||||
return ( CreateSurfTriMeshesOffset( { pStm}, dOffs, dPrec, nType)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione che crea il Fat Offset di una superficie TriMesh */
|
||||
// Funzione che crea il Fat Offset di una superficie TriMesh
|
||||
//----------------------------------------------------------------------------
|
||||
ISurfTriMesh*
|
||||
CreateSurfTriMeshThickeningOffset( const ISurfTriMesh* pStm, double dOffs, double dLinTol, int nType)
|
||||
CreateSurfTriMeshThickeningOffset( const ISurfTriMesh* pStm, double dOffs, double dPrec, int nType)
|
||||
{
|
||||
return ( CreateSurfTriMeshesThickeningOffset( { pStm}, dOffs, dLinTol, nType)) ;
|
||||
return ( CreateSurfTriMeshesThickeningOffset( { pStm}, dOffs, dPrec, nType)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione che crea l'Offset di un insieme di superfici */
|
||||
// Funzione che crea l'Offset di un insieme di superfici
|
||||
//----------------------------------------------------------------------------
|
||||
ISurfTriMesh*
|
||||
CreateSurfTriMeshesOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dLinTol, int nType)
|
||||
CreateSurfTriMeshesOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dPrec, int nType)
|
||||
{
|
||||
// se vettore delle superfici vuoto, non faccio nulla
|
||||
if ( vStm.empty())
|
||||
return nullptr ;
|
||||
// controllo sul valore di tolleranza lineare
|
||||
double dMyLinTol = max( dLinTol, 10 * EPS_SMALL) ;
|
||||
double dMyPrec = max( dPrec, 100 * EPS_SMALL) ;
|
||||
// --- NB. ( Il valore di Offset deve essere maggiore di 10 * EPS_SMALL in valore assoluto)
|
||||
// Nel caso sia minore, restituisco semplicemente la somma delle superfici
|
||||
// ( questo valore serve per rimanere coerente con l'Offset delle curve)
|
||||
@@ -79,7 +82,7 @@ CreateSurfTriMeshesOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dLi
|
||||
|
||||
// creo lo Zmap associato alle superfici TriMesh
|
||||
PtrOwner<IVolZmap> pVolZmap( CreateVolZmap()) ;
|
||||
if ( IsNull( pVolZmap) || ! pVolZmap->CreateFromTriMeshOffset( vStm, dOffs, dMyLinTol, nType))
|
||||
if ( IsNull( pVolZmap) || ! pVolZmap->CreateFromTriMeshOffset( vStm, dOffs, dMyPrec, nType))
|
||||
return nullptr ;
|
||||
|
||||
// restituisco la superficie TriMesh
|
||||
@@ -87,15 +90,16 @@ CreateSurfTriMeshesOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dLi
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione che crea il Fat Offset di un insieme di superfici */
|
||||
//* Funzione che crea il Fat Offset di un insieme di superfici
|
||||
//----------------------------------------------------------------------------
|
||||
ISurfTriMesh*
|
||||
CreateSurfTriMeshesThickeningOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dLinTol, int nType)
|
||||
CreateSurfTriMeshesThickeningOffset( const CISURFTMPVECTOR& vStm, double dOffs, double dPrec, int nType)
|
||||
{
|
||||
// se vettore delle superfici vuoto, non faccio nulla
|
||||
if ( vStm.empty())
|
||||
return nullptr ;
|
||||
// controllo sul valore di tolleranza lineare
|
||||
double dMyLinTol = max( dLinTol, 10 * EPS_SMALL) ;
|
||||
double dMyPrec = max( dPrec, 100 * EPS_SMALL) ;
|
||||
// --- NB. ( Il valore di Offset deve essere maggiore di 10 * EPS_SMALL in valore assoluto)
|
||||
// Nel caso sia minore, restituisco semplicemente la somma delle superfici
|
||||
// ( questo valore serve per rimanere coerente con l'Offset delle curve)
|
||||
@@ -104,9 +108,9 @@ CreateSurfTriMeshesThickeningOffset( const CISURFTMPVECTOR& vStm, double dOffs,
|
||||
|
||||
// creo lo Zmap associato alle superfici TriMesh
|
||||
PtrOwner<IVolZmap> pVolZmap( CreateVolZmap()) ;
|
||||
if ( IsNull( pVolZmap) || ! pVolZmap->CreateFromTriMeshThickeningOffset( vStm, dOffs, dMyLinTol, nType))
|
||||
if ( IsNull( pVolZmap) || ! pVolZmap->CreateFromTriMeshThickeningOffset( vStm, dOffs, dMyPrec, nType))
|
||||
return nullptr ;
|
||||
|
||||
// restituisco la superficie TriMesh
|
||||
return ( pVolZmap->GetSurfTriMesh()) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,8 +82,8 @@ class VolZmap : public IVolZmap, public IGeoObjRW
|
||||
bool CreateEmpty( const Point3d& ptO, double dDimX, double dDimY, double dDimZ, double dStep, bool bTriDex) override ;
|
||||
bool CreateFromFlatRegion( const ISurfFlatRegion& Surf, double dDimZ, double dStep, bool bTriDex) override ;
|
||||
bool CreateFromTriMesh( const ISurfTriMesh& Surf, double dStep, bool bTriDex, double dExtraBox = 0.) override ;
|
||||
bool CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = ISurfTriMesh::OFF_FILLET) override ;
|
||||
bool CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = ISurfTriMesh::OFF_FILLET) override ;
|
||||
bool CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = STMOFF_FILLET) override ;
|
||||
bool CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType = STMOFF_FILLET) override ;
|
||||
int GetBlockCount( void) const override ;
|
||||
int GetBlockUpdatingCounter( int nBlock) const override ;
|
||||
bool GetBlockTriangles( int nBlock, TRIA3DEXVECTOR& vTria) const override ;
|
||||
|
||||
+59
-51
@@ -24,7 +24,8 @@
|
||||
using namespace std ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per sottrarre intervalli lungo un Dexel per l'offset di una superficie TriMesh */
|
||||
// Funzione per sottrarre intervalli lungo un Dexel per l'offset di una superficie TriMesh
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::SubtractIntervalsForOffset( int nGrid, int nI, int nJ,
|
||||
double dMin, double dMax, const Vector3d& vtNMin, const Vector3d& vtNMax,
|
||||
@@ -35,7 +36,8 @@ VolZmap::SubtractIntervalsForOffset( int nGrid, int nI, int nJ,
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per aggiungere intervalli lungo un Dexel per l'offset di una superficie TriMesh */
|
||||
// Funzione per aggiungere intervalli lungo un Dexel per l'offset di una superficie TriMesh
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::AddIntervalsForOffset( int nGrid, int nI, int nJ,
|
||||
double dMin, double dMax, const Vector3d& vtNMin, const Vector3d& vtNMax,
|
||||
@@ -46,8 +48,9 @@ VolZmap::AddIntervalsForOffset( int nGrid, int nI, int nJ,
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per la creazione di una sfera di Offset centrata sul vertice di una TriMesh con cui
|
||||
aggiungere o sottrarre intervalli lungo i Dexel coinvolti */
|
||||
// Funzione per la creazione di una sfera di Offset centrata sul vertice di una TriMesh con cui
|
||||
// aggiungere o sottrarre intervalli lungo i Dexel coinvolti
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::CreateOffsSphereOnVertex( const Point3d& ptV, double dOffs, int nGrid, int nTool)
|
||||
{
|
||||
@@ -86,8 +89,9 @@ VolZmap::CreateOffsSphereOnVertex( const Point3d& ptV, double dOffs, int nGrid,
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per la creazione di un cilindro di Offset sul vertice di una TriMesh con cui
|
||||
aggiungere o sottrarre intervalli lungo i Dexel coinvolti */
|
||||
// Funzione per la creazione di un cilindro di Offset sul vertice di una TriMesh con cui
|
||||
// aggiungere o sottrarre intervalli lungo i Dexel coinvolti.
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::CreateOffsCylinderOnEdge( const Point3d& ptP1, const Point3d& ptP2, double dOffs, int nGrid,
|
||||
int nTool)
|
||||
@@ -140,10 +144,11 @@ VolZmap::CreateOffsCylinderOnEdge( const Point3d& ptP1, const Point3d& ptP2, dou
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per inizializzare lo ZMap a partire da un vettore di superfici TriMesh */
|
||||
/* L'idea è quella di creare uno ZMap a partire dal Box complessivo delle superfici TriMesh :
|
||||
* - le superfici chiuse possono già inserire i rispettivi spilloni
|
||||
* - le superfici aperte non danno contributo */
|
||||
// Funzione per inizializzare lo ZMap a partire da un vettore di superfici TriMesh
|
||||
// L'idea è quella di creare uno ZMap a partire dal Box complessivo delle superfici TriMesh :
|
||||
// - le superfici chiuse possono già inserire i rispettivi spilloni
|
||||
// - le superfici aperte non danno contributo
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::InitVolZMapOffs( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol)
|
||||
{
|
||||
@@ -207,8 +212,9 @@ VolZmap::InitVolZMapOffs( const CISURFTMPVECTOR& vSurf, double dOffs, double dTo
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per inizializzare lo ZMap a partire da un vettore di superfici TriMesh */
|
||||
/* L'idea è quella di creare uno ZMap vuoto a partire dal Box complessivo delle superfici TriMesh */
|
||||
// Funzione per inizializzare lo ZMap a partire da un vettore di superfici TriMesh
|
||||
// L'idea è quella di creare uno ZMap vuoto a partire dal Box complessivo delle superfici TriMesh
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::InitVolZMapThickeningOffs( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol)
|
||||
{
|
||||
@@ -240,8 +246,10 @@ VolZmap::InitVolZMapThickeningOffs( const CISURFTMPVECTOR& vSurf, double dOffs,
|
||||
return ( CreateEmpty( BBoxGlob.GetMin(), BBoxGlob.GetDimX(), BBoxGlob.GetDimY(), BBoxGlob.GetDimZ(), dTol, true)) ;
|
||||
}
|
||||
|
||||
/* [Fillet] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
mediante una superficie chiusa */
|
||||
//----------------------------------------------------------------------------
|
||||
// [Fillet] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
// mediante una superficie aperta
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::UpdateVolZMapByOpenSurfFilletOffset( const ISurfTriMesh* Surf, double dOffs, double dTol)
|
||||
{
|
||||
@@ -249,8 +257,10 @@ VolZmap::UpdateVolZMapByOpenSurfFilletOffset( const ISurfTriMesh* Surf, double d
|
||||
return false ;
|
||||
}
|
||||
|
||||
/* [Fillet] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
mediante una superficie chiusa */
|
||||
//----------------------------------------------------------------------------
|
||||
// [Fillet] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
// mediante una superficie chiusa
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::UpdateVolZMapByClosedSurfFilletOffset( const ISurfTriMesh* Surf, double dOffs, double dTol)
|
||||
{
|
||||
@@ -260,25 +270,25 @@ VolZmap::UpdateVolZMapByClosedSurfFilletOffset( const ISurfTriMesh* Surf, double
|
||||
if ( ! Surf->IsValid() || Surf->GetTriangleCount() == 0)
|
||||
return true ;
|
||||
|
||||
/* Assunzioni :
|
||||
- Idea Generale di Offset
|
||||
- Su ogni vertice viene definita una sfera ( con raggio pari al valore di Offset e
|
||||
centro il vertice corrente)
|
||||
- Su ogni lato viene definito un cilindro ( con raggio di base pari al valore di Offset
|
||||
e asse definito dall'edge stesso)
|
||||
- Su ogni faccia viene definita una superficie di estrusione ( dove le due basi sono
|
||||
definite dalla traslazione sia in positivo che in negativo della faccia lungo la sua normale)
|
||||
|
||||
- Segno dell'Offset :
|
||||
- Positivo ( si sommano gli intervalli corrisipondenti alle entità create)
|
||||
- Negativo ( si sottraggono gli intervalli corrispondenti alle enetità create)
|
||||
|
||||
- Semplificazione entità :
|
||||
La creazione di Sfere e Cilindri potrebbe essere resa più "corretta" definitendo solo
|
||||
"spicchi 3d" di sfera e "spicchi 3d" di cilindri. Dato che le operazioni di somma, sottrazioni e
|
||||
calcolo delle normali per gli spilloni sono elementari su queste figure, si rischia di appesantire
|
||||
troppo i conti introducendo variabili angolari che non sommando tutte le parti.
|
||||
*/
|
||||
// Assunzioni :
|
||||
// - Idea Generale di Offset
|
||||
// - Su ogni vertice viene definita una sfera ( con raggio pari al valore di Offset e
|
||||
// centro il vertice corrente)
|
||||
// - Su ogni lato viene definito un cilindro ( con raggio di base pari al valore di Offset
|
||||
// e asse definito dall'edge stesso)
|
||||
// - Su ogni faccia viene definita una superficie di estrusione ( dove le due basi sono
|
||||
// definite dalla traslazione sia in positivo che in negativo della faccia lungo la sua normale)
|
||||
//
|
||||
// - Segno dell'Offset :
|
||||
// - Positivo ( si sommano gli intervalli corrisipondenti alle entità create)
|
||||
// - Negativo ( si sottraggono gli intervalli corrispondenti alle enetità create)
|
||||
//
|
||||
// - Semplificazione entità :
|
||||
// La creazione di Sfere e Cilindri potrebbe essere resa più "corretta" definitendo solo
|
||||
// "spicchi 3d" di sfera e "spicchi 3d" di cilindri. Dato che le operazioni di somma, sottrazioni e
|
||||
// calcolo delle normali per gli spilloni sono elementari su queste figure, si rischia di appesantire
|
||||
// troppo i conti introducendo variabili angolari che non sommando tutte le parti.
|
||||
//
|
||||
|
||||
// definisco vettore di frame Locali alle 3 griglie
|
||||
FRAME3DVECTOR vFrGrid( 4) ;
|
||||
@@ -372,8 +382,9 @@ VolZmap::UpdateVolZMapByClosedSurfFilletOffset( const ISurfTriMesh* Surf, double
|
||||
return true ;
|
||||
}
|
||||
|
||||
/* [Fillet Thickening] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
mediante una superficie generica (aperta o chiusa) */
|
||||
//----------------------------------------------------------------------------
|
||||
// [Fillet Thickening] Funzione per aggiornare mediante Sfere, Cilindri e Facce di estrusione lo ZMap corrente
|
||||
// mediante una superficie generica (aperta o chiusa)
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::UpdateVolZMapBySurfThickeningFilletOffset( const ISurfTriMesh* Surf, double dOffs, double dTol)
|
||||
@@ -470,13 +481,12 @@ VolZmap::UpdateVolZMapBySurfThickeningFilletOffset( const ISurfTriMesh* Surf, do
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per la creazine di uno Zmap di Offset (positivo o negativo) a partire da un
|
||||
vettore di superfici TriMesh (aperte o chiuse) */
|
||||
/*
|
||||
Definizione :
|
||||
- Lo Zmap di Offset ( positivo o negativo) di una superficie chiusa è automaticamente l'Offset stesso
|
||||
- Lo Zmap di Offset ( positivo o negativo) di una superficie aperta è ????? ( da capire...)
|
||||
*/
|
||||
// Funzione per la creazine di uno Zmap di Offset (positivo o negativo) a partire da un
|
||||
// vettore di superfici TriMesh (aperte o chiuse).
|
||||
// Definizione :
|
||||
// - Lo Zmap di Offset ( positivo o negativo) di una superficie chiusa è automaticamente l'Offset stesso
|
||||
// - Lo Zmap di Offset ( positivo o negativo) di una superficie aperta è ????? ( da capire...)
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType)
|
||||
{
|
||||
@@ -503,7 +513,7 @@ VolZmap::CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, do
|
||||
continue ;
|
||||
// aggiorno lo ZMap
|
||||
if ( Surf->IsClosed()) {
|
||||
if ( nType == ISurfTriMesh::OFF_FILLET) {
|
||||
if ( nType == STMOFF_FILLET) {
|
||||
if ( ! UpdateVolZMapByClosedSurfFilletOffset( Surf, dOffs, dTol))
|
||||
return false ;
|
||||
}
|
||||
@@ -518,8 +528,9 @@ VolZmap::CreateFromTriMeshOffset( const CISURFTMPVECTOR& vSurf, double dOffs, do
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
/* Funzione per la creazine di uno Zmap di Fat Offset a partire da un
|
||||
vettore di superfici TriMesh (aperte o chiuse) */
|
||||
// Funzione per la creazine di uno Zmap di Fat Offset a partire da un
|
||||
// vettore di superfici TriMesh (aperte o chiuse).
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
VolZmap::CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double dOffs, double dTol, int nType)
|
||||
{
|
||||
@@ -546,7 +557,7 @@ VolZmap::CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double
|
||||
continue ;
|
||||
|
||||
// aggiorno lo Zmap
|
||||
if ( nType == ISurfTriMesh::OFF_FILLET) {
|
||||
if ( nType == STMOFF_FILLET) {
|
||||
if ( ! UpdateVolZMapBySurfThickeningFilletOffset( Surf, dOffs, dTol))
|
||||
return false ;
|
||||
}
|
||||
@@ -555,6 +566,3 @@ VolZmap::CreateFromTriMeshThickeningOffset( const CISURFTMPVECTOR& vSurf, double
|
||||
m_nShape = OFFSET ;
|
||||
return true ;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user