Give default values to cutting edge angle so simulations with work even if user did not specify a valid cutting angle.

This commit is contained in:
Shai Seger
2018-01-24 17:09:52 +02:00
committed by wmayer
parent 93af0eef41
commit 5fd64aa3eb
2 changed files with 18 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ import Mesh
import PathSimulator
import math
from FreeCAD import Vector, Base
import PathScripts.PathLog as PathLog
from PathScripts.PathGeom import PathGeom
_filePath = os.path.dirname(os.path.abspath(__file__))
@@ -382,6 +383,9 @@ class PathSimulation:
yp = pos[1]
zp = pos[2]
h = tool.CuttingEdgeHeight
if h <= 0.0: #set default if user fails to avoid freeze
h = 1.0
PathLog.error("SET Tool Length")
# common to all tools
vTR = Vector(xp + yf, yp - xf, zp + h)
vTC = Vector(xp, yp, zp + h)

View File

@@ -87,11 +87,21 @@ void PathSim::SetCurrentTool(Tool * tool)
}
break;
case Tool::CENTERDRILL:
tp = cSimTool::CHAMFER;
angle = tool->CuttingEdgeAngle;
if (angle > 180)
{
angle = 180;
}
break;
case Tool::COUNTERSINK:
case Tool::COUNTERBORE:
case Tool::REAMER:
case Tool::TAP:
case Tool::ENDMILL:
tp = cSimTool::FLAT;
angle = 180;
break;
case Tool::SLOTCUTTER:
case Tool::CORNERROUND:
case Tool::ENGRAVER:
@@ -102,8 +112,10 @@ void PathSim::SetCurrentTool(Tool * tool)
angle = 180;
}
break;
break; // quiet warnings
default:
tp = cSimTool::FLAT;
angle = 180;
break;
}
m_tool = new cSimTool(tp, tool->Diameter / 2.0, angle);
}