ArchNesting.Nester Class Reference

Public Member Functions

def addContainer (self, container)
 
def addObjects (self, objects)
 
def apply (self, result=None)
 
def clear (self)
 
def getPlacements (self, result=None)
 
def order (self, face, right=False)
 
def run (self)
 
def show (self, result=None)
 
def stop (self)
 
def update (self)
 

Public Attributes

 container
 
 indexedFaces
 
 indexedfaces
 
 objects
 
 progress
 
 results
 
 running
 
 setCounter
 
 shapes
 

Member Function Documentation

◆ addContainer()

def ArchNesting.Nester.addContainer (   self,
  container 
)
addContainer(object): adds a FreeCAD DocumentObject as the container

References ArchNesting.Nester.container, ArchPanel.NestTaskPanel.container, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.hidden_element_over_riding_styled_item.container(), and nlohmann::detail::iteration_proxy< IteratorType >.container.

◆ addObjects()

◆ apply()

def ArchNesting.Nester.apply (   self,
  result = None 
)
apply([result]): Applies the computed placements of the given
result, or the last computed result if none is given, to the
document objects given to the nester via addObjects() before
running.

References ArchNesting.Nester.getPlacements(), App::MergeDocuments.objects, Gui::MergeDocuments.objects, ArchNesting.Nester.objects, ArchVRM.Renderer.objects, exportIFCHelper.ContextCreator.objects, and importIFCHelper.ProjectImporter.objects.

◆ clear()

◆ getPlacements()

def ArchNesting.Nester.getPlacements (   self,
  result = None 
)
getPlacements([result]): returns a dictionary of hashCode:Placement
pairs from the given result or the last computed result if none
is given. The Placement contains a translation vector and a rotation
to be given to the final object.

References ArchNesting.Nester.container, ArchPanel.NestTaskPanel.container, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.hidden_element_over_riding_styled_item.container(), nlohmann::detail::iteration_proxy< IteratorType >.container, ArchNesting.Nester.indexedfaces, ArchNesting.Nester.results, femsolver.run.Machine.results, AdaptivePath::Adaptive2d.results, and KDL::ChainIdSolver_Vereshchagin.results.

Referenced by ArchNesting.Nester.apply().

◆ order()

def ArchNesting.Nester.order (   self,
  face,
  right = False 
)
order(face,[right]): returns a list of vertices
ordered clockwise. The first vertex will be the
lefmost one, unless right is True, in which case the
first vertex will be the rightmost one

References WorkingPlane.plane, and DraftVecUtils.project().

Referenced by femmesh.gmshtools.GmshTools.start_logs(), and femmesh.gmshtools.GmshTools.write_geo().

◆ run()

def ArchNesting.Nester.run (   self)
run(): Runs a nesting operation. Returns a list of lists of
   shapes, each primary list being one filled container, or None
   if the operation failed.

References ArchNesting.Nester.container, ArchPanel.NestTaskPanel.container, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.hidden_element_over_riding_styled_item.container(), nlohmann::detail::iteration_proxy< IteratorType >.container, ArchNesting.Nester.progress, App::PropertyExpressionEngine.running, Gui::GUISingleApplication::Private.running, Gui::PythonDebuggerP.running, ArchNesting.Nester.running, draftguitools.gui_edit.Edit.running, draftguitools.gui_line_add_delete.AddPoint.running, draftguitools.gui_line_add_delete.DelPoint.running, draftguitools.gui_offset.Offset.running, draftguitools.gui_snapper.Snapper.running, draftguitools.gui_wire2spline.WireToBSpline.running, femsolver.task.Task.running, AdaptivePath::PerfCounter.running, shipHydrostatics.TaskPanel.TaskPanel.running, qtunittest.BaseGUITestRunner.running, Mod.Test.unittestgui.BaseGUITestRunner.running, ArchNesting.Nester.shapes, ArchPanel.NestTaskPanel.shapes, ArchVRM.Renderer.shapes, MeshPartGui::Mesh2ShapeGmsh::Private.shapes, PathScripts.PathDressupDogbone.ObjectDressup.shapes, shipCreateWeight.TaskPanel.TaskPanel.shapes, Gui::LinkInfo.update(), MeshGui::MeshRenderer::Private.update(), MeshGui::MeshRenderer.update(), TechDrawGui::TaskDlgActiveView.update(), TechDrawGui::TaskDlgBalloon.update(), TechDrawGui::TaskDlgCenterLine.update(), TechDrawGui::TaskDlgCosmeticLine.update(), TechDrawGui::TaskDlgCosVertex.update(), TechDrawGui::TaskDlgDetail.update(), TechDrawGui::TaskDlgDimension.update(), TechDrawGui::TaskDlgGeomHatch.update(), TechDrawGui::TaskDlgHatch.update(), TechDrawGui::TaskDlgLeaderLine.update(), TechDrawGui::TaskDlgLinkDim.update(), TechDrawGui::TaskDlgProjGroup.update(), TechDrawGui::TaskDlgRichAnno.update(), TechDrawGui::TaskDlgSectionView.update(), TechDrawGui::TaskDlgWeldingSymbol.update(), SMESHDS_GroupOnFilter.update(), App::LinkBaseExtension.update(), Gui::ViewProvider.update(), Gui::ViewProviderDocumentObject.update(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >.update(), Gui::CommandPy.update(), Gui::DocumentPy.update(), Gui::ViewProviderDocumentObjectPy.update(), AddonManager.CommandAddonManager.update(), ArchAxis._AxisTaskPanel.update(), ArchAxis.AxisSystemTaskPanel.update(), ArchAxis.ArchGridTaskPanel.update(), ArchComponent.ComponentTaskPanel.update(), ArchNesting.Nester.update(), ArchRoof._RoofTaskPanel.update(), ArchSectionPlane.SectionPlaneTaskPanel.update(), ArchWindow._ArchWindowTaskPanel.update(), DraftGui.FacebinderTaskPanel.update(), draftguitools.gui_trackers.gridTracker.update(), femtaskpanels.task_mesh_gmsh._TaskPanel.update(), femtaskpanels.task_result_mechanical._TaskPanel.update(), femtaskpanels.task_solver_ccxtools._TaskPanel.update(), Mod.PartDesign.InvoluteGearFeature._InvoluteGearTaskPanel.update(), Mod.PartDesign.SprocketFeature.SprocketTaskPanel.update(), Plot.Plot.update(), Spreadsheet_legacy.SpreadsheetView.update(), DocumentObject.ViewProvider.update(), draftguitools.gui_trackers.radiusTracker.update(), ArchCommands.SurveyTaskPanel.update(), shipAreasCurve.Preview.Preview.update(), Mod.PartDesign.WizardShaft.ShaftDiagram.Diagram.update(), shipCreateShip.Preview.Preview.update(), shipOutlineDraw.Preview.Preview.update(), draftguitools.gui_trackers.boxTracker.update(), draftguitools.gui_trackers.ghostTracker.update(), draftguitools.gui_edit.Edit.update(), draftguitools.gui_trackers.rectangleTracker.update(), ArchPanel.CommandPanel.update(), ArchStructure._CommandStructure.update(), ArchWall._CommandWall.update(), ArchWindow._CommandWindow.update(), draftguitools.gui_trackers.bsplineTracker.update(), draftguitools.gui_trackers.bezcurveTracker.update(), draftguitools.gui_trackers.dimTracker.update(), draftguitools.gui_trackers.wireTracker.update(), and PartDesign::SubShapeBinder.update().

Referenced by femexamples.examplesgui.FemExamples.clicked(), and femsolver.task.Task.protector().

◆ show()

def ArchNesting.Nester.show (   self,
  result = None 
)
show([result]): creates shapes in the document, showing
   the given result (list of sheets) or the last result if
   none is provided

References ArchNesting.Nester.container, ArchPanel.NestTaskPanel.container, ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies_mim_lf.hidden_element_over_riding_styled_item.container(), nlohmann::detail::iteration_proxy< IteratorType >.container, ArchNesting.Nester.results, femsolver.run.Machine.results, AdaptivePath::Adaptive2d.results, and KDL::ChainIdSolver_Vereshchagin.results.

Referenced by Mod.Show.mTempoVis.TempoVis.show_all_dependencies(), and Mod.Show.mTempoVis.TempoVis.show_all_dependent().

◆ stop()

◆ update()

def ArchNesting.Nester.update (   self)
update(): internal function to verify if computation can
go on

References ArchNesting.Nester.progress, App::PropertyExpressionEngine.running, Gui::GUISingleApplication::Private.running, Gui::PythonDebuggerP.running, ArchNesting.Nester.running, draftguitools.gui_edit.Edit.running, draftguitools.gui_line_add_delete.AddPoint.running, draftguitools.gui_line_add_delete.DelPoint.running, draftguitools.gui_offset.Offset.running, draftguitools.gui_snapper.Snapper.running, draftguitools.gui_wire2spline.WireToBSpline.running, femsolver.task.Task.running, AdaptivePath::PerfCounter.running, shipHydrostatics.TaskPanel.TaskPanel.running, qtunittest.BaseGUITestRunner.running, Mod.Test.unittestgui.BaseGUITestRunner.running, ArchNesting.Nester.setCounter, and ArchPanel.NestTaskPanel.setCounter().

Referenced by ArchAxis.AxisSystemTaskPanel.addElement(), ArchComponent.ComponentTaskPanel.addElement(), ArchSectionPlane.SectionPlaneTaskPanel.addElement(), DraftGui.FacebinderTaskPanel.addElement(), femtaskpanels.task_result_mechanical._TaskPanel.calculate(), Spreadsheet_legacy.SpreadsheetView.changeCell(), draftguitools.gui_edit.Edit.endEditing(), draftguitools.gui_trackers.boxTracker.height(), ArchAxis.CommandArchGrid.IsActive(), draftguitools.gui_trackers.rectangleTracker.p3(), Plot.Plot.plot(), Spreadsheet_legacy.SpreadsheetView.recompute(), ArchAxis.AxisSystemTaskPanel.removeElement(), ArchComponent.ComponentTaskPanel.removeElement(), ArchSectionPlane.SectionPlaneTaskPanel.removeElement(), DraftGui.FacebinderTaskPanel.removeElement(), draftguitools.gui_trackers.gridTracker.reset(), and ArchNesting.Nester.run().

Member Data Documentation

◆ container

◆ indexedFaces

ArchNesting.Nester.indexedFaces

◆ indexedfaces

ArchNesting.Nester.indexedfaces

◆ objects

◆ progress

ArchNesting.Nester.progress

◆ results

◆ running

◆ setCounter

ArchNesting.Nester.setCounter

◆ shapes


The documentation for this class was generated from the following file:
  • Sources/FreeCAD/src/Mod/Arch/ArchNesting.py