Commit Graph

25 Commits

Author SHA1 Message Date
c06f76b012 PDT: Revise Docstrings
Made functions more understandable by improving DocStrings
2020-03-28 18:56:27 +01:00
ee577f162d PDT: Allow User to Move Empties (enhancement)
This enhancement allows users to move Empties, so they can be used as a parent
object for other objects. Allows movement by Delta, Direction and Absolute.
2020-03-28 18:56:16 +01:00
9d8aeccfe3 PDT: Add Local View Options (enhancement)
Add local view orientation options to Delta & Direction options for all functions.
2020-03-28 18:55:14 +01:00
4015cd1425 PDT: Placing new vertex by Absolute (fix)
Minor error, there is no need to check for vertex type if adding a new vertex
by absolute coordinates.
2020-03-28 18:55:04 +01:00
d0f9f5a507 PDT: Trivial fixes to PDT Command Help
Modified help information in PDT Command when user enters ?, or "help".
Added Wiki URL and some minor changes.
2020-02-05 21:53:22 +01:00
90b46441d5 PDT: Various improvements to help avoid user error
In certain circumstances, where the user has unwisely set inappropriate inputs,
modes of operation, or other settings, some errors were not trapped. This fixes those
making the system more "User Proof". A new exception was added if the user works
in an inappropriate feature setting, like Face mode when Vertex mode is required.
2020-02-05 13:42:04 +01:00
f4f651c1e9 PDT: Fix Small Error in Absolute based Functions
This fixes a small obscure error in Absolute mode whereby Bmesh was not
always found if Absolute mode was used.

This became apparent if no object was selected and an attempt was made
to add a new vertex, or extrude vertices.

Other checks did not trap for this error. These traps were originally
stored in the individual functions, now all traps are  moved to the
command parse function.
2020-02-04 22:21:09 +01:00
ae250bd102 PDT: Fix Small Error in New Vertex Absolute
Fixed a small error in New Vertex placed at Absolute Coordinates.
This error was very hard to detect and only occurs in very odd circumstances
It no longer occurs, a similar error might have also occurred with Extrude Vertices
to Absolute location, this fix also prevents that.
2020-02-04 22:20:51 +01:00
1a6900ade7 PDT: Docstring fixes and a small bug fix
All Docstrings have been examined for typos and format, etc.

Small code change to set Selection Mode to "SEL" if operation is not
"C" or "P" to avoid possible errors when using other operations.
2020-02-04 14:25:53 +01:00
6837f76f35 PDT: Fix Cursor Placement with new empty file 2020-02-04 02:13:28 +01:00
83ad65d377 PDT: Update Docstrings per Design Spec Document 2020-02-01 16:44:06 +01:00
0e4dd304d6 PDT: Rename more variables for readability 2020-02-01 16:44:02 +01:00
877308f917 PDT: Refactor per Pylint suggestions + readability
- Remove unused imports
- Add comments where appropriate
- Improve readability of variable names
- Re-implement a couple of functions using dictionaries instead of if-statements
- Results of Pylint & Black operations, plus some fixes to code.
2020-02-01 16:42:29 +01:00
7805692b57 PDT: Fix Command Maths Exit
Maths Operations did not exit on completion, resulting in possible selection errors.
2020-02-01 16:42:16 +01:00
7597a8b66d Add System Input Rounding
Applies system rounding to inputs as defined in Add-on Preferences.

Default is 5 places of decimal, values taken from UI, or by calculation are
rounded before command is submitted.
2020-02-01 16:42:03 +01:00
4d0298a3f9 PDT: Refactor - Stage 4
- Check Object Mode is either EDIT or OBJECT as appropriate.
- Change If loop to check command values - error if D, E, For M commands.
- Remove surplus command check in command_maths function.
- Added import of exceptions file.
- Check for Mesh Objects in Object or Edit Mode first and exit with error
  message if not.
- Some minor changes for obscure failures in unusual circumstances.
- Fixes and changes to code to correct minor errors and remove unnecessary
  checks.
- Refactored Command File structure.
- Add more checks to Fillet Operation to check selection and make sure
  current selected vertices/edges are always used. Previous version could
  use wrong selection if Bmesh SelectHistory was in place for Faces, or Edges.
2020-02-01 16:41:11 +01:00
0e62a38218 PDT: Refactor - Stage 3 (Pylint & Black runs)
Most of the recommendations from pylint are now done, I have not changed variables
like v in expression [v for v in... as I consider these to be normal coding practice.

Rename pdt_com_functions.py to pdt_command_functions.py

Fix error in Intersect operation if selected vertices resulted in more than
2 edges being selected. Priority is given to two edges as a selection, then to
4 vertices, if the four vertices represent two edges, the intersection point is
at the intersection of the two edges, which might not be the four vertices, if
one of the vertices forms part of two edges that are also selected.

Priority is 2 edges, then 4 vertices selected individually with the mouse.
2020-02-01 16:40:43 +01:00
fccd99b832 PDT: Refactor codebase (stage 1 + 2)
Moved all PDT Design Operations and Tools to Command Line file to de-dupe
code. All can now be called from the command line, e.g. a command of "otc" sets
the active objects Origin To Cursor, etc. Needs extensive further testing to see if all
Operations in all Modes still work exactly as before.
Tools menu split out from PDT Design so it can be minimised when not in use.
2020-02-01 16:40:29 +01:00
7ae27d2b01 PDT: Fix bug in Command Line: New Vertex
Commands like ni20,45 did not work because there were 2 mode == "d" clauses.

Replace one mode == "d" clause with a mode == "i" clause.
2020-01-14 22:32:04 +01:00
2eb5ee12ce PDT: Fix Command Line selection-related bug
Fix bug where if selection was not made by cursor select, an error occurs in
placing cursor, pivot point, adding edges by percentage, etc.
2020-01-14 22:31:09 +01:00
71c8fa1712 PDT: Strip spaces from Command Line input
Also ignores blank commands rather than showing an error message.
2020-01-14 22:29:45 +01:00
2af992e518 PDT: Rename various variables for readability 2020-01-14 22:26:04 +01:00
0d40bb678c PDT: Modify Fillet functionality
This enables two non-connected edges to be filleted. The Process starts with an
intersection of the two edges, then fillets the corner according to input values
in the UI. This option is selected by setting the Int/Fillet checkbox.

The command Line version now takes the `fi...` format to intersect first. e.g.

`fi1.1,6,0.05` performs an intersected fillet of 1.6 units radius, 6 segments,
concave profile.
2020-01-14 22:25:04 +01:00
4795316548 PDT: Add features to Command Line
Add "Re-Run" button to repeat last command line input.
Add "Maths Output" to take result of calculation when the `mo` command is used.
Allow commas in maths operation so calls like `hypot(3,4)` can be used.
2020-01-14 22:24:07 +01:00
e7594d45b1 Add Clockmender's Precision Drawing Tools v1.1.5
Accepted for inclusion per T70238
2019-12-09 00:52:27 +01:00