This class is the main class for the cutting Algorithms. More...
#include <cutting_tools.h>
Public Member Functions | |
bool | arrangecuts_FEATURE_BASED () |
bool | arrangecuts_SPIRAL () |
bool | arrangecuts_ZLEVEL () |
Hier finden wir eine tolle Funktion. | |
bool | calculateAccurateSlaveZLevel (std::vector< std::pair< gp_Pnt, double > > &OffsetPoints, double current_z_level, double &slave_z_level, double &average_sheet_thickness, double &average_angle, bool &cutpos) |
cutting_tools (TopoDS_Shape aShape, float pitch) | |
The second standard constructor. | |
cutting_tools (TopoDS_Shape aShape) | |
The standard constructor. | |
std::vector< std::pair< float, TopoDS_Shape > > | getCutShape () |
double | GetEdgeLength (const TopoDS_Edge &anEdge) |
std::vector< float > | getFlatAreas () |
const std::vector < Handle_Geom_BSplineCurve > * | getOutputhigh () |
const std::vector < Handle_Geom_BSplineCurve > * | getOutputlow () |
bool | initializeMeshStuff () |
bool | OffsetWires_FeatureBased () |
bool | OffsetWires_Spiral () |
bool | OffsetWires_Standard () |
TopoDS_Wire | ordercutShape (const TopoDS_Shape &aShape) |
bool | SetMachiningOrder (const TopoDS_Face &aFace, float x, float y, float z) |
~cutting_tools () | |
The standard destructor. | |
Public Attributes | |
CuttingToolsSettings | m_UserSettings |
This class is the main class for the cutting Algorithms.
Its idea is to provide the basic functionality for cutting CAD surfaces. In this class you can also find functions useful for generating spiral and feature based toolpaths
Definition at line 123 of file cutting_tools.h.
cutting_tools::cutting_tools | ( | TopoDS_Shape | aShape | ) |
The standard constructor.
aShape | A TopoDS_Shape |
Definition at line 116 of file cutting_tools.cpp.
References MeshCore::MeshKernel::Clear(), and initializeMeshStuff().
cutting_tools::cutting_tools | ( | TopoDS_Shape | aShape, | |
float | pitch | |||
) |
The second standard constructor.
This one gets a vertical step down value as well
aShape | A TopoDS_Shape | |
pitch | A vertical step down in[mm] |
Definition at line 88 of file cutting_tools.cpp.
References MeshCore::MeshKernel::Clear(), and initializeMeshStuff().
cutting_tools::~cutting_tools | ( | ) |
The standard destructor.
Definition at line 137 of file cutting_tools.cpp.
bool cutting_tools::arrangecuts_FEATURE_BASED | ( | ) |
bool cutting_tools::arrangecuts_SPIRAL | ( | ) |
bool cutting_tools::arrangecuts_ZLEVEL | ( | ) |
Hier finden wir eine tolle Funktion.
Definition at line 318 of file cutting_tools.cpp.
References Edgesort::GetDesiredCutShape(), UnitParser::if(), Py::int, CuttingToolsSettings::level_distance, and m_UserSettings.
Referenced by CamGui::Cutting::on_toolpath_calculation_go_button_clicked().
bool cutting_tools::calculateAccurateSlaveZLevel | ( | std::vector< std::pair< gp_Pnt, double > > & | OffsetPoints, | |
double | current_z_level, | |||
double & | slave_z_level, | |||
double & | average_sheet_thickness, | |||
double & | average_angle, | |||
bool & | cutpos | |||
) |
Definition at line 1866 of file cutting_tools.cpp.
References KDL::cos(), m_UserSettings, CuttingToolsSettings::master_radius, KDL::PI, CuttingToolsSettings::sheet_thickness, KDL::sin(), and CuttingToolsSettings::slave_radius.
std::vector<std::pair<float,TopoDS_Shape> > cutting_tools::getCutShape | ( | ) | [inline] |
Definition at line 171 of file cutting_tools.h.
double cutting_tools::GetEdgeLength | ( | const TopoDS_Edge & | anEdge | ) |
Definition at line 3639 of file cutting_tools.cpp.
Referenced by OffsetWires_Spiral().
std::vector< float > cutting_tools::getFlatAreas | ( | ) |
Definition at line 2749 of file cutting_tools.cpp.
Referenced by CamGui::Cutting::on_GenRobotOut_clicked(), and CamGui::Cutting::on_GenSimOut_clicked().
const std::vector<Handle_Geom_BSplineCurve>* cutting_tools::getOutputhigh | ( | ) | [inline] |
Definition at line 163 of file cutting_tools.h.
Referenced by CamGui::Cutting::on_GenRobotOut_clicked(), and CamGui::Cutting::on_GenSimOut_clicked().
const std::vector<Handle_Geom_BSplineCurve>* cutting_tools::getOutputlow | ( | ) | [inline] |
Definition at line 167 of file cutting_tools.h.
Referenced by CamGui::Cutting::on_GenRobotOut_clicked(), and CamGui::Cutting::on_GenSimOut_clicked().
bool cutting_tools::initializeMeshStuff | ( | ) |
Definition at line 310 of file cutting_tools.cpp.
Referenced by cutting_tools().
bool cutting_tools::OffsetWires_FeatureBased | ( | ) |
Definition at line 2759 of file cutting_tools.cpp.
References Edgesort::Current(), WireExplorer::Current(), BRepAdaptor_CompCurve2::D0(), Handle(), Edgesort::Init(), WireExplorer::Init(), m_UserSettings, CuttingToolsSettings::master_radius, Edgesort::More(), WireExplorer::More(), WireExplorer::MoreEdge(), Edgesort::Next(), WireExplorer::Next(), WireExplorer::NextEdge(), CuttingToolsSettings::sheet_thickness, CuttingToolsSettings::slave_radius, and RobotExample::t.
Referenced by CamGui::Cutting::on_toolpath_calculation_go_button_clicked().
bool cutting_tools::OffsetWires_Spiral | ( | ) |
Definition at line 2071 of file cutting_tools.cpp.
References CuttingToolsSettings::clockwise, Edgesort::Current(), WireExplorer::Current(), BRepAdaptor_CompCurve2::D0(), D_PI, GetEdgeLength(), Handle(), Edgesort::Init(), WireExplorer::Init(), CuttingToolsSettings::level_distance, SpiralHelper::LineD1, KDL::log(), m_UserSettings, CuttingToolsSettings::master_radius, Edgesort::More(), WireExplorer::More(), Edgesort::Next(), WireExplorer::Next(), Base::Builder3D::saveToFile(), CuttingToolsSettings::sheet_thickness, CuttingToolsSettings::slave_radius, SpiralHelper::SurfaceNormal, SpiralHelper::SurfacePoint, and RobotExample::t.
Referenced by CamGui::Cutting::on_toolpath_calculation_go_button_clicked().
bool cutting_tools::OffsetWires_Standard | ( | ) |
Definition at line 1062 of file cutting_tools.cpp.
References Edgesort::Current(), WireExplorer::Current(), BRepAdaptor_CompCurve2::D0(), Handle(), Edgesort::Init(), WireExplorer::Init(), k, m_UserSettings, CuttingToolsSettings::master_radius, Edgesort::More(), WireExplorer::More(), WireExplorer::MoreEdge(), Edgesort::Next(), WireExplorer::Next(), WireExplorer::NextEdge(), CuttingToolsSettings::sheet_thickness, CuttingToolsSettings::slave_radius, and RobotExample::t.
Referenced by CamGui::Cutting::on_toolpath_calculation_go_button_clicked().
TopoDS_Wire cutting_tools::ordercutShape | ( | const TopoDS_Shape & | aShape | ) |
Definition at line 612 of file cutting_tools.cpp.
References edge_container::edge, edge_container::firstPoint, k, edge_container::lastPoint, and KDL::sqrt().
bool cutting_tools::SetMachiningOrder | ( | const TopoDS_Face & | aFace, | |
float | x, | |||
float | y, | |||
float | z | |||
) |
Definition at line 144 of file cutting_tools.cpp.
Referenced by CamGui::Cutting::setFace().
Definition at line 177 of file cutting_tools.h.
Referenced by arrangecuts_ZLEVEL(), calculateAccurateSlaveZLevel(), OffsetWires_FeatureBased(), OffsetWires_Spiral(), OffsetWires_Standard(), CamGui::Cutting::on_GenRobotOut_clicked(), CamGui::Cutting::on_GenSimOut_clicked(), and CamGui::Cutting::on_toolpath_calculation_go_button_clicked().