Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--precision_drawing_tools/__init__.py4
-rw-r--r--precision_drawing_tools/pdt_cad_module.py26
-rw-r--r--precision_drawing_tools/pdt_command.py53
-rw-r--r--precision_drawing_tools/pdt_command_functions.py43
-rw-r--r--precision_drawing_tools/pdt_design.py190
-rw-r--r--precision_drawing_tools/pdt_etof.py3
-rw-r--r--precision_drawing_tools/pdt_functions.py71
-rw-r--r--precision_drawing_tools/pdt_library.py14
-rw-r--r--precision_drawing_tools/pdt_msg_strings.py19
-rw-r--r--precision_drawing_tools/pdt_pivot_point.py43
-rw-r--r--precision_drawing_tools/pdt_view.py47
-rw-r--r--precision_drawing_tools/pdt_xall.py11
12 files changed, 282 insertions, 242 deletions
diff --git a/precision_drawing_tools/__init__.py b/precision_drawing_tools/__init__.py
index bb0245dc..7adb7c1a 100644
--- a/precision_drawing_tools/__init__.py
+++ b/precision_drawing_tools/__init__.py
@@ -359,9 +359,9 @@ class PDTSceneProperties(PropertyGroup):
name="Pivot Factor", min=0.4, max=10, default=2, precision=1, description=PDT_DES_PPSIZE
)
pivot_width: IntProperty(name="Width", min=1, max=5, default=2, description=PDT_DES_PPWIDTH)
- # FIXME: might as well become pivot_angle
+
pivot_ang: FloatProperty(name="Pivot Angle", min=-180, max=180, default=0.0)
- # FIXME: pivot_dist for consistency?
+
pivot_dis: FloatProperty(
name="Pivot Dist", default=0.0, min=0, update=scale_set, description=PDT_DES_PIVOTDIS,
)
diff --git a/precision_drawing_tools/pdt_cad_module.py b/precision_drawing_tools/pdt_cad_module.py
index 74153a1d..fc1d4633 100644
--- a/precision_drawing_tools/pdt_cad_module.py
+++ b/precision_drawing_tools/pdt_cad_module.py
@@ -37,7 +37,7 @@ def point_on_edge(point, edge):
edge: tuple containing 2 vectors.
Returns:
- True if point p happens to lie on the edge, False otherwise.
+ True if point happens to lie on the edge, False otherwise.
"""
intersect_point, _percent = intersect_point_line(point, *edge)
@@ -48,7 +48,8 @@ def point_on_edge(point, edge):
def line_from_edge_intersect(edge1, edge2):
"""Get New Line from Intersections.
- Prepares input for sending to intersect_line_line
+ Note:
+ Prepares input for sending to intersect_line_line
Args:
edge1, edge2: tuples containing 2 vectors.
@@ -82,9 +83,10 @@ def get_intersection(edge1, edge2):
def test_coplanar(edge1, edge2):
"""Test 2 Edges are Co-planar.
- The line that describes the shortest line between the two edges would be short if the
- lines intersect mathematically. If this line is longer than 1.0e-5 then they are either
- coplanar or parallel
+ Note:
+ The line that describes the shortest line between the two edges would be short if the
+ lines intersect mathematically. If this line is longer than 1.0e-5 then they are either
+ coplanar or parallel
Args:
edge1, edge2: tuples containing 2 vectors.
@@ -102,7 +104,8 @@ def test_coplanar(edge1, edge2):
def closest_idx(intersect_point, edge):
"""Get Closest Vertex to input point.
- If both points in edge are equally far from intersect_point, then v1 is returned.
+ Note:
+ If both points in edge are equally far from intersect_point, then v1 is returned.
Args:
intersect_point: vector
@@ -126,7 +129,8 @@ def closest_idx(intersect_point, edge):
def closest_vector(intersect_point, edge):
"""Return Closest Vector to input Point.
- If both points in e are equally far from intersect_point, then v1 is returned.
+ Note:
+ If both points in e are equally far from intersect_point, then v1 is returned.
Args:
intersect_point: vector
@@ -177,7 +181,7 @@ def vertex_indices_from_edges_tuple(bm, edge_tuple):
"""Return List of vertices.
Args:
- bm: is a bmesh representation
+ bm: Active object's Bmesh
edge_tuple: contains 2 edge indices.
Returns:
@@ -228,7 +232,7 @@ def find_intersecting_edges(bm, intersect_point, idx1, idx2):
Args:
intersect_point: Vector describing 3D coordinates of intersection point
- idx1, ix2: edge indices
+ idx1, idx2: edge indices
Returns:
The list of edge indices where intersect_point is on those edges.
@@ -245,8 +249,8 @@ def vert_idxs_from_edge_idx(bm, idx):
"""Find Vertex Indices form Edge Indices.
Args:
- Object Bmesh as bm
- Selection Index as idx
+ bm: Object's Bmesh
+ idx: Selection Index
Returns:
Vertex Indices of Edge.
diff --git a/precision_drawing_tools/pdt_command.py b/precision_drawing_tools/pdt_command.py
index ad0f3528..2ed6d57d 100644
--- a/precision_drawing_tools/pdt_command.py
+++ b/precision_drawing_tools/pdt_command.py
@@ -99,9 +99,6 @@ class PDT_OT_CommandReRun(Operator):
def command_run(self, context):
"""Run Command String as input into Command Line.
- Args:
- context: Blender bpy.context instance.
-
Note:
Uses pg.command, pg.error & many other 'pg.' variables to set PDT menu items,
or alter functions
@@ -124,7 +121,7 @@ def command_run(self, context):
A = Absolute XYZ, D = Delta XYZ, I = Distance at Angle, P = Percent
X = X Delta, Y = Y, Delta Z, = Z Delta, O = Output (Maths Operation only)
- V = Vertex Bevel, E = Edge Bevel
+ V = Vertex Bevel, E = Edge Bevel, I = Intersect then Bevel
Capitals and lower case letters are both allowed
@@ -134,11 +131,14 @@ def command_run(self, context):
Example; CA,,3 - Cursor to Absolute, is re-interpreted as CA0,0,3
- Exception for Maths Operation, Values section is evaluated as Maths command
+ Exception for Maths Operation, Values section is evaluated as Maths expression
Example; madegrees(atan(3/4)) - sets PDT Angle to smallest angle of 3,4,5 Triangle;
(36.8699 degrees)
+ Args:
+ context: Blender bpy.context instance.
+
Returns:
Nothing.
"""
@@ -308,7 +308,6 @@ def pdt_help(self, context):
"""Display PDT Command Line help in a pop-up.
Args:
- Self: Itself as a reference for action
context: Blender bpy.context instance
Returns:
@@ -410,8 +409,8 @@ def command_parse(context):
pg: PDT Parameters Group - our variables
values_out: The Output Values as a list of numbers
obj: The Active Object
- obj_loc: The objects location in 3D space
- bm: The objects Bmesh
+ obj_loc: The object's location in 3D space
+ bm: The object's Bmesh
verts: The object's selected vertices, or selected history vertices.
"""
scene = context.scene
@@ -433,10 +432,13 @@ def command_parse(context):
# Apply System Rounding
decimal_places = context.preferences.addons[__package__].preferences.pdt_input_round
values_out = [str(round(float(v), decimal_places)) for v in values]
- bm = "None"
+ bm = "No Bmesh"
obj_loc = Vector((0,0,0))
verts = []
+ if mode_sel == 'REL' and operation not in {"C", "P"}:
+ pg.select = 'SEL'
+
if mode_sel == 'SEL' and mode not in {"a"}:
bm, good = obj_check(obj, scene, operation)
if good and obj.mode == 'EDIT':
@@ -466,7 +468,7 @@ def move_cursor_pivot(context, pg, operation, mode, obj, verts, values):
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
verts: The object's selected vertices, or selected history vertices
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -543,9 +545,9 @@ def move_entities(context, pg, operation, mode, obj, bm, verts, values):
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- bm: The objects Bmesh
+ bm: The object's Bmesh
verts: The object's selected vertices, or selected history vertices
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -666,10 +668,10 @@ def split_edges(context, pg, operation, mode, obj, obj_loc, bm, values):
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- obj_loc: The objects location in 3D space
- bm: The objects Bmesh
+ obj_loc: The object's location in 3D space
+ bm: The object's Bmesh
verts: The object's selected vertices, or selected history vertices
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -770,10 +772,10 @@ def extrude_vertices(context, pg, operation, mode, obj, obj_loc, bm, verts, valu
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- obj_loc: The objects location in 3D space
- bm: The objects Bmesh
+ obj_loc: The object's location in 3D space
+ bm: The object's Bmesh
verts: The object's selected vertices, or selected history vertices
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -852,8 +854,8 @@ def extrude_geometry(context, pg, operation, mode, obj, bm, values):
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- bm: The objects Bmesh
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ bm: The object's Bmesh
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -905,8 +907,8 @@ def duplicate_geometry(context, pg, operation, mode, obj, bm, values):
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- bm: The objects Bmesh
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ bm: The object's Bmesh
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -958,9 +960,9 @@ def fillet_geometry(context, pg, mode, obj, bm, verts, values):
operation: The Operation e.g. Create New Vertex
mode: The Operation Mode, e.g. a for Absolute
obj: The Active Object
- bm: The objects Bmesh
+ bm: The object's Bmesh
verts: The object's selected vertices, or selected history vertices
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The parameters passed e.g. 1,4,3 for Cartesian Coordinates
Returns:
Nothing.
@@ -972,7 +974,8 @@ def fillet_geometry(context, pg, mode, obj, bm, verts, values):
return
if mode in {"i", "v"}:
vert_bool = True
- elif mode == "e":
+ else:
+ # Must be "e"
vert_bool = False
# Note that passing an empty parameter results in that parameter being seen as "0"
# _offset <= 0 is ignored since a bevel/fillet radius must be > 0 to make sense
diff --git a/precision_drawing_tools/pdt_command_functions.py b/precision_drawing_tools/pdt_command_functions.py
index 0e891544..d1203602 100644
--- a/precision_drawing_tools/pdt_command_functions.py
+++ b/precision_drawing_tools/pdt_command_functions.py
@@ -83,18 +83,18 @@ from .pdt_msg_strings import (
def vector_build(context, pg, obj, operation, values, num_values):
- """Build Movement Vector from input Fields.
+ """Build Movement Vector from Input Fields.
Args:
context: Blender bpy.context instance.
pg: PDT Parameters Group - our variables
obj: The Active Object
operation: The Operation e.g. Create New Vertex
- values: The paramters passed e.g. 1,4,3 for Catrtesan Coordinates
+ values: The paramters passed e.g. 1,4,3 for Cartesian Coordinates
num_values: The number of values passed - determines the function
Returns:
- Vector to position, or offset items.
+ Vector to position, or offset, items.
"""
scene = context.scene
@@ -495,9 +495,10 @@ def placement_intersect(context, operation):
def join_two_vertices(context):
"""Joins 2 Free Vertices that do not form part of a Face.
- Joins two vertices that do not form part of a single face
- It is designed to close open Edge Loops, where a face is not required
- or to join two disconnected Edges.
+ Note:
+ Joins two vertices that do not form part of a single face
+ It is designed to close open Edge Loops, where a face is not required
+ or to join two disconnected Edges.
Args:
context: Blender bpy.context instance.
@@ -535,9 +536,10 @@ def join_two_vertices(context):
def set_angle_distance_two(context):
"""Measures Angle and Offsets between 2 Points in View Plane.
- Uses 2 Selected Vertices to set pg.angle and pg.distance scene variables
- also sets delta offset from these 2 points using standard Numpy Routines
- Works in Edit and Oject Modes.
+ Note:
+ Uses 2 Selected Vertices to set pg.angle and pg.distance scene variables
+ also sets delta offset from these 2 points using standard Numpy Routines
+ Works in Edit and Oject Modes.
Args:
context: Blender bpy.context instance.
@@ -615,9 +617,10 @@ def set_angle_distance_two(context):
def set_angle_distance_three(context):
"""Measures Angle and Offsets between 3 Points in World Space, Also sets Deltas.
- Uses 3 Selected Vertices to set pg.angle and pg.distance scene variables
- also sets delta offset from these 3 points using standard Numpy Routines
- Works in Edit and Oject Modes.
+ Note:
+ Uses 3 Selected Vertices to set pg.angle and pg.distance scene variables
+ also sets delta offset from these 3 points using standard Numpy Routines
+ Works in Edit and Oject Modes.
Args:
context: Blender bpy.context instance.
@@ -684,9 +687,10 @@ def set_angle_distance_three(context):
def origin_to_cursor(context):
"""Sets Object Origin in Edit Mode to Cursor Location.
- Keeps geometry static in World Space whilst moving Object Origin
- Requires cursor location
- Works in Edit and Object Modes.
+ Note:
+ Keeps geometry static in World Space whilst moving Object Origin
+ Requires cursor location
+ Works in Edit and Object Modes.
Args:
context: Blender bpy.context instance.
@@ -725,10 +729,11 @@ def origin_to_cursor(context):
def taper(context):
"""Taper Geometry along World Axes.
- Similar to Shear command except that it shears by angle rather than displacement.
- Rotates about World Axes and displaces along World Axes, angle must not exceed +-80 degrees.
- Rotation axis is centred on Active Vertex.
- Works only in Edit mode.
+ Note:
+ Similar to Shear command except that it shears by angle rather than displacement.
+ Rotates about World Axes and displaces along World Axes, angle must not exceed +-80 degrees.
+ Rotation axis is centred on Active Vertex.
+ Works only in Edit mode.
Args:
context: Blender bpy.context instance.
diff --git a/precision_drawing_tools/pdt_design.py b/precision_drawing_tools/pdt_design.py
index e3f91b1d..6a2e3e1f 100644
--- a/precision_drawing_tools/pdt_design.py
+++ b/precision_drawing_tools/pdt_design.py
@@ -42,16 +42,17 @@ class PDT_OT_PlacementAbs(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Absolute (World) Coordinates.
- - Reads pg.operate from Operation Mode Selector as 'operation'
- - Reads pg.cartesian_coords scene variables to:
- -- set position of CUrsor (CU)
- -- set postion of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- Split Edges (SE)
- -- add a New Vertex (NV)
+ Note:
+ - Reads pg.operate from Operation Mode Selector as 'operation'
+ - Reads pg.cartesian_coords scene variables to:
+ -- set position of CUrsor (CU)
+ -- set postion of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- Split Edges (SE)
+ -- add a New Vertex (NV)
- Invalid Options result in self.report Error.
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -122,18 +123,19 @@ class PDT_OT_PlacementDelta(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Delta Offset (Increment).
- - Reads pg.operation from Operation Mode Selector as 'operation'
- - Reads pg.select, pg.plane, pg.cartesian_coords scene variables to:
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- Split Edges (SE)
- -- add a New Vertex (NV)
- -- Duplicate Geometry (DG)
- -- Extrude Geometry (EG)
-
- Invalid Options result in self.report Error.
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ - Reads pg.select, pg.plane, pg.cartesian_coords scene variables to:
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- Split Edges (SE)
+ -- add a New Vertex (NV)
+ -- Duplicate Geometry (DG)
+ -- Extrude Geometry (EG)
+
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -218,18 +220,19 @@ class PDT_OT_PlacementDis(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Distance at Angle (Direction).
- - Reads pg.operation from Operation Mode Selector as 'operation'
- - Reads pg.select, pg.distance, pg.angle, pg.plane & pg.flip_angle scene variables to:
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- Split Edges (SE)
- -- add a New Vertex (NV)
- -- Duplicate Geometry (DG)
- -- Extrude Geometry (EG)
-
- Invalid Options result in self.report Error.
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ - Reads pg.select, pg.distance, pg.angle, pg.plane & pg.flip_angle scene variables to:
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- Split Edges (SE)
+ -- add a New Vertex (NV)
+ -- Duplicate Geometry (DG)
+ -- Extrude Geometry (EG)
+
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -306,16 +309,17 @@ class PDT_OT_PlacementPer(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Percentage between 2 points.
- - Reads pg.operation from Operation Mode Selector as 'operation'
- - Reads pg.percent, pg.extend & pg.flip_percent scene variables to:
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- Split Edges (SE)
- -- add a New Vertex (NV)
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ - Reads pg.percent, pg.extend & pg.flip_percent scene variables to:
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- Split Edges (SE)
+ -- add a New Vertex (NV)
- Invalid Options result in self.report Error.
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -362,16 +366,17 @@ class PDT_OT_PlacementNormal(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Normal Intersection between 3 points.
- - Reads pg.operation from Operation Mode Selector as 'operation'
- - Reads pg.extend scene variable to:
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- Split Edges (SE)
- -- add a New Vertex (NV)
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ - Reads pg.extend scene variable to:
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- Split Edges (SE)
+ -- add a New Vertex (NV)
- Invalid Options result in self.report Error.
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -410,14 +415,15 @@ class PDT_OT_PlacementCen(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects to an Arc Centre defined by 3 points on an Imaginary Arc.
- - Reads pg.operation from Operation Mode Selector as 'operation'
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- add a New vertex (NV)
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- add a New vertex (NV)
- Invalid Options result in self.report Error.
+ Invalid Options result in self.report Error.
Args:
context: Blender bpy.context instance.
@@ -454,17 +460,16 @@ class PDT_OT_PlacementInt(Operator):
def execute(self, context):
"""Manipulates Geometry, or Objects by Convergance Intersection between 4 points, or 2 Edges.
- - Reads pg.operation from Operation Mode Selector as 'operation'
- - Reads pg.plane scene variable and operates in Working Plane to:
- -- set position of CUrsor (CU)
- -- set position of Pivot Point (PP)
- -- MoVe geometry/objects (MV)
- -- Extrude Vertices (EV)
- -- add a New vertex (NV)
-
- Invalid Options result in "self.report" Error.
+ Note:
+ - Reads pg.operation from Operation Mode Selector as 'operation'
+ - Reads pg.plane scene variable and operates in Working Plane to:
+ -- set position of CUrsor (CU)
+ -- set position of Pivot Point (PP)
+ -- MoVe geometry/objects (MV)
+ -- Extrude Vertices (EV)
+ -- add a New vertex (NV)
- Local vector variable 'vector_delta' used to reposition features.
+ Invalid Options result in "self.report" Error.
Args:
context: Blender bpy.context instance.
@@ -508,9 +513,10 @@ class PDT_OT_JoinVerts(Operator):
def execute(self, context):
"""Joins 2 Free Vertices that do not form part of a Face.
- Joins two vertices that do not form part of a single face
- It is designed to close open Edge Loops, where a face is not required
- or to join two disconnected Edges.
+ Note:
+ Joins two vertices that do not form part of a single face
+ It is designed to close open Edge Loops, where a face is not required
+ or to join two disconnected Edges.
Args:
context: Blender bpy.context instance.
@@ -541,12 +547,14 @@ class PDT_OT_Fillet(Operator):
def execute(self, context):
"""Create Fillets by Vertex or by Geometry.
- Fillets connected edges, or connected faces
+ Note:
+ Fillets connected edges, or connected faces
Uses:
- - pg.fillet_radius ; Radius of fillet
- - pg.fillet_segments ; Number of segments
- - pg.fillet_profile ; Profile, values 0 to 1
- - pg.fillet_vertices_only ; Vertices (True), or Face/Edges
+ - pg.fillet_radius ; Radius of fillet
+ - pg.fillet_segments ; Number of segments
+ - pg.fillet_profile ; Profile, values 0 to 1
+ - pg.fillet_vertices_only ; Vertices (True), or Face/Edges
+ - pg.fillet_intersect ; Intersect dges first (True), or not
Args:
context: Blender bpy.context instance.
@@ -588,9 +596,10 @@ class PDT_OT_Angle2(Operator):
def execute(self, context):
"""Measures Angle and Offsets between 2 Points in View Plane.
- Uses 2 Selected Vertices to set pg.angle and pg.distance scene variables
- also sets delta offset from these 2 points using standard Numpy Routines
- Works in Edit and Oject Modes.
+ Note:
+ Uses 2 Selected Vertices to set pg.angle and pg.distance scene variables
+ also sets delta offset from these 2 points using standard Numpy Routines
+ Works in Edit and Oject Modes.
Args:
context: Blender bpy.context instance.
@@ -614,9 +623,10 @@ class PDT_OT_Angle3(Operator):
def execute(self, context):
"""Measures Angle and Offsets between 3 Points in World Space, Also sets Deltas.
- Uses 3 Selected Vertices to set pg.angle and pg.distance scene variables
- also sets delta offset from these 3 points using standard Numpy Routines
- Works in Edit and Oject Modes.
+ Note:
+ Uses 3 Selected Vertices to set pg.angle and pg.distance scene variables
+ also sets delta offset from these 3 points using standard Numpy Routines
+ Works in Edit and Oject Modes.
Args:
context: Blender bpy.context instance.
@@ -640,9 +650,10 @@ class PDT_OT_Origin(Operator):
def execute(self, context):
"""Sets Object Origin in Edit Mode to Cursor Location.
- Keeps geometry static in World Space whilst moving Object Origin
- Requires cursor location
- Works in Edit and Object Modes.
+ Note:
+ Keeps geometry static in World Space whilst moving Object Origin
+ Requires cursor location
+ Works in Edit and Object Modes.
Args:
context: Blender bpy.context instance.
@@ -673,10 +684,11 @@ class PDT_OT_Taper(Operator):
def execute(self, context):
"""Taper Geometry along World Axes.
- Similar to Shear command except that it shears by angle rather than displacement.
- Rotates about World Axes and displaces along World Axes, angle must not exceed +-80 degrees.
- Rotation axis is centred on Active Vertex.
- Works only in Edit mode.
+ Note:
+ Similar to Blender Shear command except that it shears by angle rather than displacement.
+ Rotates about World Axes and displaces along World Axes, angle must not exceed +-80 degrees.
+ Rotation axis is centred on Active Vertex.
+ Works only in Edit mode.
Args:
context: Blender bpy.context instance.
diff --git a/precision_drawing_tools/pdt_etof.py b/precision_drawing_tools/pdt_etof.py
index 2e9f8487..20a00bdf 100644
--- a/precision_drawing_tools/pdt_etof.py
+++ b/precision_drawing_tools/pdt_etof.py
@@ -30,6 +30,7 @@ from mathutils.geometry import intersect_line_plane
from .pdt_msg_strings import (
PDT_ERR_NOINT,
PDT_ERR_EDOB_MODE,
+ PDT_ERR_SEL_1_E_1_F,
)
from .pdt_functions import oops
@@ -45,7 +46,7 @@ def failure_message(context):
"""
pg = context.scene.pdt_pg
- pg.error = f"Select One Face and One Edge"
+ pg.error = f"{PDT_ERR_SEL_1_E_1_F}"
context.window_manager.popup_menu(oops, title="Error", icon="ERROR")
diff --git a/precision_drawing_tools/pdt_functions.py b/precision_drawing_tools/pdt_functions.py
index 5ce19f0a..3d12c4f9 100644
--- a/precision_drawing_tools/pdt_functions.py
+++ b/precision_drawing_tools/pdt_functions.py
@@ -45,9 +45,10 @@ PDT_ShaderError = pdt_exception.ShaderError
def debug(msg, prefix=""):
"""Print a debug message to the console if PDT's or Blender's debug flags are set.
- The printed message will be of the form:
+ Note:
+ The printed message will be of the form:
- {prefix}{caller file name:line number}| {msg}
+ {prefix}{caller file name:line number}| {msg}
Args:
msg: Incomming message to display
@@ -90,14 +91,12 @@ def debug(msg, prefix=""):
def oops(self, context):
"""Error Routine.
- Displays error message in a popup.
+ Note:
+ Displays error message in a popup.
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.error scene variable
-
Returns:
Nothing.
"""
@@ -110,10 +109,11 @@ def oops(self, context):
def set_mode(mode_pl):
"""Sets Active Axes for View Orientation.
- Sets indices of axes for locational vectors:
- "XY": a1 = x, a2 = y, a3 = z
- "XZ": a1 = x, a2 = z, a3 = y
- "YZ": a1 = y, a2 = z, a3 = x
+ Note:
+ Sets indices of axes for locational vectors:
+ "XY": a1 = x, a2 = y, a3 = z
+ "XZ": a1 = x, a2 = z, a3 = y
+ "YZ": a1 = y, a2 = z, a3 = x
Args:
mode_pl: Plane Selector variable as input
@@ -133,14 +133,13 @@ def set_mode(mode_pl):
def set_axis(mode_pl):
"""Sets Active Axes for View Orientation.
- Sets indices for axes from taper vectors
+ Note:
+ Sets indices for axes from taper vectors
+ Axis order: Rotate Axis, Move Axis, Height Axis
Args:
mode_pl: Taper Axis Selector variable as input
- Note:
- Axis order: Rotate Axis, Move Axis, Height Axis
-
Returns:
3 Integer Indicies.
"""
@@ -159,7 +158,8 @@ def set_axis(mode_pl):
def check_selection(num, bm, obj):
"""Check that the Object's select_history has sufficient entries.
- If selection history is not Verts, clears selection and history.
+ Note:
+ If selection history is not Verts, clears selection and history.
Args:
num: The number of entries required for each operation
@@ -253,7 +253,8 @@ def view_coords(x_loc, y_loc, z_loc):
def view_coords_i(x_loc, y_loc, z_loc):
"""Converts Screen Oriented input Vector values to new World Vector.
- Converts View tranformation Matrix to Rotational Matrix
+ Note:
+ Converts View tranformation Matrix to Rotational Matrix
Args:
x_loc: X coordinate from vector
@@ -278,8 +279,9 @@ def view_coords_i(x_loc, y_loc, z_loc):
def view_dir(dis_v, ang_v):
"""Converts Distance and Angle to View Oriented Vector.
- Converts View Transformation Matrix to Rotational Matrix (3x3)
- Angles are Converts to Radians from degrees.
+ Note:
+ Converts View Transformation Matrix to Rotational Matrix (3x3)
+ Angles are Converts to Radians from degrees.
Args:
dis_v: Scene PDT distance
@@ -366,8 +368,11 @@ def arc_centre(vector_a, vector_b, vector_c):
def intersection(vertex_a, vertex_b, vertex_c, vertex_d, plane):
"""Calculates Intersection Point of 2 Imagined Lines from 4 Vectors.
- Calculates Converging Intersect Location and indication of
- whether the lines are convergent using standard Numpy Routines
+
+ Note:
+ Calculates Converging Intersect Location and indication of
+ whether the lines are convergent using standard Numpy Routines
+
Args:
vertex_a: Active vector location of first line
vertex_b: Second vector location of first line
@@ -426,11 +431,12 @@ def intersection(vertex_a, vertex_b, vertex_c, vertex_d, plane):
def get_percent(obj, flip_percent, per_v, data, scene):
"""Calculates a Percentage Distance between 2 Vectors.
- Calculates a point that lies a set percentage between two given points
- using standard Numpy Routines.
+ Note:
+ Calculates a point that lies a set percentage between two given points
+ using standard Numpy Routines.
- Works for either 2 vertices for an object in Edit mode
- or 2 selected objects in Object mode.
+ Works for either 2 vertices for an object in Edit mode
+ or 2 selected objects in Object mode.
Args:
obj: The Object under consideration
@@ -576,7 +582,8 @@ SHADER = gpu.shader.from_builtin("3D_UNIFORM_COLOR") if not bpy.app.background e
def draw_3d(coords, gtype, rgba, context):
"""Draw Pivot Point Graphics.
- Draws either Lines Points, or Tris using defined shader
+ Note:
+ Draws either Lines Points, or Tris using defined shader
Args:
coords: Input Coordinates List
@@ -603,9 +610,10 @@ def draw_3d(coords, gtype, rgba, context):
def draw_callback_3d(self, context):
"""Create Coordinate List for Pivot Point Graphic.
- Creates coordinates for Pivot Point Graphic consisting of 6 Tris
- and one Point colour coded Red; X axis, Green; Y axis, Blue; Z axis
- and a yellow point based upon screen scale
+ Note:
+ Creates coordinates for Pivot Point Graphic consisting of 6 Tris
+ and one Point colour coded Red; X axis, Green; Y axis, Blue; Z axis
+ and a yellow point based upon screen scale
Args:
context: Blender bpy.context instance.
@@ -688,14 +696,13 @@ def draw_callback_3d(self, context):
def scale_set(self, context):
"""Sets Scale by dividing Pivot Distance by System Distance.
- Sets Pivot Point Scale Factors by Measurement
+ Note:
+ Sets Pivot Point Scale Factors by Measurement
+ Uses pg.pivotdis & pg.distance scene variables
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.pivotdis & pg.distance scene variables
-
Returns:
Status Set.
"""
diff --git a/precision_drawing_tools/pdt_library.py b/precision_drawing_tools/pdt_library.py
index d69d5adc..c2565470 100644
--- a/precision_drawing_tools/pdt_library.py
+++ b/precision_drawing_tools/pdt_library.py
@@ -68,14 +68,13 @@ class PDT_OT_Append(Operator):
def execute(self, context):
"""Appends Objects from PDT Library file.
- Appended Objects are placed at Cursor Location.
+ Note:
+ Appended Objects are placed at Cursor Location.
+ Uses pg.lib_objects, pg.lib_collections & pg.lib_materials
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.lib_objects, pg.lib_collections & pg.lib_materials
-
Returns:
Status Set.
"""
@@ -146,14 +145,13 @@ class PDT_OT_Link(Operator):
def execute(self, context):
"""Links Objects from PDT Library file.
- Linked Objects are placed at Cursor Location
+ Note:
+ Linked Objects are placed at Cursor Location
+ Uses pg.lib_objects, pg.lib_collections & pg.lib_materials
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.lib_objects, pg.lib_collections & pg.lib_materials
-
Returns:
Status Set.
"""
diff --git a/precision_drawing_tools/pdt_msg_strings.py b/precision_drawing_tools/pdt_msg_strings.py
index cf586d56..0c586200 100644
--- a/precision_drawing_tools/pdt_msg_strings.py
+++ b/precision_drawing_tools/pdt_msg_strings.py
@@ -26,20 +26,21 @@
# If you edit this file do not change any of the PDT_ format, just the Text Value in "'s
# Do not delete any of the PDT_ lines
#
-# Menu Labels
-#
"""This file contains all the Message Strings.
- These strings are called by various programmes in PDT,
- they can be set to suit individual User requirements.
+ Note:
+ These strings are called by various programmes in PDT,
+ they can be set to suit individual User requirements.
-Args:
- None
+ Args:
+ None
-Returns:
- None
-"""
+ Returns:
+ None.
+ """
+# Menu Labels
+#
PDT_LAB_ABS = "Absolute" # "Global"
PDT_LAB_DEL = "Delta" # "Relative"
PDT_LAB_DIR = "Direction" # "Polar"
diff --git a/precision_drawing_tools/pdt_pivot_point.py b/precision_drawing_tools/pdt_pivot_point.py
index 75cb3c16..3b978b2d 100644
--- a/precision_drawing_tools/pdt_pivot_point.py
+++ b/precision_drawing_tools/pdt_pivot_point.py
@@ -50,7 +50,8 @@ class PDT_OT_ModalDrawOperator(bpy.types.Operator):
def handle_add(self, context):
"""Draw Pivot Point Graphic if not displayed.
- Draws 7 element Pivot Point Graphic
+ Note:
+ Draws 7 element Pivot Point Graphic
Args:
context: Blender bpy.context instance.
@@ -69,7 +70,8 @@ class PDT_OT_ModalDrawOperator(bpy.types.Operator):
def handle_remove(self, context):
"""Remove Pivot Point Graphic if displayed.
- Removes 7 element Pivot Point Graphic
+ Note:
+ Removes 7 element Pivot Point Graphic
Args:
context: Blender bpy.context instance.
@@ -86,7 +88,8 @@ class PDT_OT_ModalDrawOperator(bpy.types.Operator):
def execute(self, context):
"""Pivot Point Show/Hide Button Function.
- Operational execute function for Show/Hide Pivot Point function
+ Note:
+ Operational execute function for Show/Hide Pivot Point function
Args:
context: Blender bpy.context instance.
@@ -136,8 +139,9 @@ class PDT_OT_ViewPlaneRotate(Operator):
def execute(self, context):
"""Rotate Selected Vertices about Pivot Point.
- Rotates any selected vertices about the Pivot Point
- in View Oriented coordinates, works in any view orientation.
+ Note:
+ Rotates any selected vertices about the Pivot Point
+ in View Oriented coordinates, works in any view orientation.
Args:
context: Blender bpy.context instance.
@@ -199,8 +203,9 @@ class PDT_OT_ViewPlaneScale(Operator):
def execute(self, context):
"""Scales Selected Vertices about Pivot Point.
- Scales any selected vertices about the Pivot Point
- in View Oriented coordinates, works in any view orientation
+ Note:
+ Scales any selected vertices about the Pivot Point
+ in View Oriented coordinates, works in any view orientation
Args:
context: Blender bpy.context instance.
@@ -250,7 +255,8 @@ class PDT_OT_PivotToCursor(Operator):
def execute(self, context):
"""Moves Pivot Point to Cursor Location.
- Moves Pivot Point to Cursor Location in active scene
+ Note:
+ Moves Pivot Point to Cursor Location in active scene
Args:
context: Blender bpy.context instance.
@@ -277,7 +283,8 @@ class PDT_OT_CursorToPivot(Operator):
def execute(self, context):
"""Moves Cursor to Pivot Point Location.
- Moves Cursor to Pivot Point Location in active scene
+ Note:
+ Moves Cursor to Pivot Point Location in active scene
Args:
context: Blender bpy.context instance.
@@ -319,8 +326,9 @@ class PDT_OT_PivotSelected(Operator):
def execute(self, context):
"""Moves Pivot Point centroid of Selected Geometry.
- Moves Pivot Point centroid of Selected Geometry in active scene
- using Snap_Cursor_To_Selected, then puts cursor back to original location.
+ Note:
+ Moves Pivot Point centroid of Selected Geometry in active scene
+ using Snap_Cursor_To_Selected, then puts cursor back to original location.
Args:
context: Blender bpy.context instance.
@@ -378,7 +386,8 @@ class PDT_OT_PivotOrigin(Operator):
def execute(self, context):
"""Moves Pivot Point to Object Origin.
- Moves Pivot Point to Object Origin in active scene
+ Note:
+ Moves Pivot Point to Object Origin in active scene
Args:
context: Blender bpy.context instance.
@@ -426,8 +435,9 @@ class PDT_OT_PivotWrite(Operator):
def execute(self, context):
"""Writes Pivot Point Location to Object's Custom Properties.
- Writes Pivot Point Location to Object's Custom Properties
- as Vector to 'PDT_PP_LOC' - Requires Confirmation through dialogue
+ Note:
+ Writes Pivot Point Location to Object's Custom Properties
+ as Vector to 'PDT_PP_LOC' - Requires Confirmation through dialogue
Args:
context: Blender bpy.context instance.
@@ -482,8 +492,9 @@ class PDT_OT_PivotRead(Operator):
def execute(self, context):
"""Reads Pivot Point Location from Object's Custom Properties.
- Sets Pivot Point Location from Object's Custom Properties
- using 'PDT_PP_LOC'
+ Note:
+ Sets Pivot Point Location from Object's Custom Properties
+ using 'PDT_PP_LOC'
Args:
context: Blender bpy.context instance.
diff --git a/precision_drawing_tools/pdt_view.py b/precision_drawing_tools/pdt_view.py
index b11a3f55..eaa2e72e 100644
--- a/precision_drawing_tools/pdt_view.py
+++ b/precision_drawing_tools/pdt_view.py
@@ -42,15 +42,14 @@ class PDT_OT_ViewRot(Operator):
def execute(self, context):
"""View Rotation by Absolute Values.
- Rotations are converted to 3x3 Quaternion Rotation Matrix.
- This is an Absolute Rotation, not an Incremental Orbit.
+ Note:
+ Rotations are converted to 3x3 Quaternion Rotation Matrix.
+ This is an Absolute Rotation, not an Incremental Orbit.
+ Uses pg.rotation_coords scene variable
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.rotation_coords scene variables
-
Returns:
Status Set.
"""
@@ -77,14 +76,13 @@ class PDT_OT_ViewRotL(Operator):
def execute(self, context):
"""View Orbit Left by Delta Value.
- Orbits view to the left about its vertical axis
+ Note:
+ Uses pg.vrotangle scene variable
+ Orbits view to the left about its vertical axis
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.vrotangle scene variable
-
Returns:
Status Set.
"""
@@ -106,14 +104,13 @@ class PDT_OT_ViewRotR(Operator):
def execute(self, context):
"""View Orbit Right by Delta Value.
- Orbits view to the right about its vertical axis
+ Note:
+ Uses pg.vrotangle scene variable
+ Orbits view to the right about its vertical axis
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.vrotangle scene variable
-
Returns:
Status Set.
"""
@@ -135,14 +132,13 @@ class PDT_OT_ViewRotU(Operator):
def execute(self, context):
"""View Orbit Up by Delta Value.
- Orbits view up about its horizontal axis
+ Note:
+ Uses pg.vrotangle scene variable
+ Orbits view up about its horizontal axis
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.vrotangle scene variable
-
Returns:
Status Set.
"""
@@ -164,14 +160,13 @@ class PDT_OT_ViewRotD(Operator):
def execute(self, context):
"""View Orbit Down by Delta Value.
- Orbits view down about its horizontal axis
+ Note:
+ Uses pg.vrotangle scene variable
+ Orbits view down about its horizontal axis
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.vrotangle scene variable
-
Returns:
Status Set.
"""
@@ -193,14 +188,13 @@ class PDT_OT_ViewRoll(Operator):
def execute(self, context):
"""View Roll by Delta Value.
- Rolls view about its normal axis
+ Note:
+ Uses pg.vrotangle scene variable
+ Rolls view about its normal axis
Args:
context: Blender bpy.context instance.
- Note:
- Uses pg.vrotangle scene variable
-
Returns:
Status Set.
"""
@@ -222,7 +216,8 @@ class PDT_OT_ViewIso(Operator):
def execute(self, context):
"""Set Isometric View.
- Set view orientation to Orthographic Isometric
+ Note:
+ Set view orientation to Orthographic Isometric
Args:
context: Blender bpy.context instance.
diff --git a/precision_drawing_tools/pdt_xall.py b/precision_drawing_tools/pdt_xall.py
index f14fc292..92e1eb44 100644
--- a/precision_drawing_tools/pdt_xall.py
+++ b/precision_drawing_tools/pdt_xall.py
@@ -40,7 +40,8 @@ def order_points(edge, point_list):
v1, v2 = edge
def dist(coord):
- """MEasure distance between two coordinates."""
+ """Measure distance between two coordinates."""
+
return (v1 - coord).length
point_list = sorted(point_list, key=dist)
@@ -203,7 +204,8 @@ def unselect_nonintersecting(bm, d_edges, edge_indices):
def intersect_all(context):
"""Computes All intersections with Crossing Geometry.
- Deletes original edges and replaces with new intersected edges
+ Note:
+ Deletes original edges and replaces with new intersected edges
Args:
context: Blender bpy.context instance.
@@ -251,7 +253,7 @@ class PDT_OT_IntersectAllEdges(bpy.types.Operator):
@classmethod
def poll(cls, context):
- """Check to see object is in correct condidtion.
+ """Check to see object is in correct condition.
Args:
context: Blender bpy.context instance.
@@ -267,7 +269,8 @@ class PDT_OT_IntersectAllEdges(bpy.types.Operator):
def execute(self, context):
"""Computes All intersections with Crossing Geometry.
- Deletes original edges and replaces with new intersected edges
+ Note:
+ Deletes original edges and replaces with new intersected edges
Args:
context: Blender bpy.context instance.