EgtExchange 2.2f3 :
- in import BTL aggiunte curve per smussi a processo DoubleCut (1/2-011-X) - in import BTL estesa gestione Outline e Aperture.
This commit is contained in:
+23
-1
@@ -87,7 +87,7 @@ using namespace std ;
|
||||
#define IS_TRIANGLE_CUT( nG, nP) ( ( nGroup == 4) && nProc == 120)
|
||||
#define IS_TYROLEAN_DOVETAIL( nG, nP) ( ( nGroup == 1 || nGroup == 2 || nGroup == 3 || nGroup == 4) && nProc == 136)
|
||||
#define IS_DOVETAIL( nG, nP) ( ( nGroup == 1 || nGroup == 2 || nGroup == 3 || nGroup == 4) && nProc == 138)
|
||||
#define IS_FREE_CONTOUR( nG, nP) ( ( nGroup == 0 || nGroup == 3 || nGroup == 4) && nProc == 250)
|
||||
#define IS_FREE_CONTOUR( nG, nP) ( ( nGroup == 0 || nGroup == 3 || nGroup == 4) && (nProc == 250 || nProc == 251 || nProc == 252))
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
const double COS_ALMOST_PERP = cos( 85. * DEGTORAD) ;
|
||||
@@ -1112,16 +1112,38 @@ BtlGeom::AddDoubleCut( int nGroup, int nProc, int nSide, const string& sDes, int
|
||||
! DoSewing( pStm, plyCut2))
|
||||
return false ;
|
||||
pStm->DoCompacting() ;
|
||||
// calcolo la direttrice di questa superficie rigata
|
||||
PtrOwner<ICurve> pCrv ;
|
||||
if ( abs( dInclination1 - ANG_RIGHT) < EPS_SMALL && abs( dInclination2 - ANG_RIGHT) < EPS_SMALL) {
|
||||
int nAdjSide = ( nSide + 1 <= 4 ? nSide + 1 : 1) ;
|
||||
Vector3d vtNorm ; pStm->GetFacetNormal( 0, vtNorm) ;
|
||||
Vector3d vtExtr = GetSideVersN( nAdjSide) ^ vtNorm ;
|
||||
pCrv.Set( GetDirectrixOfRuledSurf( pStm, vtExtr)) ;
|
||||
if ( IsNull( pCrv))
|
||||
return false ;
|
||||
// imposto estrusione e spessore
|
||||
pCrv->SetExtrusion( vtExtr) ;
|
||||
pCrv->SetThickness( -GetSideWidth( nAdjSide)) ;
|
||||
}
|
||||
// inserisco la superficie nel DB geometrico
|
||||
int nId = m_pGDB->AddGeoObj( GDB_ID_NULL, m_nProcsId, Release( pStm)) ;
|
||||
if ( nId == GDB_ID_NULL)
|
||||
return false ;
|
||||
// inserisco la curva nel DB geometrico
|
||||
int nTId = GDB_ID_NULL ;
|
||||
if ( ! IsNull( pCrv)) {
|
||||
nTId = m_pGDB->AddGeoObj( GDB_ID_NULL, m_nProcsId, Release( pCrv)) ;
|
||||
if ( nTId == GDB_ID_NULL)
|
||||
return false ;
|
||||
}
|
||||
// colore semitrasparente
|
||||
SetAlpha( nId, 80) ;
|
||||
// nome e info con tipo
|
||||
SetNameAndInfo( nId, nGroup, nProc, nSide, sDes, nProcId) ;
|
||||
// parametri
|
||||
SetParams( nId, vnDPar, vdPar, vsUAtt) ;
|
||||
// identificativi di geometrie ausiliarie
|
||||
SetAuxId( nId, {nTId}) ;
|
||||
// aggiusto l'outline
|
||||
if ( UseProcessToTrimOutline( nId))
|
||||
TrimOutline( nId) ;
|
||||
|
||||
Reference in New Issue
Block a user