EgtMachKernel :
- passo minimo di fresature portato da 1.0 a 0.1 - corretta determinazione se posizioni di attacco/uscita sono sotto il grezzo.
This commit is contained in:
+6
-1
@@ -344,6 +344,11 @@ Operation::GetPointUnderRaw( const Point3d& ptP, const Vector3d& vtTool, double
|
||||
{
|
||||
// punto a metà lunghezza utensile
|
||||
Point3d ptQ = ptP + vtTool * dToolLen / 2 ;
|
||||
// box di ingombro dell'utensile
|
||||
BBox3d b3Tool ;
|
||||
b3Tool.Set( ptP) ;
|
||||
b3Tool.Add( ptQ) ;
|
||||
b3Tool.Expand( dToolRadForElev) ;
|
||||
// direzione di fuga per l'elevazione
|
||||
Vector3d vtDir = vtTool ;
|
||||
if ( vtDir.z < - EPS_SMALL)
|
||||
@@ -358,7 +363,7 @@ Operation::GetPointUnderRaw( const Point3d& ptP, const Vector3d& vtTool, double
|
||||
int nStmId = m_pGeomDB->GetFirstNameInGroup( nRawId, MACH_RAW_SOLID) ;
|
||||
BBox3d b3Raw ;
|
||||
m_pGeomDB->GetGlobalBBox( nStmId, b3Raw) ;
|
||||
if ( ! b3Raw.IsEmpty() && ( b3Raw.EnclosesXY( ptP) || b3Raw.EnclosesXY( ptQ)) && ptP.z < b3Raw.GetMin().z - 10 * EPS_SMALL) {
|
||||
if ( ! b3Raw.IsEmpty() && b3Raw.OverlapsXY( b3Tool) && ptP.z < b3Raw.GetMin().z - 10 * EPS_SMALL) {
|
||||
// determino elevazione del punto rispetto al grezzo a metà altezza
|
||||
Point3d ptTest( ptP.x, ptP.y, (( b3Raw.GetMin() + b3Raw.GetMax()) / 2).z) ;
|
||||
double dNewElev ;
|
||||
|
||||
Reference in New Issue
Block a user