| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | """Define geometry functions for manipulating shapes in the Draft Workbench. |
| | |
| | These functions are used by different object creation functions |
| | of the Draft Workbench, both in `Draft.py` and `DraftTools.py`. |
| | They operate on the internal shapes (`Part::TopoShape`) of different objects |
| | and on their subelements, that is, vertices, edges, and faces. |
| | """ |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| |
|
| | __title__ = "FreeCAD Draft Workbench - Geometry library" |
| | __author__ = "Yorik van Havre, Jacques-Antoine Gaudin, Ken Cline" |
| | __url__ = ["https://www.freecad.org"] |
| |
|
| | |
| | from draftgeoutils.linear_algebra import linearFromPoints, determinant |
| |
|
| | |
| | from draftgeoutils.general import NORM |
| |
|
| | from draftgeoutils.general import ( |
| | precision, |
| | vec, |
| | edg, |
| | getVerts, |
| | v1, |
| | isNull, |
| | isPtOnEdge, |
| | hasCurves, |
| | isAligned, |
| | getQuad, |
| | areColinear, |
| | hasOnlyWires, |
| | geomType, |
| | isValidPath, |
| | findClosest, |
| | getBoundaryAngles, |
| | ) |
| |
|
| | |
| | from draftgeoutils.geometry import ( |
| | findPerpendicular, |
| | findDistance, |
| | getSplineNormal, |
| | get_spline_normal, |
| | getNormal, |
| | get_normal, |
| | get_shape_normal, |
| | getRotation, |
| | isPlanar, |
| | is_planar, |
| | calculatePlacement, |
| | mirror, |
| | are_coplanar, |
| | is_straight_line, |
| | mirror_matrix, |
| | uv_vectors_from_face, |
| | placement_from_face, |
| | placement_from_points, |
| | distance_to_plane, |
| | project_point_on_plane, |
| | ) |
| |
|
| | from draftgeoutils.edges import ( |
| | findEdge, |
| | orientEdge, |
| | isSameLine, |
| | isLine, |
| | is_line, |
| | invert, |
| | findMidpoint, |
| | getTangent, |
| | get_referenced_edges, |
| | ) |
| |
|
| | from draftgeoutils.faces import ( |
| | concatenate, |
| | getBoundary, |
| | isCoplanar, |
| | is_coplanar, |
| | bind, |
| | cleanFaces, |
| | removeSplitter, |
| | ) |
| |
|
| | from draftgeoutils.arcs import isClockwise, isWideAngle, arcFrom2Pts, arcFromSpline |
| |
|
| | from draftgeoutils.cuboids import isCubic, getCubicDimensions |
| |
|
| | |
| | from draftgeoutils.circle_inversion import pointInversion, polarInversion, circleInversion |
| |
|
| | |
| | from draftgeoutils.sort_edges import sortEdges, sortEdgesOld |
| |
|
| | from draftgeoutils.intersections import findIntersection, wiresIntersect, connect, angleBisection |
| |
|
| | from draftgeoutils.wires import ( |
| | findWires, |
| | findWiresOld, |
| | findWiresOld2, |
| | flattenWire, |
| | superWire, |
| | isReallyClosed, |
| | curvetowire, |
| | curvetosegment, |
| | rebaseWire, |
| | removeInterVertices, |
| | cleanProjection, |
| | tessellateProjection, |
| | get_placement_perpendicular_to_wire, |
| | get_extended_wire, |
| | ) |
| |
|
| | |
| | from draftgeoutils.fillets import fillet, filletWire |
| |
|
| | |
| | from draftgeoutils.offsets import pocket2d, offset, offsetWire |
| |
|
| | from draftgeoutils.circles import ( |
| | findClosestCircle, |
| | getCircleFromSpline, |
| | circlefrom1Line2Points, |
| | circlefrom2Lines1Point, |
| | circleFrom2LinesRadius, |
| | circleFrom3LineTangents, |
| | circleFromPointLineRadius, |
| | circleFrom2PointsRadius, |
| | findHomotheticCenterOfCircles, |
| | findRadicalAxis, |
| | findRadicalCenter, |
| | ) |
| |
|
| | from draftgeoutils.circles_apollonius import ( |
| | outerSoddyCircle, |
| | innerSoddyCircle, |
| | circleFrom3CircleTangents, |
| | ) |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| |
|