Functions that are meant to handle different geometrical operations. More...

Namespaces

namespace  arcs
 Provides various functions to work with arcs.
 
namespace  circle_inversion
 Provides various functions for inversive geometry operations.
 
namespace  circles
 Provides various functions to work with circles.
 
namespace  circles_apollonius
 Provides various functions for Apollonius and Soddy circles.
 
namespace  circles_incomplete
 Provides various incomplete functions for creating circles.
 
namespace  cuboids
 Provides various functions for cubic shapes (parallelepipeds).
 
namespace  edges
 Provides various functions to work with edges.
 
namespace  faces
 Provides various functions to work with faces.
 
namespace  fillets
 Provides various functions to work with fillets.
 
namespace  general
 Provides general functions to work with topological shapes.
 
namespace  geo_arrays
 Provides various functions to work with arrays.
 
namespace  geometry
 Provides various functions for general geometrical calculations.
 
namespace  intersections
 Provides various functions to calculate intersections of shapes.
 
namespace  linear_algebra
 Provides various functions for linear algebra.
 
namespace  offsets
 Provides various functions to work with offsets.
 
namespace  sort_edges
 Provides various functions to sort lists of edges.
 
namespace  wires
 Provides various functions to work with wires.
 

Functions

def draftgeoutils.intersections.angleBisection (edge1, edge2)
 
def draftgeoutils.arcs.arcFrom2Pts (firstPt, lastPt, center, axis=None)
 
def draftgeoutils.arcs.arcFromSpline (edge)
 
def draftgeoutils.geometry.are_coplanar (shape_a, shape_b, tol=-1)
 
def draftgeoutils.general.areColinear (e1, e2)
 
def draftgeoutils.faces.bind (w1, w2)
 
def draftgeoutils.geometry.calculatePlacement (shape)
 
def draftgeoutils.circles_incomplete.circleFrom1Circle2Lines (circle, line1, line2)
 
def draftgeoutils.circles_incomplete.circlefrom1Circle2Points (circle, point1, point2)
 
def draftgeoutils.circles.circlefrom1Line2Points (edge, p1, p2)
 
def draftgeoutils.circles_incomplete.circleFrom1tan1pt1rad (tan1, p1, rad)
 
def draftgeoutils.circles_incomplete.circleFrom1tan2pt (tan1, p1, p2)
 
def draftgeoutils.circles_incomplete.circleFrom2Circle1Lines (circle1, circle2, line)
 
def draftgeoutils.circles_incomplete.circlefrom2Circles1Point (circle1, circle2, point)
 
def draftgeoutils.circles_incomplete.circleFrom2CirclesRadius (circle1, circle2, radius)
 
def draftgeoutils.circles.circlefrom2Lines1Point (edge1, edge2, point)
 
def draftgeoutils.circles.circleFrom2LinesRadius (edge1, edge2, radius)
 
def draftgeoutils.circles.circleFrom2PointsRadius (p1, p2, radius)
 
def draftgeoutils.circles_incomplete.circleFrom2tan1pt (tan1, tan2, point)
 
def draftgeoutils.circles_incomplete.circleFrom2tan1rad (tan1, tan2, rad)
 
def draftgeoutils.circles_apollonius.circleFrom3CircleTangents (circle1, circle2, circle3)
 
def draftgeoutils.circles.circleFrom3LineTangents (edge1, edge2, edge3)
 
def draftgeoutils.circles_incomplete.circleFrom3tan (tan1, tan2, tan3)
 
def draftgeoutils.circles_incomplete.circlefromCircleLinePoint (circle, line, point)
 
def draftgeoutils.circles_incomplete.circleFromCircleLineRadius (circle, line, radius)
 
def draftgeoutils.circles_incomplete.circleFromPointCircleRadius (point, circle, radius)
 
def draftgeoutils.circles.circleFromPointLineRadius (point, edge, radius)
 
def draftgeoutils.circle_inversion.circleInversion (circle, circle2)
 
def draftgeoutils.faces.cleanFaces (shape)
 
def draftgeoutils.wires.cleanProjection (shape, tessellate=True, seglength=0.05)
 
def draftgeoutils.faces.concatenate (shape)
 
def draftgeoutils.intersections.connect (edges, closed=False)
 
def draftgeoutils.geo_arrays.create_frames (obj, places)
 
def draftgeoutils.wires.curvetosegment (curve, seglen)
 
def draftgeoutils.wires.curvetowire (obj, steps)
 
def draftgeoutils.linear_algebra.determinant (mat, n)
 
def draftgeoutils.general.edg (p1, p2)
 
def draftgeoutils.fillets.fillet (lEdges, r, chamfer=False)
 
def draftgeoutils.fillets.filletWire (aWire, r, chamfer=False)
 
def draftgeoutils.geometry.find_plane (shape, tol=-1)
 
def draftgeoutils.general.findClosest (base_point, point_list)
 
def draftgeoutils.circles.findClosestCircle (point, circles)
 
def draftgeoutils.geometry.findDistance (point, edge, strict=False)
 
def draftgeoutils.edges.findEdge (anEdge, aList)
 
def draftgeoutils.circles.findHomotheticCenterOfCircles (circle1, circle2)
 
def draftgeoutils.intersections.findIntersection (edge1, edge2, infinite1=False, infinite2=False, ex1=False, ex2=False, dts=True, findAll=False)
 
def draftgeoutils.edges.findMidpoint (edge)
 
def draftgeoutils.geometry.findPerpendicular (point, edgeslist, force=None)
 
def draftgeoutils.circles.findRadicalAxis (circle1, circle2)
 
def draftgeoutils.circles.findRadicalCenter (circle1, circle2, circle3)
 
def draftgeoutils.wires.findWires (edgeslist)
 
def draftgeoutils.wires.findWiresOld (edges)
 
def draftgeoutils.wires.findWiresOld2 (edgeslist)
 
def draftgeoutils.wires.flattenWire (wire)
 
def draftgeoutils.general.geomType (edge)
 
def draftgeoutils.wires.get_extended_wire (wire, offset_start, offset_end)
 
def draftgeoutils.geo_arrays.get_init_values (path, count=6)
 
def draftgeoutils.geo_arrays.get_n_params (edge, number, step, norm)
 
def draftgeoutils.geometry.get_normal (shape, tol=-1)
 
def draftgeoutils.wires.get_placement_perpendicular_to_wire (wire)
 
def draftgeoutils.edges.get_referenced_edges (property_value)
 
def draftgeoutils.geometry.get_spline_normal (edge, tol=-1)
 
def draftgeoutils.geometry.get_spline_surface_normal (shape, tol=-1)
 
def draftgeoutils.geo_arrays.get_twisted_array_shape (base, path, count=15, rot_factor=0.25)
 
def draftgeoutils.geo_arrays.get_twisted_bridge_shape (base, path, count=15, rot_factor=0.25, width=100, thickness=10)
 
def draftgeoutils.geo_arrays.get_twisted_placements (path, count=15, rot_factor=0.25)
 
def draftgeoutils.faces.getBoundary (shape)
 
def draftgeoutils.general.getBoundaryAngles (angle, alist)
 
def draftgeoutils.circles.getCircleFromSpline (edge)
 
def draftgeoutils.cuboids.getCubicDimensions (shape)
 
def draftgeoutils.general.getQuad (face)
 
def draftgeoutils.geometry.getRotation (v1, v2=App.Vector(0, 0, 1))
 
def draftgeoutils.edges.getTangent (edge, from_point=None)
 
def draftgeoutils.general.getVerts (shape)
 
def draftgeoutils.general.hasCurves (shape)
 
def draftgeoutils.general.hasOnlyWires (shape)
 
def draftgeoutils.circles_apollonius.innerSoddyCircle (circle1, circle2, circle3)
 
def draftgeoutils.edges.invert (shape)
 
def draftgeoutils.faces.is_coplanar (faces, tol=-1)
 
def draftgeoutils.edges.is_line (bspline)
 
def draftgeoutils.geometry.is_planar (shape, tol=-1)
 
def draftgeoutils.geometry.is_straight_line (shape, tol=-1)
 
def draftgeoutils.general.isAligned (edge, axis="x")
 
def draftgeoutils.arcs.isClockwise (edge, ref=None)
 
def draftgeoutils.cuboids.isCubic (shape)
 
def draftgeoutils.general.isNull (something)
 
def draftgeoutils.general.isPtOnEdge (pt, edge)
 
def draftgeoutils.wires.isReallyClosed (wire)
 
def draftgeoutils.edges.isSameLine (e1, e2)
 
def draftgeoutils.general.isValidPath (shape)
 
def draftgeoutils.arcs.isWideAngle (edge)
 
def draftgeoutils.linear_algebra.linearFromPoints (p1, p2)
 
def draftgeoutils.geo_arrays.make_tunnel (path, profiles)
 
def draftgeoutils.geo_arrays.make_walkway (path, width=100, thickness=10)
 
def draftgeoutils.geometry.mirror (point, edge)
 
def draftgeoutils.offsets.offset (edge, vector, trim=False)
 
def draftgeoutils.offsets.offsetWire (wire, dvec, bind=False, occ=False, widthList=None, offsetMode=None, alignList=[], normal=None, basewireOffset=0)
 
def draftgeoutils.edges.orientEdge (edge, normal=None, make_arc=False)
 
def draftgeoutils.circles_apollonius.outerSoddyCircle (circle1, circle2, circle3)
 
def draftgeoutils.offsets.pocket2d (shape, offset)
 
def draftgeoutils.circle_inversion.pointInversion (circle, point)
 
def draftgeoutils.circle_inversion.polarInversion (circle, edge)
 
def draftgeoutils.general.precision ()
 
def draftgeoutils.geo_arrays.print_places (places, title="Places")
 
def draftgeoutils.wires.rebaseWire (wire, vidx=0)
 
def draftgeoutils.wires.removeInterVertices (wire)
 
def draftgeoutils.faces.removeSplitter (shape)
 
def draftgeoutils.sort_edges.sortEdges (edges)
 
def draftgeoutils.sort_edges.sortEdgesOld (lEdges, aVertex=None)
 
def draftgeoutils.wires.superWire (edgeslist, closed=False)
 
def draftgeoutils.wires.tessellateProjection (shape, seglen)
 
def draftgeoutils.general.v1 (edge)
 
def draftgeoutils.general.vec (edge, use_orientation=False)
 
def draftgeoutils.intersections.wiresIntersect (wire1, wire2)
 

Variables

def draftgeoutils.geometry.getNormal = get_normal
 
def draftgeoutils.geometry.getSplineNormal = get_spline_normal
 
def draftgeoutils.faces.isCoplanar = is_coplanar
 
def draftgeoutils.edges.isLine = is_line
 
def draftgeoutils.geometry.isPlanar = is_planar
 
 draftgeoutils.general.NORM = App.Vector(0, 0, 1)
 
 draftgeoutils.general.PARAMGRP = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")
 

Detailed Description

Functions that are meant to handle different geometrical operations.

Function Documentation

◆ angleBisection()

def draftgeoutils.intersections.angleBisection (   edge1,
  edge2 
)

◆ arcFrom2Pts()

def draftgeoutils.arcs.arcFrom2Pts (   firstPt,
  lastPt,
  center,
  axis = None 
)
Build an arc with center and 2 points, can be oriented with axis.

Referenced by draftgeoutils.fillets.fillet().

◆ arcFromSpline()

def draftgeoutils.arcs.arcFromSpline (   edge)
Turn given edge into a circular arc from three points.

Takes its first point, midpoint and endpoint. It works best with bspline
segments such as those from imported svg files. Use this only
if you are sure your edge is really an arc.

It returns None if there is a problem, including passing straight edges.

References draftgeoutils.general.geomType().

◆ are_coplanar()

def draftgeoutils.geometry.are_coplanar (   shape_a,
  shape_b,
  tol = -1 
)
Return True if exist a plane containing both shapes.

References draftgeoutils.geometry.find_plane(), and draftgeoutils.geometry.is_planar().

Referenced by draftgeoutils.faces.is_coplanar().

◆ areColinear()

def draftgeoutils.general.areColinear (   e1,
  e2 
)
Return True if both edges are colinear.

References DraftVecUtils.isNull(), and draftgeoutils.general.vec().

◆ bind()

def draftgeoutils.faces.bind (   w1,
  w2 
)
Bind 2 wires by their endpoints and returns a face.

Referenced by PartDesignGui::Workbench.activated(), Gui::ViewProviderDocumentObject.addDefaultAction(), Base::InventorBuilder.addMaterialBinding(), Gui::Application.Application(), MeshPartGui::CrossSections.apply(), PartGui::CrossSections.apply(), PartDesignGui::ViewProviderAddSub.attach(), PartDesignGui::ViewProviderBody.attach(), TechDrawGui::ViewProviderDrawingView.attach(), TechDrawGui::ViewProviderPage.attach(), App::DocumentObserver.attachDocument(), Gui::DocumentObserver.attachDocument(), Gui::SelectionObserver.attachSelection(), Gui::AutoSaveProperty.AutoSaveProperty(), Gui::ExpressionBinding.bind(), Gui::Dialog::DocumentRecoveryFinder.checkForPreviousCrashes(), MeshGui::ViewProviderMesh.clipMeshCallback(), Cloud::Module.cloudRestore(), MeshCore::MeshCurvature.ComputePerFace(), Gui::UiLoaderPy.createWidget(), PartGui::DlgBooleanOperation.DlgBooleanOperation(), Gui::Dialog::DlgDisplayPropertiesImp.DlgDisplayPropertiesImp(), PartGui::DlgFilletEdges.DlgFilletEdges(), Gui::Document.Document(), Gui::DocumentItem.DocumentItem(), Gui::DocumentModel.DocumentModel(), Gui::DocumentObjectData.DocumentObjectData(), App::DocumentObserver.DocumentObserver(), Gui::ElementColors.ElementColors(), Gui::ViewProvider.eventCallback(), Inspection::Feature.execute(), Gui::ViewProviderOriginGroupExtension.extensionAttach(), App::GroupExtension.extensionOnChanged(), PartGui::ViewProviderAttachExtension.extensionSetupContextMenu(), PartGui::ViewProviderSplineExtension.extensionSetupContextMenu(), PartGui::FaceColors.FaceColors(), MeshGui::ViewProviderMesh.getVisibleFacets(), Gui::GraphvizView.GraphvizView(), App::PropertyExpressionEngine.hasSetValue(), ShapeCache.init(), App::DocInfo.init(), Spreadsheet::PropertySheet.insertRows(), Gui::TaskView::TaskView.keyPressEvent(), Gui::LinkInfo.LinkInfo(), Gui::ManualAlignment.ManualAlignment(), Gui::MDIView.MDIView(), TechDrawGui::MDIViewPage.MDIViewPage(), MeasureInfo.MeasureInfo(), App::MergeDocuments.MergeDocuments(), Gui::MergeDocuments.MergeDocuments(), Gui::DAG::Model.Model(), App::Application.newDocument(), Gui::Dialog::DocumentRecovery.on_buttonCleanup_clicked(), Spreadsheet::PropertySheet.onAddDep(), PartDesign::SubShapeBinder.onChanged(), DrawingGui::OrthoViews.OrthoViews(), Gui::Dialog::Placement.Placement(), Gui::DocumentWeakPtrT::Private.Private(), Gui::PropertyView.PropertyView(), Spreadsheet::PropertySheet.removeColumns(), Spreadsheet::PropertySheet.removeRows(), Gui::SelectionSingleton.SelectionSingleton(), App::DocumentObjectWeakPtrT::Private.set(), Gui::ViewProviderWeakPtrT::Private.set(), SketcherGui::ViewProviderSketch.setEdit(), SpreadsheetGui::SheetTableView.setSheet(), FemGui::ViewProviderFemAnalysis.setupContextMenu(), MeshGui::ViewProviderMesh.setupContextMenu(), PartGui::ViewProviderPrimitive.setupContextMenu(), TechDrawGui::ViewProviderBalloon.setupContextMenu(), TechDrawGui::ViewProviderDimension.setupContextMenu(), Gui::ViewProviderTextDocument.setupContextMenu(), Gui::ViewProviderPart.setupContextMenu(), PartDesignGui::ViewProviderBody.setupContextMenu(), FemGui::FunctionWidget.setViewProvider(), SpreadsheetGui::SheetModel.SheetModel(), SpreadsheetGui::SheetView.SheetView(), Sketcher::SketchObject.SketchObject(), Gui::Application.slotNewDocument(), Reen::BSplineParameterCorrection.SolveWithSmoothing(), Gui::ManualAlignment.startAlignment(), MeshGui::MeshFillHole.startEditing(), StdCmdDrawStyle.StdCmdDrawStyle(), StdCmdUserEditMode.StdCmdUserEditMode(), Gui::TaskView::TaskAppearance.TaskAppearance(), PartGui::TaskAttacher.TaskAttacher(), PartDesignGui::TaskHoleParameters.TaskHoleParameters(), SandboxGui::TaskPanelView.TaskPanelView(), SketcherGui::TaskSketcherConstraints.TaskSketcherConstraints(), SketcherGui::TaskSketcherElements.TaskSketcherElements(), SketcherGui::TaskSketcherGeneral.TaskSketcherGeneral(), SketcherGui::TaskSketcherMessages.TaskSketcherMessages(), PartDesignGui::TaskTransformedMessages.TaskTransformedMessages(), Gui::TaskView::TaskView.TaskView(), Gui::TreeWidget.TreeWidget(), MeshGui::ViewProviderMesh.trimMeshCallback(), App::LinkBaseExtension.updateGroup(), Gui::DAG::View.View(), Gui::WorkbenchGroup.WorkbenchGroup(), and SMESH_Mesh.~SMESH_Mesh().

◆ calculatePlacement()

def draftgeoutils.geometry.calculatePlacement (   shape)
Return a placement located in the center of gravity of the shape.

If the given shape is planar, return a placement located at the center
of gravity of the shape, and oriented towards the shape's normal.
Otherwise, it returns a null placement.

References draftgeoutils.geometry.get_normal(), draftgeoutils.geometry.getRotation(), and draftgeoutils.geometry.is_planar().

◆ circleFrom1Circle2Lines()

def draftgeoutils.circles_incomplete.circleFrom1Circle2Lines (   circle,
  line1,
  line2 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom3tan().

◆ circlefrom1Circle2Points()

def draftgeoutils.circles_incomplete.circlefrom1Circle2Points (   circle,
  point1,
  point2 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom1tan2pt().

◆ circlefrom1Line2Points()

def draftgeoutils.circles.circlefrom1Line2Points (   edge,
  p1,
  p2 
)

◆ circleFrom1tan1pt1rad()

def draftgeoutils.circles_incomplete.circleFrom1tan1pt1rad (   tan1,
  p1,
  rad 
)
Circle from one tangent, one point, and radius.

The tangents should be edges, and they may be either straight line edges
or circular edges, so two combinations are possible.

References draftgeoutils.circles_incomplete.circleFromPointCircleRadius(), draftgeoutils.circles.circleFromPointLineRadius(), and draftgeoutils.general.geomType().

◆ circleFrom1tan2pt()

def draftgeoutils.circles_incomplete.circleFrom1tan2pt (   tan1,
  p1,
  p2 
)
Circle from one tangent and two points.

The tangents should be edges, and they may be either straight line edges
or circular edges, so two combinations are possible.

References draftgeoutils.circles_incomplete.circlefrom1Circle2Points(), draftgeoutils.circles.circlefrom1Line2Points(), and draftgeoutils.general.geomType().

◆ circleFrom2Circle1Lines()

def draftgeoutils.circles_incomplete.circleFrom2Circle1Lines (   circle1,
  circle2,
  line 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom3tan().

◆ circlefrom2Circles1Point()

def draftgeoutils.circles_incomplete.circlefrom2Circles1Point (   circle1,
  circle2,
  point 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom2tan1pt().

◆ circleFrom2CirclesRadius()

def draftgeoutils.circles_incomplete.circleFrom2CirclesRadius (   circle1,
  circle2,
  radius 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom2tan1rad().

◆ circlefrom2Lines1Point()

def draftgeoutils.circles.circlefrom2Lines1Point (   edge1,
  edge2,
  point 
)

◆ circleFrom2LinesRadius()

def draftgeoutils.circles.circleFrom2LinesRadius (   edge1,
  edge2,
  radius 
)

◆ circleFrom2PointsRadius()

def draftgeoutils.circles.circleFrom2PointsRadius (   p1,
  p2,
  radius 
)
Return a list of circles from two points, and one radius.

The two points must not be equal.

It calculates up to 2 possible centers.

References DraftVecUtils.dist(), DraftVecUtils.equals(), draftgeoutils.edges.findMidpoint(), and draftgeoutils.general.vec().

◆ circleFrom2tan1pt()

def draftgeoutils.circles_incomplete.circleFrom2tan1pt (   tan1,
  tan2,
  point 
)
Circle from two tangents and one point.

The tangents should be edges, and they may be either straight line edges
or circular edges, so four combinations are possible.

References draftgeoutils.circles_incomplete.circlefrom2Circles1Point(), draftgeoutils.circles.circlefrom2Lines1Point(), draftgeoutils.circles_incomplete.circlefromCircleLinePoint(), and draftgeoutils.general.geomType().

◆ circleFrom2tan1rad()

def draftgeoutils.circles_incomplete.circleFrom2tan1rad (   tan1,
  tan2,
  rad 
)
Circle from two tangents and one radius.

The tangents should be edges, and they may be either straight line edges
or circular edges, so four combinations are possible.

References draftgeoutils.circles_incomplete.circleFrom2CirclesRadius(), draftgeoutils.circles.circleFrom2LinesRadius(), draftgeoutils.circles_incomplete.circleFromCircleLineRadius(), and draftgeoutils.general.geomType().

◆ circleFrom3CircleTangents()

def draftgeoutils.circles_apollonius.circleFrom3CircleTangents (   circle1,
  circle2,
  circle3 
)
Return the circle that is tangent to three other circles.

This problem is called the 'Problem of Appollonius'.

A special case is that of 'Soddy circles'.

To Do
-----
Currently not all possible solutions are found, only the Soddy circles.

* Calc all 6 homothetic centers.
* Create 3 lines from the inner and 4 from the outer h. center.
* Calc. the 4 inversion poles of these lines for each circle.
* Calc. the radical center of the 3 circles.
* Calc. the intersection points (max. 8) of 4 lines (through each
  inversion pole and the radical center) with the circle.
* This gives us all the tangent points.

References draftgeoutils.intersections.findIntersection(), draftgeoutils.general.geomType(), draftgeoutils.circles_apollonius.innerSoddyCircle(), and draftgeoutils.circles_apollonius.outerSoddyCircle().

Referenced by draftgeoutils.circles_incomplete.circleFrom3tan().

◆ circleFrom3LineTangents()

def draftgeoutils.circles.circleFrom3LineTangents (   edge1,
  edge2,
  edge3 
)

◆ circleFrom3tan()

def draftgeoutils.circles_incomplete.circleFrom3tan (   tan1,
  tan2,
  tan3 
)
Circle from three tangents.

The tangents should be edges, and they may be either straight line edges
or circular edges, so eight combinations are possible.

References draftgeoutils.circles_incomplete.circleFrom1Circle2Lines(), draftgeoutils.circles_incomplete.circleFrom2Circle1Lines(), draftgeoutils.circles_apollonius.circleFrom3CircleTangents(), draftgeoutils.circles.circleFrom3LineTangents(), and draftgeoutils.general.geomType().

◆ circlefromCircleLinePoint()

def draftgeoutils.circles_incomplete.circlefromCircleLinePoint (   circle,
  line,
  point 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom2tan1pt().

◆ circleFromCircleLineRadius()

def draftgeoutils.circles_incomplete.circleFromCircleLineRadius (   circle,
  line,
  radius 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom2tan1rad().

◆ circleFromPointCircleRadius()

def draftgeoutils.circles_incomplete.circleFromPointCircleRadius (   point,
  circle,
  radius 
)
Do nothing. Placeholder function. Needs to be implemented.

Referenced by draftgeoutils.circles_incomplete.circleFrom1tan1pt1rad().

◆ circleFromPointLineRadius()

def draftgeoutils.circles.circleFromPointLineRadius (   point,
  edge,
  radius 
)
Return a list of circles from one point, one edge, and one radius.

It calculates up to 2 possible centers.

References DraftVecUtils.dist(), draftgeoutils.geometry.findDistance(), DraftVecUtils.scaleTo(), and draftgeoutils.general.vec().

Referenced by draftgeoutils.circles_incomplete.circleFrom1tan1pt1rad().

◆ circleInversion()

def draftgeoutils.circle_inversion.circleInversion (   circle,
  circle2 
)
Circle inversion of a circle, inverting the center point.

Returns the new circle created from the inverted center of circle2.

References DraftVecUtils.dist(), DraftVecUtils.equals(), draftgeoutils.general.geomType(), and draftgeoutils.circle_inversion.pointInversion().

◆ cleanFaces()

def draftgeoutils.faces.cleanFaces (   shape)
Remove inner edges from coplanar faces.

References DraftVecUtils.find(), and draftgeoutils.faces.getBoundary().

◆ cleanProjection()

def draftgeoutils.wires.cleanProjection (   shape,
  tessellate = True,
  seglength = 0.05 
)
Return a compound of edges, optionally tessellate ellipses, splines
and bezcurves.

The function was formerly used to workaround bugs in the projection
algorithm. These bugs have since been fixed. Now the function is only
used when tessellation of ellipses, splines and bezcurves is required
(DXF output and Draft_Shape2DView).

References draftgeoutils.wires.curvetowire(), draftgeoutils.general.geomType(), and draftgeoutils.edges.isLine.

◆ concatenate()

def draftgeoutils.faces.concatenate (   shape)
Turn several faces into one.

References draftgeoutils.faces.getBoundary().

◆ connect()

def draftgeoutils.intersections.connect (   edges,
  closed = False 
)
Connect the edges in the given list by their intersections.

References DraftVecUtils.closest(), draftgeoutils.intersections.findIntersection(), draftgeoutils.edges.findMidpoint(), and draftgeoutils.general.geomType().

Referenced by Gui::Action.Action(), Gui::ActionGroup.ActionGroup(), Gui::ActionSelector.ActionSelector(), SpreadsheetGui::Workbench.activated(), StdCmdAlignment.activated(), CmdTestProgress5.activated(), StdViewScreenShot.activated(), CmdSandboxEventLoop.activated(), CmdSandboxMeshLoader.activated(), draftguitools.gui_annotationstyleeditor.AnnotationStyleEditor.Activated(), Mod.PartDesign.WizardShaft.WizardShaftTable.WizardShaftTable.addColumn(), Gui::DockWindowManager.addDockWindow(), Gui::WorkbenchGroup.addTo(), Gui::UndoAction.addTo(), Gui::RedoAction.addTo(), Gui::DockWidgetAction.addTo(), Gui::ToolBarAction.addTo(), Gui::WindowAction.addTo(), Gui::MainWindow.addWindow(), Gui::View3DInventorViewer.animatedViewAll(), WebGui::BrowserView.BrowserView(), Gui::Dialog::DlgSettingsLazyLoadedImp.buildUnloadedWorkbenchList(), Gui::ButtonGroup.ButtonGroup(), Gui::CallTipsList.CallTipsList(), Gui::Dialog::CameraDialog.CameraDialog(), Gui::PythonConsole.changeEvent(), MeshGui::CleanupHandler.CleanupHandler(), Gui::ClearLineEdit.ClearLineEdit(), Gui::ColorButton.ColorButton(), ColorPickerPopup.ColorPickerPopup(), Gui::DockWnd::ComboView.ComboView(), Gui::CommandIconView.CommandIconView(), Gui::Dialog::CommandView.CommandView(), Gui::CompletionList.CompletionList(), Gui::PyResource.connect(), FemGui::TaskDlgPost.connectSlots(), SketcherGui::ConstraintSettingsDialog.ConstraintSettingsDialog(), Gui::ContainerDialog.ContainerDialog(), Gui::TreeWidget.contextMenuEvent(), WebGui::WebView.contextMenuEvent(), ImageGui::ImageView.createActions(), PartGui::PropertyEnumAttacherItem.createEditor(), SpreadsheetGui::SpreadsheetDelegate.createEditor(), Gui::PropertyEditor::PropertyItem.createExpressionEditor(), Gui::PropertyEditor::PropertyItem.createPropertyEditorWidget(), Gui::SoFCColorGradient.customize(), Gui::Dialog::DemoMode.DemoMode(), PartGui::DimensionControl.DimensionControl(), PartDesignGui::DlgActiveBody.DlgActiveBody(), SpreadsheetGui::DlgBindSheet.DlgBindSheet(), PartGui::DlgBooleanOperation.DlgBooleanOperation(), Gui::Dialog::DlgCheckableMessageBox.DlgCheckableMessageBox(), Gui::Dialog::DlgCreateNewPreferencePackImp.DlgCreateNewPreferencePackImp(), Gui::Dialog::DlgCustomCommandsImp.DlgCustomCommandsImp(), Gui::Dialog::DlgCustomizeImp.DlgCustomizeImp(), Gui::Dialog::DlgCustomizeSpaceball.DlgCustomizeSpaceball(), MeshGui::DlgEvaluateMeshImp.DlgEvaluateMeshImp(), Gui::Dialog::DlgExpressionInput.DlgExpressionInput(), PartGui::DlgFilletEdges.DlgFilletEdges(), Gui::Dialog::DlgGeneralImp.DlgGeneralImp(), Gui::Dialog::DlgInputDialogImp.DlgInputDialogImp(), TechDrawGui::DlgPageChooser.DlgPageChooser(), Gui::Dialog::DlgParameterImp.DlgParameterImp(), Gui::Dialog::DlgPreferencePackManagementImp.DlgPreferencePackManagementImp(), Gui::Dialog::DlgPreferencesImp.DlgPreferencesImp(), TechDrawGui::DlgPrefsTechDrawAnnotationImp.DlgPrefsTechDrawAnnotationImp(), TechDrawGui::DlgPrefsTechDrawScaleImp.DlgPrefsTechDrawScaleImp(), PartGui::DlgPrimitives.DlgPrimitives(), Gui::Dialog::DlgProjectInformationImp.DlgProjectInformationImp(), Gui::Dialog::DlgPropertyLink.DlgPropertyLink(), Gui::Dialog::DlgRevertToBackupConfigImp.DlgRevertToBackupConfigImp(), PartGui::DlgRevolution.DlgRevolution(), Gui::Dialog::DlgRunExternal.DlgRunExternal(), Gui::Dialog::DlgSettingsCacheDirectory.DlgSettingsCacheDirectory(), Gui::Dialog::DlgSettingsDocumentImp.DlgSettingsDocumentImp(), FemGui::DlgSettingsFemElmerImp.DlgSettingsFemElmerImp(), FemGui::DlgSettingsFemZ88Imp.DlgSettingsFemZ88Imp(), SpreadsheetGui::DlgSheetConf.DlgSheetConf(), MeshGui::DlgSmoothing.DlgSmoothing(), Gui::Dialog::DlgUnitsCalculator.DlgUnitsCalculator(), Gui::Dialog::DownloadItem.DownloadItem(), DrawingGui::DrawingView.DrawingView(), Gui::EditorView.EditorView(), Gui::Dialog::DlgCustomActionsImp.event(), Gui::Dialog::CustomizeActionPage.event(), SketcherGui::EditDatumDialog.exec(), Inspection::Feature.execute(), Gui::ExpLineEdit.ExpLineEdit(), Gui::ExpressionLineEdit.ExpressionLineEdit(), Gui::ExpressionSpinBox.ExpressionSpinBox(), Gui::ExpressionTextEdit.ExpressionTextEdit(), WebGui::FcCookieJar.FcCookieJar(), Gui::FileChooser.FileChooser(), Gui::FileDialog.FileDialog(), Gui::FileOptionsDialog.FileOptionsDialog(), PartGui::FilletEdgesDialog.FilletEdgesDialog(), SurfaceGui::FillingEdgePanel.FillingEdgePanel(), SurfaceGui::FillingPanel.FillingPanel(), SurfaceGui::FillingVertexPanel.FillingVertexPanel(), SurfaceGui::GeomFillSurface.GeomFillSurface(), MeshGui::GmshWidget.GmshWidget(), Gui::GraphicsScene.GraphicsScene(), Gui::GraphvizView.GraphvizView(), Gui::GUIApplication.GUIApplication(), Gui::GUISingleApplication.GUISingleApplication(), Gui::ActionFunction.hover(), Gui::Dialog::IconDialog.IconDialog(), Gui::Dialog::IconFolders.IconFolders(), ImageGui::ImageOrientationDialog.ImageOrientationDialog(), ImageGui::ImageView.ImageView(), Gui::HttpServer.incomingConnection(), Web::AppServer.incomingConnection(), Gui::View3DInventorViewer.init(), QSint::ActionGroup.init(), CustomGLWidget.initializeGL(), Gui::GuiNativeEvent.initSpaceball(), TechDrawGui::TaskGeomHatch.initUi(), Gui::InputField.InputField(), ColorPickerPopup.insertColor(), Gui::LabelButton.LabelButton(), Gui::LabelEditor.LabelEditor(), Gui::PropertyEditor::LinkLabel.LinkLabel(), Gui::Dialog::DlgSettings3DViewImp.loadSettings(), Gui::Dialog::DlgSettingsNavigation.loadSettings(), PartGui::Location.Location(), Gui::LocationWidget.LocationWidget(), PartGui::LoftWidget.LoftWidget(), Gui::MainWindow.MainWindow(), TechDrawGui::MDIViewPage.MDIViewPage(), Gui::DAG::Model.Model(), TechDrawGui::QGIRichAnno.mouseDoubleClickEvent(), TechDrawGui::QGIViewAnnotation.mouseDoubleClickEvent(), Gui::View3DInventorViewer.moveCameraTo(), MRichTextEdit.MRichTextEdit(), NetworkAccessManager.NetworkAccessManager(), Gui::NetworkRetriever.NetworkRetriever(), draftgeoutils.offsets.offsetWire(), SketcherGui::TaskSketcherConstraints.on_settingsDialogButton_clicked(), TechDrawGui::TaskWeldingSymbol.onArrowSymbolClicked(), TechDrawGui::TaskWeldingSymbol.onArrowSymbolCreateClicked(), Gui::ColorButton.onChooseColor(), Gui::PropertyEditor::LinkLabel.onEditClicked(), TechDrawGui::TaskRichAnno.onEditorClicked(), Gui::Dialog::DlgGeneralImp.onManagePreferencePacksClicked(), TechDrawGui::TaskWeldingSymbol.onOtherSymbolClicked(), TechDrawGui::TaskWeldingSymbol.onOtherSymbolCreateClicked(), TechDrawGui::TaskLeaderLine.onTrackerClicked(), Gui::QuantitySpinBox.openFormulaDialog(), Gui::ExpressionSpinBox.openFormulaDialog(), MeshGui::ParametersDialog.ParametersDialog(), Gui::Dialog::ParameterValue.ParameterValue(), Gui::Dialog::Placement.Placement(), FemGui::PlaneWidget.PlaneWidget(), MeshGui::MeshSelection.prepareFreehandSelection(), Gui::EditorView.printPreview(), Gui::GraphvizView.printPreview(), Gui::View3DInventor.printPreview(), DrawingGui::DrawingView.printPreview(), SpreadsheetGui::SheetView.printPreview(), TechDrawGui::MDIViewPage.printPreview(), Gui::ProgressBar.ProgressBar(), Gui::ProgressDialog.ProgressDialog(), SpreadsheetGui::PropertiesDialog.PropertiesDialog(), Gui::PropertyEditor::PropertyEditor.PropertyEditor(), Gui::PropertyEditor::PropertyEditorWidget.PropertyEditorWidget(), Gui::PropertyListEditor.PropertyListEditor(), Gui::PropertyView.PropertyView(), Gui::PythonEditor.PythonEditor(), Gui::PythonEditorView.PythonEditorView(), TechDrawGui::QGILeaderLine.QGILeaderLine(), TechDrawGui::QGIViewBalloon.QGIViewBalloon(), TechDrawGui::QGIViewDimension.QGIViewDimension(), QtColorPicker.QtColorPicker(), Gui::QuantitySpinBox.QuantitySpinBox(), Gui::PythonConsole.readline(), Gui::Dialog::DlgGeneralImp.recreatePreferencePackMenu(), Gui::RedoAction.RedoAction(), Gui::Dialog::RedoDialog.RedoDialog(), MeshGui::RemoveComponentsDialog.RemoveComponentsDialog(), Gui::Application.runApplication(), Gui::SearchBar.SearchBar(), PartGui::SectionCut.SectionCut(), SurfaceGui::SectionsPanel.SectionsPanel(), Gui::DockWnd::SelectionView.SelectionView(), Gui::SelectModule.SelectModule(), Gui::Action.setCheckable(), Gui::ExpressionTextEdit.setDocumentObject(), Gui::ExpressionLineEdit.setDocumentObject(), DrawingGui::TaskOrthoViews.setPrimary(), TechDrawGui::TaskCenterLine.setUiConnect(), TechDrawGui::TaskSectionView.setUiEdit(), TechDrawGui::TaskCustomizeFormat.setUiEdit(), TechDrawGui::TaskLeaderLine.setUiEdit(), TechDrawGui::TaskSectionView.setUiPrimary(), Ui_DlgBindSheet.setupUi(), Ui_DlgExpressionInput.setupUi(), Ui_DlgProcessorChooser.setupUi(), Ui_DlgSheetConf.setupUi(), Gui::Dialog::Ui_AboutApplication.setupUi(), Gui::Dialog::Ui_Clipping.setupUi(), Gui::Dialog::Ui_DemoMode.setupUi(), Gui::Dialog::Ui_DlgActivateWindow.setupUi(), Gui::Dialog::Ui_DlgAddProperty.setupUi(), Gui::Dialog::Ui_DlgCheckableMessageBox.setupUi(), Gui::Dialog::Ui_DlgChooseIcon.setupUi(), Gui::Dialog::Ui_DlgCreateNewPreferencePack.setupUi(), Gui::Dialog::Ui_DlgDisplayProperties.setupUi(), Gui::Dialog::Ui_DlgInputDialog.setupUi(), Gui::Dialog::Ui_DlgMacroExecute.setupUi(), Gui::Dialog::Ui_DlgMaterialProperties.setupUi(), Gui::Dialog::Ui_DlgParameterFind.setupUi(), Gui::Dialog::Ui_DlgPreferences.setupUi(), Gui::Dialog::Ui_DlgProjectInformation.setupUi(), Gui::Dialog::Ui_DlgProjectUtility.setupUi(), Gui::Dialog::Ui_DlgPropertyLink.setupUi(), Gui::Dialog::Ui_DlgRevertToBackupConfig.setupUi(), Gui::Dialog::Ui_DlgSettingsColorGradient.setupUi(), Gui::Dialog::Ui_DocumentRecovery.setupUi(), Gui::Dialog::Ui_InputVector.setupUi(), Gui::Dialog::Ui_MouseButtons.setupUi(), Gui::Dialog::Ui_Placement.setupUi(), Gui::Dialog::Ui_SceneInspector.setupUi(), Gui::Ui_DlgTreeWidget.setupUi(), Gui::Ui_VectorListEditor.setupUi(), ImageGui::Ui_ImageOrientationDialog.setupUi(), InspectionGui::Ui_VisualInspection.setupUi(), MeshGui::Ui_DlgEvaluateMesh.setupUi(), MeshGui::Ui_DlgEvaluateSettings.setupUi(), MeshGui::Ui_DlgRegularSolid.setupUi(), MeshPartGui::Ui_CrossSections.setupUi(), PartDesignGui::Ui_DlgActiveBody.setupUi(), PartDesignGui::Ui_DlgReference.setupUi(), PartGui::Ui_DlgPartBox.setupUi(), PartGui::Ui_DlgPartCylinder.setupUi(), PartGui::Ui_SectionCut.setupUi(), PartGui::Ui_ShapeFromMesh.setupUi(), Ui_PropertiesDialog.setupUi(), SketcherGui::Ui_InsertDatum.setupUi(), SketcherGui::Ui_SketcherRegularPolygonDialog.setupUi(), SketcherGui::Ui_SketchMirrorDialog.setupUi(), SketcherGui::Ui_SketchOrientationDialog.setupUi(), SketcherGui::Ui_SketchRectangularArrayDialog.setupUi(), TechDrawGui::Ui_DlgPageChooser.setupUi(), TechDrawGui::Ui_dlgTemplateField.setupUi(), TechDrawGui::Ui_SymbolChooser.setupUi(), TestGui::Ui_UnitTest.setupUi(), FemGui::Ui_DlgSettingsFemCcxImp.setupUi(), FemGui::Ui_DlgSettingsFemElmerImp.setupUi(), FemGui::Ui_DlgSettingsFemGeneralImp.setupUi(), FemGui::Ui_DlgSettingsFemGmshImp.setupUi(), FemGui::Ui_DlgSettingsFemMaterialImp.setupUi(), FemGui::Ui_DlgSettingsFemMystranImp.setupUi(), FemGui::Ui_DlgSettingsFemZ88Imp.setupUi(), Gui::Dialog::Ui_DlgSettings3DView.setupUi(), Gui::Dialog::Ui_DlgSettingsDocument.setupUi(), Gui::Dialog::Ui_DlgSettingsImage.setupUi(), Gui::Dialog::Ui_DlgSettingsMacro.setupUi(), Gui::Dialog::Ui_DlgSettingsViewColor.setupUi(), Gui::TaskView::Ui_TaskAppearance.setupUi(), MeshGui::Ui_DlgSettingsMeshView.setupUi(), MeshGui::Ui_Segmentation.setupUi(), MeshPartGui::Ui_Tessellation.setupUi(), PartDesignGui::Ui_TaskChamferParameters.setupUi(), PartDesignGui::Ui_TaskLinearPatternParameters.setupUi(), PartDesignGui::Ui_TaskMirroredParameters.setupUi(), PartDesignGui::Ui_TaskMultiTransformParameters.setupUi(), PartDesignGui::Ui_TaskPipeOrientation.setupUi(), PartDesignGui::Ui_TaskPipeScaling.setupUi(), PartDesignGui::Ui_TaskPolarPatternParameters.setupUi(), PartGui::Ui_DlgPrimitives.setupUi(), PartGui::Ui_DlgSettingsObjectColor.setupUi(), SketcherGui::Ui_ConstraintMultiFilterDialog.setupUi(), SketcherGui::Ui_ConstraintSettingsDialog.setupUi(), SketcherGui::Ui_SketcherSettingsDisplay.setupUi(), Ui_TaskActiveView.setupUi(), Ui_TaskHoleParameters.setupUi(), TechDrawGui::Ui_DlgPrefsTechDrawDimensionsImp.setupUi(), TechDrawGui::Ui_TaskProjGroup.setupUi(), TechDrawGui::Ui_TaskRichAnno.setupUi(), TechDrawGui::TaskProjGroup.setupViewCheckboxes(), PartGui::ShapeBuilderWidget.ShapeBuilderWidget(), SpreadsheetGui::SheetTableView.SheetTableView(), SpreadsheetGui::SheetView.SheetView(), Gui::ControlSingleton.showDialog(), Gui::TaskView::TaskView.showDialog(), Gui::Dialog::AboutDialog.showLibraryInformation(), TechDrawGui::QGEPath.showMarkers(), Gui::StatusWidget.showText(), SketcherGui::SketcherGeneralWidget.SketcherGeneralWidget(), SketcherGui::SketcherSettingsDisplay.SketcherSettingsDisplay(), SketcherGui::SketchOrientationDialog.SketchOrientationDialog(), MeshGui::SmoothingDialog.SmoothingDialog(), FemGui::SphereWidget.SphereWidget(), Gui::ManualAlignment.startAlignment(), Gui::GUISingleApplication::Private.startServer(), TechDrawGui::TaskCosVertex.startTracker(), TechDrawGui::TaskLeaderLine.startTracker(), Gui::StdCmdDownloadOnlineHelp.StdCmdDownloadOnlineHelp(), PartGui::SteppedSelection.SteppedSelection(), PartGui::SweepWidget.SweepWidget(), TechDrawGui::SymbolChooser.SymbolChooser(), TechDrawGui::TaskAlignViews.TaskAlignViews(), PartGui::TaskAttacher.TaskAttacher(), TechDrawGui::TaskBalloon.TaskBalloon(), PartDesignGui::TaskBooleanParameters.TaskBooleanParameters(), PartDesignGui::TaskBoxPrimitives.TaskBoxPrimitives(), PartDesignGui::TaskChamferParameters.TaskChamferParameters(), PartGui::TaskCheckGeometryDialog.TaskCheckGeometryDialog(), TechDrawGui::TaskCosVertex.TaskCosVertex(), FemGui::TaskCreateNodeSet.TaskCreateNodeSet(), TechDrawGui::TaskDetail.TaskDetail(), TechDrawGui::TaskDimension.TaskDimension(), PartDesignGui::TaskDlgPipeParameters.TaskDlgPipeParameters(), RobotGui::TaskDlgSimulate.TaskDlgSimulate(), PartDesignGui::TaskDraftParameters.TaskDraftParameters(), RobotGui::TaskEdge2TracParameter.TaskEdge2TracParameter(), PartDesignGui::TaskFeaturePick.TaskFeaturePick(), FemGui::TaskFemConstraint.TaskFemConstraint(), FemGui::TaskFemConstraintBearing.TaskFemConstraintBearing(), FemGui::TaskFemConstraintContact.TaskFemConstraintContact(), FemGui::TaskFemConstraintDisplacement.TaskFemConstraintDisplacement(), FemGui::TaskFemConstraintFixed.TaskFemConstraintFixed(), FemGui::TaskFemConstraintFluidBoundary.TaskFemConstraintFluidBoundary(), FemGui::TaskFemConstraintForce.TaskFemConstraintForce(), FemGui::TaskFemConstraintGear.TaskFemConstraintGear(), FemGui::TaskFemConstraintHeatflux.TaskFemConstraintHeatflux(), FemGui::TaskFemConstraintOnBoundary.TaskFemConstraintOnBoundary(), FemGui::TaskFemConstraintPlaneRotation.TaskFemConstraintPlaneRotation(), FemGui::TaskFemConstraintPressure.TaskFemConstraintPressure(), FemGui::TaskFemConstraintPulley.TaskFemConstraintPulley(), FemGui::TaskFemConstraintSpring.TaskFemConstraintSpring(), FemGui::TaskFemConstraintTemperature.TaskFemConstraintTemperature(), FemGui::TaskFemConstraintTransform.TaskFemConstraintTransform(), PartDesignGui::TaskFilletParameters.TaskFilletParameters(), TechDrawGui::TaskGeomHatch.TaskGeomHatch(), TechDrawGui::TaskHatch.TaskHatch(), QSint::TaskHeader.TaskHeader(), PartDesignGui::TaskHoleParameters.TaskHoleParameters(), TechDrawGui::TaskLeaderLine.TaskLeaderLine(), PartDesignGui::TaskLinearPatternParameters.TaskLinearPatternParameters(), TechDrawGui::TaskLineDecor.TaskLineDecor(), TechDrawGui::TaskLinkDim.TaskLinkDim(), PartDesignGui::TaskLoftParameters.TaskLoftParameters(), PartDesignGui::TaskMirroredParameters.TaskMirroredParameters(), PartDesignGui::TaskMultiTransformParameters.TaskMultiTransformParameters(), FemGui::TaskObjectName.TaskObjectName(), DrawingGui::TaskOrthoViews.TaskOrthoViews(), SandboxGui::TaskPanelView.TaskPanelView(), PartDesignGui::TaskPipeOrientation.TaskPipeOrientation(), PartDesignGui::TaskPipeParameters.TaskPipeParameters(), PartDesignGui::TaskPipeScaling.TaskPipeScaling(), Gui::Dialog::TaskPlacement.TaskPlacement(), PartDesignGui::TaskPolarPatternParameters.TaskPolarPatternParameters(), FemGui::TaskPostDataAlongLine.TaskPostDataAlongLine(), FemGui::TaskPostDataAtPoint.TaskPostDataAtPoint(), TechDrawGui::TaskProjGroup.TaskProjGroup(), TechDrawGui::TaskRestoreLines.TaskRestoreLines(), TechDrawGui::TaskRichAnno.TaskRichAnno(), RobotGui::TaskRobot6Axis.TaskRobot6Axis(), PartDesignGui::TaskScaledParameters.TaskScaledParameters(), TechDrawGui::TaskSectionView.TaskSectionView(), SketcherGui::TaskSketcherConstraints.TaskSketcherConstraints(), SketcherGui::TaskSketcherElements.TaskSketcherElements(), SketcherGui::TaskSketcherGeneral.TaskSketcherGeneral(), SketcherGui::TaskSketcherMessages.TaskSketcherMessages(), MeshGui::TaskSmoothing.TaskSmoothing(), FemGui::TaskTetParameter.TaskTetParameter(), PartDesignGui::TaskThicknessParameters.TaskThicknessParameters(), RobotGui::TaskTrajectory.TaskTrajectory(), RobotGui::TaskTrajectoryDressUpParameter.TaskTrajectoryDressUpParameter(), TechDrawGui::TaskWeldingSymbol.TaskWeldingSymbol(), MeshPartGui::Tessellation.Tessellation(), Gui::TextEdit.TextEdit(), Gui::TextEditor.TextEditor(), Gui::ActionFunction.toggle(), Gui::DockWnd::ToolBox.ToolBox(), RobotGui::TrajectorySimulate.TrajectorySimulate(), Gui::Dialog::Transform.Transform(), Gui::TreePanel.TreePanel(), Gui::TreeWidget.TreeWidget(), Gui::ActionFunction.trigger(), Gui::UIntSpinBox.UIntSpinBox(), Gui::UndoAction.UndoAction(), Gui::Dialog::UndoDialog.UndoDialog(), Gui::VectorListEditor.VectorListEditor(), Gui::PropertyEditor::VectorListWidget.VectorListWidget(), Gui::DAG::View.View(), Gui::View3DInventor.View3DInventor(), InspectionGui::VisualInspection.VisualInspection(), and Gui::WorkbenchComboBox.WorkbenchComboBox().

◆ create_frames()

def draftgeoutils.geo_arrays.create_frames (   obj,
  places 
)

◆ curvetosegment()

def draftgeoutils.wires.curvetosegment (   curve,
  seglen 
)
Discretize the curve and return a list of edges.

Referenced by draftgeoutils.wires.tessellateProjection().

◆ curvetowire()

def draftgeoutils.wires.curvetowire (   obj,
  steps 
)
Discretize the object and return a list of edges.

Referenced by draftgeoutils.wires.cleanProjection().

◆ determinant()

def draftgeoutils.linear_algebra.determinant (   mat,
  n 
)
Return the determinant of an N-matrix.

It recursively expands the minors.

References draftgeoutils.linear_algebra.determinant().

Referenced by draftgeoutils.linear_algebra.determinant(), OpenSCADUtils.isspecialorthogonal(), and Mod.Test.BaseTests.MatrixTestCase.testScale().

◆ edg()

def draftgeoutils.general.edg (   p1,
  p2 
)
Return an edge from 2 vectors.

References DraftVecUtils.equals().

Referenced by draftgeoutils.circles.circlefrom1Line2Points().

◆ fillet()

def draftgeoutils.fillets.fillet (   lEdges,
  r,
  chamfer = False 
)
Return a list of sorted edges describing a round corner.

Author: Jacques-Antoine Gaudin

References draftgeoutils.arcs.arcFrom2Pts(), and draftgeoutils.general.precision().

Referenced by PartGui::DlgFilletEdges.DlgFilletEdges().

◆ filletWire()

def draftgeoutils.fillets.filletWire (   aWire,
  r,
  chamfer = False 
)
Fillet each angle of a wire with r as radius.

If chamfer is true, a `chamfer` is made instead, and `r` is the
size of the chamfer.

References draftgeoutils.wires.isReallyClosed().

Referenced by ArchRebar.makeRebar().

◆ find_plane()

def draftgeoutils.geometry.find_plane (   shape,
  tol = -1 
)
Find the plane containing the shape if possible.
Use this function as a workaround due Part.Shape.findPlane
fail to find plane on BSpline surfaces.

References draftgeoutils.geometry.get_spline_surface_normal(), and draftgeoutils.geometry.is_straight_line().

Referenced by draftgeoutils.geometry.are_coplanar(), draftgeoutils.geometry.get_normal(), and draftgeoutils.geometry.is_planar().

◆ findClosest()

def draftgeoutils.general.findClosest (   base_point,
  point_list 
)
Find closest point in a list of points to the base point.

Returns
-------
int
    An index from the list of points is returned.

None
    If point_list is empty.

◆ findClosestCircle()

def draftgeoutils.circles.findClosestCircle (   point,
  circles 
)
Return the circle with closest center to a given point.

◆ findDistance()

def draftgeoutils.geometry.findDistance (   point,
  edge,
  strict = False 
)
Return a vector from the point to its closest point on the edge.

If `strict` is `True`, the vector will be returned
only if its endpoint lies on the `edge`.
Edge can also be a list of 2 points.

References DraftVecUtils.angle(), draftgeoutils.general.geomType(), DraftVecUtils.project(), and draftgeoutils.general.vec().

Referenced by draftgeoutils.circles.circleFrom3LineTangents(), draftgeoutils.circles.circleFromPointLineRadius(), draftgeoutils.geometry.findPerpendicular(), draftgeoutils.geometry.mirror(), and draftgeoutils.circle_inversion.polarInversion().

◆ findEdge()

def draftgeoutils.edges.findEdge (   anEdge,
  aList 
)
Return True if edge is found in list of edges.

References DraftVecUtils.equals().

◆ findHomotheticCenterOfCircles()

def draftgeoutils.circles.findHomotheticCenterOfCircles (   circle1,
  circle2 
)
Calculate the homothetic centers from two circles.

Return None if the objects are not circles, or if they are concentric.

http://en.wikipedia.org/wiki/Homothetic_center
http://mathworld.wolfram.com/HomotheticCenter.html

References DraftVecUtils.equals(), draftgeoutils.general.geomType(), and draftgeoutils.general.vec().

◆ findIntersection()

◆ findMidpoint()

◆ findPerpendicular()

def draftgeoutils.geometry.findPerpendicular (   point,
  edgeslist,
  force = None 
)
Find the perpendicular distance between a point and a list of edges.

If force is specified, only the edge[force] will be considered,
and it will be considered infinite.

Returns
-------
[vector_from_point_to_closest_edge, edge_index]
    The vector and the index in the list.

None
    If no perpendicular vector could be found.

References draftgeoutils.geometry.findDistance().

◆ findRadicalAxis()

def draftgeoutils.circles.findRadicalAxis (   circle1,
  circle2 
)
Calculate the radical axis of two circles.

On the radical axis (also called power line) of two circles any
tangents drawn from a point on the axis to both circles have
the same length.

http://en.wikipedia.org/wiki/Radical_axis
http://mathworld.wolfram.com/RadicalLine.html

See Also
--------
findRadicalCenter

References DraftVecUtils.dist(), DraftVecUtils.equals(), and draftgeoutils.general.geomType().

Referenced by draftgeoutils.circles.findRadicalCenter().

◆ findRadicalCenter()

def draftgeoutils.circles.findRadicalCenter (   circle1,
  circle2,
  circle3 
)
Calculate the radical center of three circles.

It is also called the power center.
It is the intersection point of the three radical axes of the pairs
of circles.

http://en.wikipedia.org/wiki/Power_center_(geometry)
http://mathworld.wolfram.com/RadicalCenter.html

See Also
--------
findRadicalAxis

References draftgeoutils.intersections.findIntersection(), draftgeoutils.circles.findRadicalAxis(), and draftgeoutils.general.geomType().

◆ findWires()

def draftgeoutils.wires.findWires (   edgeslist)
Find wires in a list of edges.

◆ findWiresOld()

def draftgeoutils.wires.findWiresOld (   edges)
Return a list of lists containing edges that can be connected.

Find connected edges in the list.

◆ findWiresOld2()

def draftgeoutils.wires.findWiresOld2 (   edgeslist)
Find connected wires in the given list of edges.

References DraftVecUtils.equals().

◆ flattenWire()

def draftgeoutils.wires.flattenWire (   wire)
Force a wire to get completely flat along its normal.

References draftgeoutils.geometry.get_normal(), and WorkingPlane.plane.

◆ geomType()

def draftgeoutils.general.geomType (   edge)
Return the type of geometry this edge is based on.

Referenced by draftgeoutils.intersections.angleBisection(), draftgeoutils.arcs.arcFromSpline(), TechDraw::CenterLine.CenterLineBuilder(), draftgeoutils.circles_incomplete.circleFrom1tan1pt1rad(), draftgeoutils.circles_incomplete.circleFrom1tan2pt(), draftgeoutils.circles_incomplete.circleFrom2tan1pt(), draftgeoutils.circles_incomplete.circleFrom2tan1rad(), draftgeoutils.circles_apollonius.circleFrom3CircleTangents(), draftgeoutils.circles_incomplete.circleFrom3tan(), draftgeoutils.circle_inversion.circleInversion(), draftgeoutils.wires.cleanProjection(), draftgeoutils.intersections.connect(), draftobjects.hatch.Hatch.execute(), draftgeoutils.geometry.findDistance(), draftgeoutils.circles.findHomotheticCenterOfCircles(), draftgeoutils.intersections.findIntersection(), draftgeoutils.circles.findRadicalAxis(), draftgeoutils.circles.findRadicalCenter(), draftgeoutils.wires.get_extended_wire(), draftgeoutils.circles.getCircleFromSpline(), TechDrawGui::TaskAlignViews.getSelectedEdges(), draftgeoutils.edges.getTangent(), draftgeoutils.circles_apollonius.innerSoddyCircle(), draftgeoutils.edges.invert(), draftgeoutils.arcs.isClockwise(), draftgeoutils.cuboids.isCubic(), draftgeoutils.arcs.isWideAngle(), TechDraw::DrawUtil.makeGeomName(), TechDraw::DrawDimHelper.minMax(), draftgeoutils.offsets.offset(), draftgeoutils.circles_apollonius.outerSoddyCircle(), draftgeoutils.circle_inversion.pointInversion(), draftgeoutils.circle_inversion.polarInversion(), SMESH_MeshEditor.Reorient(), SMDS_MeshInfo.setNb(), draftgeoutils.sort_edges.sortEdgesOld(), SMESH_MeshEditor.SplitVolumes(), draftgeoutils.wires.superWire(), TechDrawGui::TaskCenterLine.TaskCenterLine(), draftgeoutils.wires.tessellateProjection(), SMDS_MeshCell.toSmdsType(), and SMESH_MeshEditor.Transform().

◆ get_extended_wire()

def draftgeoutils.wires.get_extended_wire (   wire,
  offset_start,
  offset_end 
)
Return a wire trimmed (negative offset) or extended (positive offset) at its first vertex, last vertex or both ends. 

get_extended_wire(wire, -100.0, 0.0) -> returns a copy of the wire with its first 100 mm removed
get_extended_wire(wire, 0.0, 100.0) -> returns a copy of the wire extended by 100 mm after it's last vertex

References draftgeoutils.general.geomType(), draftgeoutils.wires.get_extended_wire(), and draftgeoutils.general.precision().

Referenced by draftgeoutils.wires.get_extended_wire().

◆ get_init_values()

def draftgeoutils.geo_arrays.get_init_values (   path,
  count = 6 
)
Set values needed to create the array.

Referenced by draftgeoutils.geo_arrays.get_twisted_placements().

◆ get_n_params()

def draftgeoutils.geo_arrays.get_n_params (   edge,
  number,
  step,
  norm 
)
Get the parameters needed in each iteration.

Referenced by draftgeoutils.geo_arrays.get_twisted_placements().

◆ get_normal()

def draftgeoutils.geometry.get_normal (   shape,
  tol = -1 
)

◆ get_placement_perpendicular_to_wire()

def draftgeoutils.wires.get_placement_perpendicular_to_wire (   wire)
Return the placement whose base is the wire's first vertex and it's z axis aligned to the wire's tangent.

◆ get_referenced_edges()

def draftgeoutils.edges.get_referenced_edges (   property_value)
Return the Edges referenced by the value of a App:PropertyLink, App::PropertyLinkList,
   App::PropertyLinkSub or App::PropertyLinkSubList property.

◆ get_spline_normal()

def draftgeoutils.geometry.get_spline_normal (   edge,
  tol = -1 
)
Find the normal of a BSpline edge.

References draftgeoutils.geometry.is_straight_line().

◆ get_spline_surface_normal()

def draftgeoutils.geometry.get_spline_surface_normal (   shape,
  tol = -1 
)
Check if shape formed by BSpline surfaces is planar and get normal.
If shape is not planar return None.

Referenced by draftgeoutils.geometry.find_plane().

◆ get_twisted_array_shape()

def draftgeoutils.geo_arrays.get_twisted_array_shape (   base,
  path,
  count = 15,
  rot_factor = 0.25 
)
Get the twisted array shape as a compound.

References draftgeoutils.geo_arrays.create_frames(), and draftgeoutils.geo_arrays.get_twisted_placements().

◆ get_twisted_bridge_shape()

def draftgeoutils.geo_arrays.get_twisted_bridge_shape (   base,
  path,
  count = 15,
  rot_factor = 0.25,
  width = 100,
  thickness = 10 
)

◆ get_twisted_placements()

def draftgeoutils.geo_arrays.get_twisted_placements (   path,
  count = 15,
  rot_factor = 0.25 
)

◆ getBoundary()

def draftgeoutils.faces.getBoundary (   shape)
Return the boundary edges of a group of faces.

Referenced by draftgeoutils.faces.cleanFaces(), and draftgeoutils.faces.concatenate().

◆ getBoundaryAngles()

def draftgeoutils.general.getBoundaryAngles (   angle,
  alist 
)
Return the 2 closest angles that encompass the given angle.

◆ getCircleFromSpline()

def draftgeoutils.circles.getCircleFromSpline (   edge)
Return a circle-based edge from a bspline-based edge.

Return None if the edge is not a BSplineCurve.

References draftgeoutils.intersections.findIntersection(), draftgeoutils.general.geomType(), DraftVecUtils.isNull(), and DraftVecUtils.rotate().

◆ getCubicDimensions()

def draftgeoutils.cuboids.getCubicDimensions (   shape)
Return a list containing the placement, and dimensions of the shape.

The dimensios are length, width and height of a the parallelepiped,
rounded to the value indicated by `precision`.
The placement point is the lowest corner of the shape.

If it is not a parallelepiped (cuboid), return None.

References DraftVecUtils.angle(), draftgeoutils.cuboids.isCubic(), draftgeoutils.general.precision(), and draftgeoutils.general.vec().

◆ getQuad()

def draftgeoutils.general.getQuad (   face)
Return a list of 3 vectors if the face is a quad, ortherwise None.

Returns
-------
basepoint, Xdir, Ydir
    If the face is a quad.

None
    If the face is not a quad.

References draftgeoutils.general.vec().

◆ getRotation()

def draftgeoutils.geometry.getRotation (   v1,
  v2 = App.Vector(0, 0, 1) 
)
Get the rotation Quaternion between 2 vectors.

References DraftVecUtils.angle().

Referenced by draftgeoutils.geometry.calculatePlacement(), and FCSphereSheetProjector.getRotation().

◆ getTangent()

def draftgeoutils.edges.getTangent (   edge,
  from_point = None 
)
Return the tangent to an edge, including BSpline and circular arcs.

If from_point is given, it is used to calculate the tangent,
only useful for a circular arc.

References draftgeoutils.general.geomType(), and draftgeoutils.general.vec().

◆ getVerts()

def draftgeoutils.general.getVerts (   shape)
Return a list containing vectors of each vertex of the shape.

◆ hasCurves()

def draftgeoutils.general.hasCurves (   shape)
Check if the given shape has curves.

◆ hasOnlyWires()

def draftgeoutils.general.hasOnlyWires (   shape)
Return True if all edges are inside a wire.

◆ innerSoddyCircle()

def draftgeoutils.circles_apollonius.innerSoddyCircle (   circle1,
  circle2,
  circle3 
)
Compute the inner soddy circle for three tightly packed circles.

Original Java code Copyright (rc) 2008 Werner Randelshofer
Converted to python by Martin Buerbaum 2009
http://www.randelshofer.ch/treeviz/

References draftgeoutils.general.geomType().

Referenced by draftgeoutils.circles_apollonius.circleFrom3CircleTangents().

◆ invert()

def draftgeoutils.edges.invert (   shape)

◆ is_coplanar()

def draftgeoutils.faces.is_coplanar (   faces,
  tol = -1 
)
Return True if all faces in the given list are coplanar.

Parameters
----------
faces: list
    List of faces to check coplanarity.
tol: float, optional
    It defaults to `-1`, the tolerance of confusion, equal to 1e-7.
    Is the maximum deviation to be considered coplanar.

Returns
-------
out: bool
    True if all face are coplanar. False in other case.

References draftgeoutils.geometry.are_coplanar().

◆ is_line()

def draftgeoutils.edges.is_line (   bspline)
Return True if the given BSpline curve is a straight line.

◆ is_planar()

def draftgeoutils.geometry.is_planar (   shape,
  tol = -1 
)

◆ is_straight_line()

def draftgeoutils.geometry.is_straight_line (   shape,
  tol = -1 
)
Return True if shape is a straight line.
function used in other methods because Part.Shape.findPlane assign a
plane and normal to straight wires creating privileged directions
and to deal with straight wires with overlapped edges.

Referenced by draftgeoutils.geometry.find_plane(), draftgeoutils.geometry.get_normal(), draftgeoutils.geometry.get_spline_normal(), draftgeoutils.geometry.is_planar(), and draftfunctions.upgrade.upgrade().

◆ isAligned()

def draftgeoutils.general.isAligned (   edge,
  axis = "x" 
)
Check if the given edge or line is aligned to the given axis.

The axis can be 'x', 'y' or 'z'.

◆ isClockwise()

def draftgeoutils.arcs.isClockwise (   edge,
  ref = None 
)
Return True if a circle-based edge has a clockwise direction.

References DraftVecUtils.angle(), draftgeoutils.general.geomType(), and DraftVecUtils.isNull().

◆ isCubic()

def draftgeoutils.cuboids.isCubic (   shape)
Return True if the shape is a parallelepiped (cuboid).

A parallelepiped of cube-like shape has 8 vertices, 6 faces, 12 edges,
and all angles are 90 degrees between its edges.

References draftgeoutils.general.geomType(), draftgeoutils.general.precision(), and draftgeoutils.general.vec().

Referenced by draftgeoutils.cuboids.getCubicDimensions().

◆ isNull()

◆ isPtOnEdge()

def draftgeoutils.general.isPtOnEdge (   pt,
  edge 
)
Test if a point lies on an edge.

Referenced by ArchRoof.find_inters(), and draftgeoutils.intersections.findIntersection().

◆ isReallyClosed()

def draftgeoutils.wires.isReallyClosed (   wire)
Check if a wire is really closed.

References DraftVecUtils.equals().

Referenced by draftgeoutils.fillets.filletWire().

◆ isSameLine()

def draftgeoutils.edges.isSameLine (   e1,
  e2 
)
Return True if the 2 edges are lines and have the same points.

References DraftVecUtils.equals().

◆ isValidPath()

def draftgeoutils.general.isValidPath (   shape)
Return True if the shape can be used as an extrusion path.

◆ isWideAngle()

def draftgeoutils.arcs.isWideAngle (   edge)
Return True if the given edge is an arc with angle > 180 degrees.

References draftgeoutils.general.geomType().

◆ linearFromPoints()

def draftgeoutils.linear_algebra.linearFromPoints (   p1,
  p2 
)
Calculate linear equation from points.

Calculate the slope and offset parameters of the linear equation
of a line defined by two points.

Linear equation:
y = m * x + b
m = dy / dx
m ... Slope
b ... Offset (point where the line intersects the y axis)
dx/dy ... Delta x and y. Using both as a vector results
in a non-offset direction vector.

◆ make_tunnel()

def draftgeoutils.geo_arrays.make_tunnel (   path,
  profiles 
)
Create the tunnel shape.

Referenced by draftgeoutils.geo_arrays.get_twisted_bridge_shape().

◆ make_walkway()

def draftgeoutils.geo_arrays.make_walkway (   path,
  width = 100,
  thickness = 10 
)
Construct the walkway of the twisted bridge array.

Referenced by draftgeoutils.geo_arrays.get_twisted_bridge_shape().

◆ mirror()

def draftgeoutils.geometry.mirror (   point,
  edge 
)
Find mirror point relative to an edge.

References draftgeoutils.geometry.findDistance().

◆ offset()

def draftgeoutils.offsets.offset (   edge,
  vector,
  trim = False 
)
Return a copy of the edge at a certain vector offset.

If the edge is an arc, the vector will be added at its first point
and a complete circle will be returned.

None if there is a problem.

References draftgeoutils.general.geomType().

◆ offsetWire()

def draftgeoutils.offsets.offsetWire (   wire,
  dvec,
  bind = False,
  occ = False,
  widthList = None,
  offsetMode = None,
  alignList = [],
  normal = None,
  basewireOffset = 0 
)
Offset the wire along the given vector.

Parameters
----------
wire as a list of edges (use the list directly),
or previously as a wire or a face (Draft Wire with MakeFace True
or False supported).

The vector will be applied at the first vertex of the wire. If bind
is True (and the shape is open), the original wire and the offsetted one
are bound by 2 edges, forming a face.

If widthList is provided (values only, not lengths - i.e. no unit),
each value will be used to offset each corresponding edge in the wire.

The 1st value overrides 'dvec' for 1st segment of wire;
if a value is zero, value of 'widthList[0]' will follow;
if widthList[0]' == 0, but dvec still provided, dvec will be followed

offsetMode="BasewireMode" or None

If alignList is provided,
each value will be used to offset each corresponding edge
in the wire with corresponding index.

'basewireOffset' corresponds to 'offset' in ArchWall which offset
the basewire before creating the wall outline

OffsetWire() is now aware of width and align per edge
Primarily for use with ArchWall based on Sketch object

To Do
-----
`dvec` vector to offset is now derived (and can be ignored)
in this function if widthList and alignList are provided
- 'dvec' to be obsolete in future?

References draftgeoutils.intersections.connect(), draftgeoutils.geometry.get_normal(), DraftVecUtils.scaleTo(), and draftgeoutils.general.vec().

Referenced by Part::ExtrusionHelper.makeDraft(), and Part::TopoShape.makeOffsetShape().

◆ orientEdge()

def draftgeoutils.edges.orientEdge (   edge,
  normal = None,
  make_arc = False 
)
Re-orient the edge such that it is in the XY plane.

Re-orients `edge` such that it is in the XY plane.
If `normal` is passed, this is used as the basis for the rotation,
otherwise the placement of `edge` is used.

References DraftVecUtils.angle().

◆ outerSoddyCircle()

def draftgeoutils.circles_apollonius.outerSoddyCircle (   circle1,
  circle2,
  circle3 
)
Compute the outer soddy circle for three tightly packed circles.

Original Java code Copyright (rc) 2008 Werner Randelshofer
Converted to python by Martin Buerbaum 2009
http://www.randelshofer.ch/treeviz/
Either Creative Commons Attribution 3.0, the MIT license,
or the GNU Lesser General License LGPL.

References draftgeoutils.general.geomType().

Referenced by draftgeoutils.circles_apollonius.circleFrom3CircleTangents().

◆ pocket2d()

def draftgeoutils.offsets.pocket2d (   shape,
  offset 
)
Return a list of wires obtained from offsetting wires from the shape.

Return a list of wires obtained from offsetting the wires
from the given shape by the given offset, and intersection if needed.

References draftgeoutils.intersections.wiresIntersect().

◆ pointInversion()

def draftgeoutils.circle_inversion.pointInversion (   circle,
  point 
)
Return the circle inversion of a point.

It will return `None` if the given point is equal to the center
of the circle.

References DraftVecUtils.dist(), DraftVecUtils.equals(), and draftgeoutils.general.geomType().

Referenced by draftgeoutils.circle_inversion.circleInversion(), and draftgeoutils.circle_inversion.polarInversion().

◆ polarInversion()

def draftgeoutils.circle_inversion.polarInversion (   circle,
  edge 
)
Return the inversion pole of a line. The edge is the polar.

The nearest point on the line is inversed.

http://mathworld.wolfram.com/InversionPole.html

References draftgeoutils.geometry.findDistance(), draftgeoutils.general.geomType(), and draftgeoutils.circle_inversion.pointInversion().

◆ precision()

◆ print_places()

def draftgeoutils.geo_arrays.print_places (   places,
  title = "Places" 
)
Print a vector with a title.

◆ rebaseWire()

def draftgeoutils.wires.rebaseWire (   wire,
  vidx = 0 
)
Return a copy of the wire with the first vertex indicated by the index.

Return a new wire which is a copy of the current wire,
but where the first vertex is the vertex indicated by the given
index vidx, starting from 1.
0 will return an exact copy of the wire.

Referenced by ShapeInfo.sortWires().

◆ removeInterVertices()

def draftgeoutils.wires.removeInterVertices (   wire)
Remove middle vertices from a straight wire and return a new wire.

Remove unneeded vertices, those that are in the middle of a straight line,
from a wire, return a new wire.

References draftgeoutils.general.precision(), and draftgeoutils.general.vec().

◆ removeSplitter()

def draftgeoutils.faces.removeSplitter (   shape)
Return a face from removing the splitter in a list of faces.

This is an alternative, shared edge-based version of Part.removeSplitter.
Returns a face, or `None` if the operation failed.

Referenced by prototype.Node.addtofreecad(), ArchSite.Compass.buildCoordinates(), draftobjects.draftlink.DraftLink.buildShape(), PathScripts.PathSimulatorGui.PathSimulation.GetPathSolid(), ArchRoof.makeRoof(), and importCSG.p_polyhedron_action().

◆ sortEdges()

def draftgeoutils.sort_edges.sortEdges (   edges)
Sort edges. Deprecated. Use Part.__sortEdges__ instead.

References draftgeoutils.edges.invert(), and draftgeoutils.sort_edges.sortEdgesOld().

◆ sortEdgesOld()

def draftgeoutils.sort_edges.sortEdgesOld (   lEdges,
  aVertex = None 
)

◆ superWire()

def draftgeoutils.wires.superWire (   edgeslist,
  closed = False 
)
Force a wire between edges that don't have coincident endpoints.

Forces a wire between edges that don't necessarily
have coincident endpoints. If closed=True, the wire will always be closed.

References draftgeoutils.edges.findMidpoint(), and draftgeoutils.general.geomType().

◆ tessellateProjection()

def draftgeoutils.wires.tessellateProjection (   shape,
  seglen 
)
Return projection with BSplines and Ellipses broken into line segments.

Useful for exporting projected views to DXF files.

References draftgeoutils.wires.curvetosegment(), and draftgeoutils.general.geomType().

◆ v1()

def draftgeoutils.general.v1 (   edge)
Return the first point of an edge.

Referenced by TechDraw::DrawViewPart.addShapes2d(), TechDraw::AOC.AOC(), TechDraw::AOE.AOE(), lscmrelax::LscmRelax.area_relax(), TechDraw::BSpline.BSpline(), InspectionGui.calcArea(), TechDraw::CenterLine.calcEndPoints2Points(), StdMeshers_Quadrangle_2D.check(), draftgeoutils.circles.circleFrom3LineTangents(), Part.closestPointsOnLines(), SandboxGui::SoWidgetShape.computeBBox(), geoff_geometry.corner(), MeshPart::BrepMesh.create(), Surface::GeomFillSurface.createFace(), StdMeshers_Penta_3D.CreateNode(), App::Expression::Component.del(), Sketcher::SketchAnalysis.detectMissingPointOnPointConstraints(), MeshGui::SoFCIndexedFaceSet.drawCoords(), Part::RuledSurface.execute(), Surface::Extend.execute(), Import::ImpExpDxfWrite.exportArc(), Import::ImpExpDxfWrite.exportEllipseArc(), StdMeshers_ProjectionUtils.FindSubShapeAssociation(), PartGui::SoBrepFaceSet.generatePrimitives(), SandboxGui::SoWidgetShape.generatePrimitives(), App::Expression::Component.get(), StdMeshers_Quadrangle_2D.getEnforcedUV(), Part::TopoShape.getFaces(), Part::TopoShape.getFacesFromSubElement(), Part::Tools.getNormal(), Part::Tools.getPointNormals(), Part::TopoShape.getPoints(), Part::GeomArcOfCircle.getRange(), SMESH_Algo.GetSortedNodesOnEdge(), SMESH::Controls::Skew.GetValue(), Fem::FemMesh.getVolume(), Gui::SoTextLabel.GLRender(), SketcherGui::SoDatumLabel.GLRender(), geoff_geometry.IncludedAngle(), MeshCore::MeshGeomFacet.IntersectBoundingBox(), MeshCore::MeshGeomFacet.IntersectWithPlane(), VISCOUS_2D::_PolyLine.IsConcave(), SMESH_MesherHelper.IsDistorted2D(), VISCOUS_3D::_Simplex.IsForward(), TechDraw::BSpline.isLine(), SMESH_Algo.IsStraight(), geoff_geometry.LineArcIntof(), geoff_geometry.LineLineIntof(), SMESH_Pattern.Load(), TechDraw::DrawDimHelper.makeExtentDim(), StdMeshers_Penta_3D.MakeNodes(), Part::TopoShape.makeTube(), MeshCore::MeshGeomFacet.MeshGeomFacet(), Fem::Constraint.onChanged(), geoff_geometry::Span.OnSpan(), SMESH_MeshEditor.OrientedAngle(), MeshCore::MeshKernel.Read(), lscmrelax::LscmRelax.relax(), PartGui::SoBrepFaceSet::VBO.render(), App::Expression::Component.set(), Part::GeomArcOfCircle.setRange(), App::OperatorExpression.simplify(), geoff_geometry.tangential_arc(), Part.tangentialArc(), Part::GeomSurface.toShape(), PartGui::ViewProviderPartExt.updateVisual(), and StringGuard.~StringGuard().

◆ vec()

def draftgeoutils.general.vec (   edge,
  use_orientation = False 
)
Return a vector from an edge or a Part.LineSegment.

If use_orientation is True, it takes into account the edges orientation.
If edge is not straight, you'll get strange results!

Referenced by App::GroupExtension.addObject(), DraftUtils::DraftDxfRead.AddObject(), Import::ImpExpDxfRead.AddObject(), Base::Builder3D.addPoint(), Base::InventorBuilder.addPoint(), Base::InventorBuilder.addPoints(), Base::Builder3D.addSinglePoint(), Base::Builder3D.addText(), Base::InventorBuilder.addText(), SMESH_Pattern.Apply(), PathSimulator::PathSim.ApplyCommand(), Gui::ManualAlignment.applyPickedProbe(), draftgeoutils.general.areColinear(), AdaptivePath.averageDV(), draftgeoutils.circles.circlefrom1Line2Points(), draftgeoutils.circles.circleFrom2LinesRadius(), draftgeoutils.circles.circleFrom2PointsRadius(), draftgeoutils.circles.circleFrom3LineTangents(), draftgeoutils.circles.circleFromPointLineRadius(), Gui::ViewProvider.claimChildren(), Gui::ViewProvider.claimChildren3D(), SMESHUtils.CompactVector(), PointsGui::ViewProviderPointsBuilder.createPoints(), PointsGui::ViewProviderStructured.cut(), FemGui::TaskCreateNodeSet.DefineNodes(), App::FunctionExpression.evaluate(), Fem::FemVTKTools.exportFreeCADResult(), Part::Extrusion.extrudeShape(), Fem::FemPostDataAtPointFilter.FemPostDataAtPointFilter(), Part::Extrusion.fetchAxisLink(), draftgeoutils.geometry.findDistance(), draftgeoutils.circles.findHomotheticCenterOfCircles(), draftgeoutils.intersections.findIntersection(), Part::TopoShape.findPlane(), Part::GeomCurve.firstDerivativeAtParameter(), Part::Geom2dCurve.firstDerivativeAtParameter(), SMESHUtils.FreeVector(), Fem::FemMesh.getBoundBox(), Path::Command.getCenter(), App::GeoFeatureGroupExtension.getCSRelevantLinks(), draftgeoutils.cuboids.getCubicDimensions(), Fem::Constraint.getDirection(), Fem::Tools.getDirection(), exportIFC.getEdgesAngle(), App::ExtensionContainer.getExtensionsDerivedFrom(), App::GeoFeatureGroupExtension.getInvalidLinkObjects(), Gui::ViewProvider.getModelPoints(), PartGui::ViewProviderPartExt.getModelPoints(), Fem::FemMesh.getNodesByEdge(), Fem::FemMesh.getNodesByFace(), Fem::FemMesh.getNodesBySolid(), Fem::FemMesh.getNodesByVertex(), Path::Command.getPlacement(), Gui::View3DInventorPy.getPointOnScreen(), exportIFC.getProfile(), PartDesign::ProfileBased.getProfileNormal(), TechDrawGui::DrawGuiUtil.getProjDirFromFace(), draftgeoutils.general.getQuad(), StdMeshers_ImportSource1D.GetResultGroups(), draftgeoutils.edges.getTangent(), Gui::ViewProviderDocumentObject.getTaskViewContent(), Base::FileInfo.getTempFileName(), Robot::Trajectory.getVelocity(), PartDesign::ProfileBased.handleChangedPropertyName(), Fem::FemVTKTools.importFreeCADResult(), draftgeoutils.cuboids.isCubic(), Fem::Tools.isLinear(), Part::TopoShape.makePrism(), SketcherGui::ViewProviderSketch.mouseButtonPressed(), SketcherGui::ViewProviderSketch.mouseMove(), Mesh::MeshObject.movePoint(), Reen::ScalarProduct.multiply(), draftgeoutils.offsets.offsetWire(), Gui::Dialog::DemoMode.on_playButton_toggled(), FemGui::PlaneWidget.onChange(), FemGui::SphereWidget.onChange(), Fem::FemPostDataAtPointFilter.onChanged(), Fem::FemPostPlaneFunction.onChanged(), Fem::FemPostSphereFunction.onChanged(), Base::DualQuat.pow(), VISCOUS_3D::_SolidData.PrepareEdgesToSmoothOnFace(), Gui::ManualAlignment.probePickedCallback(), MeshPart::MeshProjection.projectOnMesh(), MeshCore::MeshGeomEdge.ProjectPointToLine(), zipios.readByteSeq(), App::OriginGroupExtension.relinkToOrigin(), draftgeoutils.wires.removeInterVertices(), App::GroupExtension.removeObject(), Part::Geometry.scale(), Sketcher::ExternalGeometryFacade.scale(), Sketcher::GeometryFacade.scale(), Part::GeomCurve.secondDerivativeAtParameter(), Part::Geom2dCurve.secondDerivativeAtParameter(), femexamples.constraint_centrif.setup(), femexamples.material_nl_platewithhole.setup(), femexamples.rc_wall_2d.setup(), femexamples.thermomech_flow1d.setup(), femexamples.truss_3d_cs_circle_ele_seg3.setup(), PartGui::DimensionLinear.setupDimension(), VISCOUS_2D::_ProxyMeshOfFace::_EdgeSubMesh.SetUVPtStructVec(), App::PropertyVector.setValue(), StdMeshers_ProjectionUtils::TrsfFinder2D.Solve(), StdMeshers_ProjectionUtils::TrsfFinder3D.Solve(), FemGui::TaskPostDataAtPoint.TaskPostDataAtPoint(), Base::DualQuat.theta(), Data::ComplexGeoData.transformToInside(), Data::ComplexGeoData.transformToOutside(), Part::Geometry.translate(), Sketcher::ExternalGeometryFacade.translate(), Sketcher::GeometryFacade.translate(), FemGui::TaskPostBox.updateEnumerationList(), FemGui::ViewProviderFemPostFunctionProvider.updateSize(), TechDraw::DrawUtil.vecRotate(), and zipios.writeByteSeq().

◆ wiresIntersect()

def draftgeoutils.intersections.wiresIntersect (   wire1,
  wire2 
)
Return True if some of the edges of the wires are intersecting.

Otherwise return `False`.

References draftgeoutils.intersections.findIntersection().

Referenced by draftgeoutils.offsets.pocket2d().

Variable Documentation

◆ getNormal

◆ getSplineNormal

def draftgeoutils.geometry.getSplineNormal = get_spline_normal

◆ isCoplanar

def draftgeoutils.faces.isCoplanar = is_coplanar

◆ isLine

◆ isPlanar

def draftgeoutils.geometry.isPlanar = is_planar

◆ NORM

draftgeoutils.general.NORM = App.Vector(0, 0, 1)

◆ PARAMGRP

draftgeoutils.general.PARAMGRP = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft")