Classes | |
class | Side |
Functions | |
def | arcToHelix (edge, z0, z1) |
def | cmdsForEdge (edge, flip=False, useHelixForBSpline=True, segm=50, hSpeed=0, vSpeed=0) |
def | combineConnectedShapes (shapes) |
def | commandEndPoint (cmd, defaultPoint=Vector(), X='X', Y='Y', Z='Z') |
def | diffAngle (a1, a2, direction='CW') |
def | edgeConnectsTo (edge, vector, error=Tolerance) |
def | edgeForCmd (cmd, startPoint) |
def | edgesMatch (e0, e1, error=Tolerance) |
def | flipEdge (edge) |
def | flipWire (wire) |
def | getAngle (vector) |
def | helixToArc (edge, z=0) |
def | isHorizontal (obj) |
def | isRoughly (float1, float2, error=Tolerance) |
def | isVertical (obj) |
def | pointsCoincide (p1, p2, error=Tolerance) |
def | removeDuplicateEdges (wire) |
def | speedBetweenPoints (p0, p1, hSpeed, vSpeed) |
def | splitArcAt (edge, pt) |
def | splitEdgeAt (edge, pt) |
def | translate (context, text, disambig=None) |
def | wireForPath (path, startPoint=Vector(0, 0, 0)) |
def | wiresForPath (path, startPoint=Vector(0, 0, 0)) |
def | xy (point) |
Variables | |
CmdMove | |
CmdMoveAll | |
CmdMoveArc | |
CmdMoveCCW | |
CmdMoveCW | |
CmdMoveRapid | |
CmdMoveStraight | |
OddsAndEnds | |
Part | |
Tolerance | |
Function Documentation
◆ arcToHelix()
def PathScripts.PathGeom.arcToHelix | ( | edge, | |
z0, | |||
z1 | |||
) |
arcToHelix(edge, z0, z1) Assuming edge is an arc it'll return a helix matching the arc starting at z0 and rising/falling to z1.
References PathScripts.PathGeom.cmdsForEdge(), and PathScripts.PathGeom.edgeForCmd().
Referenced by PathScripts.PathGeom.splitEdgeAt().
◆ cmdsForEdge()
def PathScripts.PathGeom.cmdsForEdge | ( | edge, | |
flip = False , |
|||
useHelixForBSpline = True , |
|||
segm = 50 , |
|||
hSpeed = 0 , |
|||
vSpeed = 0 |
|||
) |
cmdsForEdge(edge, flip=False, useHelixForBSpline=True, segm=50) -> List(Path.Command) Returns a list of Path.Command representing the given edge. If flip is True the edge is considered to be backwards. If useHelixForBSpline is True an Edge based on a BSplineCurve is considered to represent a helix and results in G2 or G3 command. Otherwise edge has no direct Path.Command mapping and will be approximated by straight segments. segm is a factor for the segmentation of arbitrary curves not mapped to G1/2/3 commands. The higher the value the more segments will be used.
References PathScripts.PathGeom.isRoughly(), PathScripts.PathGeom.pointsCoincide(), PathScripts.PathGeom.speedBetweenPoints(), and PathScripts.PathGeom.xy().
Referenced by PathScripts.PathGeom.arcToHelix().
◆ combineConnectedShapes()
def PathScripts.PathGeom.combineConnectedShapes | ( | shapes | ) |
References PathScripts.PathGeom.isRoughly().
◆ commandEndPoint()
def PathScripts.PathGeom.commandEndPoint | ( | cmd, | |
defaultPoint = Vector() , |
|||
X = 'X' , |
|||
Y = 'Y' , |
|||
Z = 'Z' |
|||
) |
commandEndPoint(cmd, [defaultPoint=Vector()], [X='X'], [Y='Y'], [Z='Z']) Extracts the end point from a Path Command.
Referenced by PathScripts.PathGeom.edgeForCmd(), PathScripts.PathGeom.wireForPath(), and PathScripts.PathGeom.wiresForPath().
◆ diffAngle()
def PathScripts.PathGeom.diffAngle | ( | a1, | |
a2, | |||
direction = 'CW' |
|||
) |
diffAngle(a1, a2, [direction='CW']) Returns the difference between two angles (a1 -> a2) into a given direction.
Referenced by PathScripts.PathGeom.edgeForCmd().
◆ edgeConnectsTo()
def PathScripts.PathGeom.edgeConnectsTo | ( | edge, | |
vector, | |||
error = Tolerance |
|||
) |
edgeConnectsTop(edge, vector, error=Tolerance) Returns True if edge connects to given vector.
References PathScripts.PathGeom.pointsCoincide().
◆ edgeForCmd()
def PathScripts.PathGeom.edgeForCmd | ( | cmd, | |
startPoint | |||
) |
edgeForCmd(cmd, startPoint). Returns an Edge representing the given command, assuming a given startPoint.
References PathScripts.PathGeom.commandEndPoint(), PathScripts.PathGeom.diffAngle(), PathScripts.PathGeom.getAngle(), PathScripts.PathGeom.isRoughly(), PathScripts.PathGeom.pointsCoincide(), and PathScripts.PathGeom.xy().
Referenced by PathScripts.PathGeom.arcToHelix(), PathScripts.PathGeom.wireForPath(), and PathScripts.PathGeom.wiresForPath().
◆ edgesMatch()
def PathScripts.PathGeom.edgesMatch | ( | e0, | |
e1, | |||
error = Tolerance |
|||
) |
edgesMatch(e0, e1, [error=Tolerance] Return true if the edges start and end at the same point and have the same type of curve.
References PathScripts.PathGeom.pointsCoincide().
Referenced by PathScripts.PathGeom.removeDuplicateEdges().
◆ flipEdge()
def PathScripts.PathGeom.flipEdge | ( | edge | ) |
flipEdge(edge) Flips given edge around so the new Vertexes[0] was the old Vertexes[-1] and vice versa, without changing the shape. Currently only lines, line segments, circles and arcs are supported.
Referenced by PathScripts.PathGeom.flipWire().
◆ flipWire()
def PathScripts.PathGeom.flipWire | ( | wire | ) |
Flip the entire wire and all its edges so it is being processed the other way around.
References PathScripts.PathGeom.flipEdge().
◆ getAngle()
def PathScripts.PathGeom.getAngle | ( | vector | ) |
getAngle(vector) Returns the angle [-pi,pi] of a vector using the X-axis as the reference. Positive angles for vertexes in the upper hemisphere (positive y values) and negative angles for the lower hemisphere.
Referenced by PathScripts.PathGeom.edgeForCmd().
◆ helixToArc()
def PathScripts.PathGeom.helixToArc | ( | edge, | |
z = 0 |
|||
) |
helixToArc(edge, z=0) Returns the projection of the helix onto the XY-plane with a given offset.
Referenced by PathScripts.PathGeom.splitEdgeAt().
◆ isHorizontal()
def PathScripts.PathGeom.isHorizontal | ( | obj | ) |
isHorizontal(obj) ... answer True if obj points into X or Y
References PathScripts.PathGeom.isRoughly(), and PathScripts.PathGeom.isVertical().
Referenced by PathScripts.PathGeom.isVertical().
◆ isRoughly()
def PathScripts.PathGeom.isRoughly | ( | float1, | |
float2, | |||
error = Tolerance |
|||
) |
isRoughly(float1, float2, [error=Tolerance]) Returns true if the two values are the same within a given error.
Referenced by PathScripts.PathGeom.cmdsForEdge(), PathScripts.PathGeom.combineConnectedShapes(), PathScripts.PathGeom.edgeForCmd(), PathScripts.PathGeom.isHorizontal(), PathScripts.PathGeom.isVertical(), PathScripts.PathGeom.pointsCoincide(), and PathScripts.PathGeom.speedBetweenPoints().
◆ isVertical()
def PathScripts.PathGeom.isVertical | ( | obj | ) |
isVertical(obj) ... answer True if obj points into Z
References PathScripts.PathGeom.isHorizontal(), and PathScripts.PathGeom.isRoughly().
Referenced by PathScripts.PathGeom.isHorizontal().
◆ pointsCoincide()
def PathScripts.PathGeom.pointsCoincide | ( | p1, | |
p2, | |||
error = Tolerance |
|||
) |
pointsCoincide(p1, p2, [error=Tolerance]) Return True if two points are roughly identical (see also isRoughly).
References PathScripts.PathGeom.isRoughly().
Referenced by PathScripts.PathGeom.cmdsForEdge(), PathScripts.PathGeom.edgeConnectsTo(), PathScripts.PathGeom.edgeForCmd(), and PathScripts.PathGeom.edgesMatch().
◆ removeDuplicateEdges()
def PathScripts.PathGeom.removeDuplicateEdges | ( | wire | ) |
References PathScripts.PathGeom.edgesMatch().
◆ speedBetweenPoints()
def PathScripts.PathGeom.speedBetweenPoints | ( | p0, | |
p1, | |||
hSpeed, | |||
vSpeed | |||
) |
References PathScripts.PathGeom.isRoughly(), and PathScripts.PathGeom.xy().
Referenced by PathScripts.PathGeom.cmdsForEdge().
◆ splitArcAt()
def PathScripts.PathGeom.splitArcAt | ( | edge, | |
pt | |||
) |
splitArcAt(edge, pt) Returns a list of 2 edges which together form the original arc split at the given point. The Vector pt has to represent a point on the given arc.
Referenced by PathScripts.PathGeom.splitEdgeAt().
◆ splitEdgeAt()
def PathScripts.PathGeom.splitEdgeAt | ( | edge, | |
pt | |||
) |
splitEdgeAt(edge, pt) Returns a list of 2 edges, forming the original edge split at the given point. The results are undefined if the Vector representing the point is not part of the edge.
References PathScripts.PathGeom.arcToHelix(), PathScripts.PathGeom.helixToArc(), and PathScripts.PathGeom.splitArcAt().
◆ translate()
def PathScripts.PathGeom.translate | ( | context, | |
text, | |||
disambig = None |
|||
) |
◆ wireForPath()
def PathScripts.PathGeom.wireForPath | ( | path, | |
startPoint = Vector(0, 0, 0) |
|||
) |
wireForPath(path, [startPoint=Vector(0,0,0)]) Returns a wire representing all move commands found in the given path.
References PathScripts.PathGeom.commandEndPoint(), and PathScripts.PathGeom.edgeForCmd().
◆ wiresForPath()
def PathScripts.PathGeom.wiresForPath | ( | path, | |
startPoint = Vector(0, 0, 0) |
|||
) |
wiresForPath(path, [startPoint=Vector(0,0,0)]) Returns a collection of wires, each representing a continuous cutting Path in path.
References PathScripts.PathGeom.commandEndPoint(), and PathScripts.PathGeom.edgeForCmd().
◆ xy()
def PathScripts.PathGeom.xy | ( | point | ) |
xy(point) Convenience function to return the projection of the Vector in the XY-plane.
Referenced by PathScripts.PathGeom.cmdsForEdge(), PathScripts.PathGeom.edgeForCmd(), and PathScripts.PathGeom.speedBetweenPoints().
Variable Documentation
◆ CmdMove
PathScripts.PathGeom.CmdMove |
◆ CmdMoveAll
PathScripts.PathGeom.CmdMoveAll |
◆ CmdMoveArc
PathScripts.PathGeom.CmdMoveArc |
◆ CmdMoveCCW
PathScripts.PathGeom.CmdMoveCCW |
◆ CmdMoveCW
PathScripts.PathGeom.CmdMoveCW |
◆ CmdMoveRapid
PathScripts.PathGeom.CmdMoveRapid |
◆ CmdMoveStraight
PathScripts.PathGeom.CmdMoveStraight |
◆ OddsAndEnds
PathScripts.PathGeom.OddsAndEnds |
◆ Part
PathScripts.PathGeom.Part |
◆ Tolerance
PathScripts.PathGeom.Tolerance |