EgtMachKernel 2.6f4 :
- in fresatura aggiunta possibilità in FaceUse di dare direzione di riferimento con un vettore di chiave VtFaceUse nelle note utente.
This commit is contained in:
+5
-3
@@ -935,7 +935,7 @@ Operation::GetCurrRawsGlobBox( BBox3d& b3Raw) const
|
||||
//----------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------
|
||||
inline Vector3d
|
||||
GetDirInFacePerpSide( int nFaceUse, const Vector3d& vtN, ICurveComposite* pCrvCompo)
|
||||
GetDirInFacePerpSide( int nFaceUse, const Vector3d& vtFaceUse, const Vector3d& vtN, ICurveComposite* pCrvCompo)
|
||||
{
|
||||
// determino la direzione di riferimento proiettata nella faccia
|
||||
Vector3d vtRef ;
|
||||
@@ -946,6 +946,7 @@ GetDirInFacePerpSide( int nFaceUse, const Vector3d& vtN, ICurveComposite* pCrvCo
|
||||
case FACE_BACK : vtRef = -Y_AX ; break ;
|
||||
case FACE_LEFT : vtRef = X_AX ; break ;
|
||||
case FACE_RIGHT : vtRef = -X_AX ; break ;
|
||||
case FACE_VERSOR : vtRef = vtFaceUse ; break ;
|
||||
}
|
||||
vtRef -= vtRef * vtN * vtN ;
|
||||
if ( ! vtRef.Normalize())
|
||||
@@ -972,7 +973,8 @@ GetDirInFacePerpSide( int nFaceUse, const Vector3d& vtN, ICurveComposite* pCrvCo
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nFaceUse, double dToolThick, int nGrade)
|
||||
Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nFaceUse, const Vector3d& vtFaceUse,
|
||||
double dToolThick, int nGrade)
|
||||
{
|
||||
// copia della curva originale
|
||||
PtrOwner<ICurveComposite> pCopy( pCrvCompo->Clone()) ;
|
||||
@@ -1008,7 +1010,7 @@ Operation::AdjustCurveFromSurf( ICurveComposite* pCrvCompo, int nToolDir, int nF
|
||||
// altrimenti
|
||||
else {
|
||||
// determino la direzione di riferimento
|
||||
vtRef = GetDirInFacePerpSide( nFaceUse, vtN, pCrvCompo) ;
|
||||
vtRef = GetDirInFacePerpSide( nFaceUse, vtFaceUse, vtN, pCrvCompo) ;
|
||||
// la curva gira in senso antiorario attorno al contorno faccia vista dalla normale uscente
|
||||
// elimino i segmenti che hanno la direzione di riferimento a destra o quasi (16 deg o 31 deg o 46deg)
|
||||
nGrade = Clamp( nGrade, 1, 3) ;
|
||||
|
||||
Reference in New Issue
Block a user