This resolves one of the last few areas where we still use inappropriate
abbreviations. Reading abbreviated words is usually slower, because
users must parse, guess and translate the words. Using abbreviations
such as 'rot' is also especially bad since it's a word in itself too.
The main advantage of abbreviations is that they are faster to *write*,
which just isn't a concern for text in the UI.
An issue occurred if you opened Blender with a new file where the
Parts Library path pointed relative to the Blender App, not the working
directory, so was not found.
The Parts Library file is now moved to the Parts Library Menu, so must
be set for new .blend files. Existing .blend files are not affected by
this change.
Error message altered to reflect the option of having this Parts Library
live anywhere.
New Feature: Add Trig Waves Functions
Requires the user to select an existing object in the Trig menu.
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.
This commit is still WIP.
Added Enumerator for Tangent Types, refactored code, revised DocStrings.
This section of PDT still requires extensive testing, currently underway, but not complete.
This is still WIP.
Further expand options to work in any plane and from selected vertices.
DocStrings Added. Code refactored.
Further testing is still required before this can be released for general use.
This Branch is WIP, still in development and not yet suitable for a release.
This process will add the ability to draw tangents from a point to an arc, or circle.
It will also add the ability to draw tangents, both inner and outer, between two arcs.
Arc centres and radii can be manually input into the UI, or set from three vertices that
lie on an imaginary arc. Tangent functions have their own PDT Sub-menu.
This commit only works in Front view, to get the maths right, later commits will expand
this into any view orientation, using existing PDT code.
This commit does not contain DocStrings for the new pdt_tangent.py file, these will
also follow in a later commit.
It is recommended that this commit is not used in a production environment. Once
complete, a new version Branch will be added, at this point the code will reach Alpha
status and be appropriate for extensive user testing.
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.
Attempts to Append, or Link Objects, Collections, or Materials when not in Object
mode resulted in a system error. This is now trapped as an Add-on error and
reported to the User.
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.
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.
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.
The error likely came about because we first commit files to @clockmender's
upstream github repo and then use git format-patch to create patches which
are then applied to the blender add-on repo with:
`git-am -3 --rerere-autoupdate foo.patch`.
Here, the issue seems to be that we've renamed files in the upstream github
repo, but that I then failed to first create and commit empty files with
the same name in the precision_drawing_tools/ repo, which meant that git
did the best it could and added them to the root of the blender add-ons
repo since the files didn't exist in the add-on repo index when they were
added.
This concludes the refactor of the functions and operations in v1.1.8.
Overall, no significant new features were added, but several inaccuracies
and corner cases were fixed during the refactor and docstring review.
- 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.
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.
- 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.
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.
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.
The menus now are re-arranged according to the width of the UI.
A cut-off value is set in the Add-on Preferences.
Remove vestiges of automatic UI highlighting experiment.
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.
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.
Pivot Point Graphics Fix:
Prior to this commit, Pivot Point Graphics showed at inconsistent sizes in
rotated and orthographic views.
This commit now checks the status of the view and scales the graphics
accordingly.
PDT Design UI panel changes:
Attempt to group related input fields and buttons via boxes. Feedback
most welcome.
Intersect Fix:
Changed priorities to give more weight to selection by Vertex than selection
by Edge. Selection by Edge without All/Active will now cause an error if first
vertex of edge is not closest to intersection. This can be overridden by either
setting All/Active, or by working in Vertex mode and ensuring vertex to be
extended is closest to the intersection, when doing both closest vertices is
not required.
Delta Move Fix:
Fixed minor error in Move by Delta operation, when in Object Mode,
Objects were both moved to same location.
- In orthographic mode, will recenter the view and its distance.
- In non-orthographic mode, will reset to the Blender default view.
- Is hooked up to a button in the PDT View Control UI Panel.