However, they remain screen space objects there is no current way to “bake” them into a curve or hatch. I seem to recall having written a script to make geometry arrows in the not-to-distant past, but I can’t find it right now… Weird.
Ahh - here.
I guess I was working on my other machine and as they are sort of test scripts, they did not get added to my main script library…
Wow, thanks so much for these… this saves a lot of time
The AddCrvArrowheads is ideal allowing the selection of each or both ends. Does it also allow the batch removal of arrowheads? If so, I can’t seem to make that work.
In combination with scaling the arrows in the print output, this is a good solution.
The add geometry arrow is also good, but perhaps could be improved in a couple of ways; some of which you’ve mentioned.
1 Ability to create geometry at each or both ends
2 Ability to perform action on more than one curve at once
3 Option to fill with hatch
4 Different arrow styles
I dredged up and finished (maybe) an arrow tool I had lurking at the bottom of the pool for a while now - just in case it helps - it might just be uselessly complex - bunch of options, practically an entire arrow management suite. Arrower.py (5.0 KB)
Toggle mode toggles as you go and Absloute mode takes a multiple selection and does them all at once.
To use the Python script use RunPythonScript, or a macro:
_-RunPythonScript "Full path to py file inside double-quotes"
Yes, that is actually quite a bit of work, I’ll look into it later, items 1-3 shouldn’t be too hard, but 4 (different styles) probably not any time soon. Also, once the geometry arrows are added, they are not so easily removable as the standard arrows - they are no longer object attributes, they are real geometry and to keep track of them would mean storing their info on the curves themselves and being able to retrieve it later.
Curve arrowheads are pixel-based like Dots - they are simply drawn directly to the computer screen and as such always face the viewer and their size remains constant regardless of the zoom level. Therefore you can’t really give them “model-space” dimensions.
There have been requests for arrows and dots that scale with the zoom level, but that hasn’t been implemented yet AFAIK.
Toggle means you click on a curve at a time and it toggles, I hope, what ever AddArrowTo setting you have. If on End and you click a curve that has an arrow at the end, the arrow goes away and vice versa.
I’ve just done a bit more testing.
If you have a selection of curves, then run the script, it will apply the arrow settings which were used last time the script was run in absolute mode.
To change the settings, I had to deselect, run the script, set the desired settings, enter;
then select the group, and finally run the script with the preset settings.
A more intuitive experience might be this.
Make the selection of curves, then run the script, choose the options (perhaps with live preview), then press enter
If no curves are selected, then the user is prompted, but can select groups etc.