EgtMachKernel :
- a fresatura aggiunta gestione lista di curve per FaceUse tramite "EdgesFaceUse" con valori a vettore di interi in UserNotes - in tutte le lavorazioni sistemato ricalcolo con stato con bit MCH_ST_GEO_MODIF impostato - in tutte le lavorazioni SetGeometry imposta bit MCH_ST_GEO_MODIF solo se gli Id e i SubId delle geometrie sono effettivamente variati.
This commit is contained in:
+13
-1
@@ -990,7 +990,7 @@ GetDirInFacePerpSide( int nFaceUse, const Vector3d& vtFaceUse, const Vector3d& v
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nFaceUse, const Vector3d& vtFaceUse,
|
||||
double dToolThick, int nGrade)
|
||||
const INTVECTOR& vnEdgesFaceUse, double dToolThick, int nGrade)
|
||||
{
|
||||
// copia della curva originale
|
||||
PtrOwner<ICurveComposite> pCopy( pCrvCompo->Clone()) ;
|
||||
@@ -1023,6 +1023,18 @@ Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nF
|
||||
if ( dUmax != 0)
|
||||
pCrvCompo->ChangeStartPoint( dUmax) ;
|
||||
}
|
||||
// se altrimenti richiesta una parte del contorno
|
||||
else if ( nFaceUse == FACE_EDGES) {
|
||||
// verifico che il vettore degli indici dei lati non sia vuoto
|
||||
if ( vnEdgesFaceUse.empty())
|
||||
return false ;
|
||||
// parametri di trim
|
||||
double dUStart = vnEdgesFaceUse.front() ;
|
||||
double dUEnd = vnEdgesFaceUse.back() + 1 ;
|
||||
// taglio le parti che non interessano
|
||||
if ( ! pCrvCompo->TrimStartEndAtParam( dUStart, dUEnd))
|
||||
return false ;
|
||||
}
|
||||
// altrimenti
|
||||
else {
|
||||
// determino la direzione di riferimento
|
||||
|
||||
Reference in New Issue
Block a user