EgtInterface 1.6a4 :
- completamento modifiche per registrazione comandi in lua e per gestione RefType e RefId.
This commit is contained in:
@@ -121,17 +121,24 @@ __stdcall EgtCreateSurfTriMeshByScrewing( int nParentId, int nCrvId,
|
||||
ptAxL.LocToLoc( pGeomDB->GetGridFrame(), frLoc) ;
|
||||
vtAxL.LocToLoc( pGeomDB->GetGridFrame(), frLoc) ;
|
||||
}
|
||||
// limite minimo su tolleranza
|
||||
dLinTol = max( dLinTol, EPS_SMALL) ;
|
||||
// calcolo la polilinea che approssima la curva
|
||||
PolyLine PL ;
|
||||
bOk = bOk && GetPolyLineFromCurve( nCrvId, frLoc, dLinTol, PL) ;
|
||||
// calcolo lo step di rotazione
|
||||
double dMaxRad = 0 ;
|
||||
bOk = bOk && PL.GetMaxDistanceFromLine( dMaxRad, ptAx, vtAx, 1, false) ;
|
||||
bOk = bOk && PL.GetMaxDistanceFromLine( dMaxRad, ptAxL, vtAxL, 1, false) ;
|
||||
if ( dMaxRad < EPS_SMALL) {
|
||||
bOk = false ;
|
||||
dMaxRad = EPS_SMALL ;
|
||||
}
|
||||
double dStepRotDeg = sqrt( 8 * dLinTol / dMaxRad) * RADTODEG ;
|
||||
// se superficie rototraslata, necessari limiti sulla lunghezza dei segmenti
|
||||
if ( fabs( dAngRotDeg) > EPS_ANG_SMALL && fabs( dMove) > EPS_SMALL){
|
||||
double dLenMax = 2 * fabs( dMove) * dStepRotDeg / dAngRotDeg ;
|
||||
bOk = bOk && PL.AdjustForMaxSegmentLen( dLenMax) ;
|
||||
}
|
||||
// creo e setto la superficie trimesh
|
||||
PtrOwner<ISurfTriMesh> pSTM( CreateSurfTriMesh()) ;
|
||||
bOk = bOk && ! IsNull( pSTM) ;
|
||||
|
||||
Reference in New Issue
Block a user