shriinivas / blenderbezierutils Goto Github PK
View Code? Open in Web Editor NEWBlender Add-on with Bezier Utility Ops
License: GNU General Public License v3.0
Blender Add-on with Bezier Utility Ops
License: GNU General Public License v3.0
I have been trying and trying to edit curves I have drawn in draw mode using the Flexi Draw Bezier tool. When I try to activate the 'Flexi Edit Bezier' Tool; the curves then show a green highlight around them, and do not show the blue sections as shown in the documentation video. And clicking on the curves never reveals any Bezier handles to move or manipulate. If I do click and drag; it just changes to the 'Move' tool, and moves the entire grease pencil object.
Not sure if this is a bug, or if I am doing something wrong.
I also do not get the select tool box that shows up with Shift+Spacebar. I tried deleting some of my keybindings to get that to work; but it never shows up.
I would suggest allowing the user to setup their own keybindings per tool (in the preferences panel>Add-ons>Bezier Utilities.); instead of everything being locked down. Perhaps a pie menu would be a nice enhancement as well.
New error that I noticed while editing a curve:
Original report: https://blenderartists.org/t/flexi-bezier-tool/1168179/382
Addon version: 0.9.85
Blender version: blender-2.83-11df5443e5d0-windows64
Traceback (most recent call last):
File "C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py", line 4439, in modal
return self.subModal(context, event, evtCons)
File "C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py", line 7259, in subModal
changed = ei.insertNode(handleType)
File "C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py", line 6249, in insertNode
invMw = obj.matrix_world.inverted()
NameError: name 'obj' is not definedlocation: : -1:
thks share this addon/
There are a few integration issues with the workflow and keymap of this addon. I would love to work with you on solving those issues for a better user experience.
Are you interested? How can we do this? Love ya work.
Imagine that we have drawn a shape on a paper, and then we fold the paper in the middle. The original shape is not changed, but now both parts of the shape lie at an angle.
Can we have this type of effect in the Bezier Curve addon?
Note that the curve can cross the fold at one place or multiple places. (or, multiple curves may go across the fold.)
In all cases, the folding angle should be the same for all curves that cross the fold.
Hey this addon is not compatible with 3.0 ist there any plan to fix this ?
Is it possible to draw on a surface with this tool? If so, are there instructions you could point me to? If not, feature request. Great tool! Thanks
Hi, Great add-on. Q: I see on the N-Panel that you can set ALL the point types all at once. What about converting just ONE point to and from different types? Meaning, how can I change just the selected point from Auto to Free, and then from Free to Auto? I do realize that if I get out of the Bezier Utility mode and just back to normal mode. Then tab into edit mode I can just edit the points like in vanilla Blender. But when I am using Bezier Utility's "Flex Edit" mode I can't use the V key to change point type for one point. I seems unproductive to have to go in/out of Flexi Edit to just change a point. Am I missing something or can this function be added?
Addon not loading in Blender 2.83 and 2.90
Here Keyboard Interrupt of endless cycle:
Traceback (most recent call last):
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 3089, in modal
return self.subModal(context, event, snapProc)
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 5063, in subModal
self.refreshDisplaySelCurves(displayInfosMap, locOnCurve)
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 4631, in refreshDisplaySelCurves
ModalFlexiEditBezierOp.refreshDisplay(displayInfos, locOnCurve, self.snapper)
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 4611, in refreshDisplay
ModalBaseFlexiOp.refreshDisplayBase(displayInfos, snapper)
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 2994, in refreshDisplayBase
areaRegionInfo = getAllAreaRegions()
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 478, in getAllAreaRegions
areas = [a for a in bpy.data.screens[i].areas if(a.type == 'VIEW_3D')]
File "/home/design/.config/blender/2.81/scripts/addons/blenderbezierutils.py", line 478, in <listcomp>
areas = [a for a in bpy.data.screens[i].areas if(a.type == 'VIEW_3D')]
KeyboardInterrupt
There is a built-in addon called snap utlities line, which shows snap points as we move the mouse pointer.
Can it be done with Bezier Utilities also?
Also consider if the midpoints of a face can be highlighted when the mouse pointer is within a threshold distance.
HIi!
I've been using this tool for awhile now and I was wondering if you can make the handles on each point (that adjusts the curve) to move in the same manner as adjusting handles in Adobe products (Illustrator, Photoshop)?
System Information
Operating system: Linux-4.15.0-62-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GTX 1070/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 390.116
Blender Version
Broken: version: 2.81 (sub 15), branch: master, commit date: 2019-10-12 15:33, hash: rB95f020c853d6
Bezier utils version
0.9.61 version used.
Exact steps for others to reproduce the error
Issue:
When using e.g. the Blender Sculpt template (or any other template) the Measure & Annotation tools in the toolbar in Object Mode disappear when Bezier Tools is installed.
Steps:
Notes:
A) This issue only occurs after Bezier Tools is installed
(blenderbezierutils.py downloaded on 07/01/20)
B) Bezier Tools is the only add-on that is installed / activated
C) It only involves the Annotate & Measure tools
My System:
OS: Windows 10 Pro v1909
Processor: AMD Ryzen 5 3600 6-core
RAM: 32 GB
Graphics Card: NVIDIA GeForce RTX 2060 SUPER/PCIe/SSE2/4.5.0 NVIDIA 441.66 (latest Studio driver)
Blender: Portable 2.81a
Thank you for your wonderful add-on, it will make working with curves much more pleasurable!
Not an issue, but more like a "missing feature" that is not too hard to implement I think.
I already left this suggestion as comment on your youtube video but I thought maybe opening this is better for you to track and I can develop the idea.
line_width
prop take the radius of the user when drawing normal GP.
C.object.data.layers.active.active_frame.strokes[-1].line_width
Here it is set at default value 0
.
I think it would be best to use current brush radius so the user can control the thickness of the generated stroke as if he was drawing normally.
it's a per brush size
parameter.
C.scene.tool_settings.gpencil_paint.brush.size
to reach the property.
I suppose it would be nice to display the built-in radius property in the toolbar to have a visual on the current value even in Flexi mode (and for user who dont use the F
shortcut to change it)
Doing the same things for the strength can complete the arsenal (but stored at points
level this time)
C.scene.tool_settings.gpencil_paint.brush.strength
Other than that everything is amazing ! 🚀
Thank you for coding and sharing this powerfull tool.
Samuel.
Thanks for cool addon.
Am I doing something wrong?
Changing type do not work for me.
2020-11-03_14-49-15.mp4.zip
In Blender2.90, when I run "Mark Starting Vertices", it crashes.
This is probably a problem caused by the specification change in 2.90, which changed the option name of the curve handle display.
old …… show_curve_handles
new …… display_handle
version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: 0330d1af29c0, type: Release
build date: 2020-08-31, 10:00:13
platform: Windows
binary path: 'C:\Program Files\blender-2.90\blender290.exe'
build cflags: /W3 /w34062 /w34115 /w34189 /wd4018 /wd4146 /wd4065 /wd4127 /wd4181 /wd4200 /wd4244 /wd4267 /wd4305 /wd4800 /wd4828 /wd4996 /wd4661 /we4013 /we4133 /we4431 /w35038 /DWIN32 /D_WINDOWS /W3 /nologo /J /Gd /MP /bigobj -openmp
build cxxflags: /W3 /w34062 /w34115 /w34189 /wd4018 /wd4146 /wd4065 /wd4127 /wd4181 /wd4200 /wd4244 /wd4267 /wd4305 /wd4800 /wd4828 /wd4996 /wd4661 /we4013 /we4133 /we4431 /w35038 /DWIN32 /D_WINDOWS /W3 /GR /EHsc /nologo /J /Gd /MP /EHsc /bigobj /permissive- /Zc:twoPhase- -openmp /std:c++17
build linkflags: /MACHINE:X64 /SUBSYSTEM:CONSOLE /STACK:2097152 /ignore:4049 /ignore:4217 /ignore:4221
build system: CMake
I got an error after pressing the CTRL hotkey while creating some curves.
Original bug report : https://blenderartists.org/t/flexi-bezier-tool/1168179/377
Addon version : 0.9.85
Blender version : blender-2.83-9d90cad3ed39-windows64 & blender-2.83-11df5443e5d0-windows64
Traceback (most recent call last):
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 4432, in modal
return self.subModal(context, event, evtCons)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 5253, in subModal
return self.baseSubModal(context, event, snapProc)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 5140, in baseSubModal
return self.drawObj.procDrawEvent(context, event, snapProc)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 4999, in procDrawEvent
loc = snapper.get3dLocSnap(rmInfo)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 3985, in get3dLocSnap
rounding = getViewDistRounding(rmInfo.space3d, rv3d)
File “C:\Users\Sebastien\AppData\Roaming\Blender Foundation\Blender\2.83\scripts\addons\blenderbezierutils.py”, line 520, in getViewDistRounding
return int(log(viewDist, getGridSubdiv(space3d))) - 1
ZeroDivisionError: float division by zero
location: :-1
It is about increasing functionality not a Issue report: Please enable same feature like in grease pencil scroll wheel to adjust subdivision/resolution of the curve in 3d viewport, however i think you don't include maybe due to stability issue but please have an option to enable it. In archviz it is very helpful. In 3ds max, 80 percent of architectural modelling work is done is Spline why blender don't emphasize on improving curve functionality even in after effect animation curve is used heavily, simple operation like auto-smooth are not yet present. Boolean modifier will be great. Anyway if you find time then only work on it.
The keymap appears in the left-side bottom corner of the screen. There is an option to shift this display next to the toolbar, but when I have folded the toolbar in two-column configuration, the text appears far from the toolbar.
In my case, I have changed the font size to 15, but even when I reset the preferences, the result is similar.
Hi, I use tablet to draw curves and grease pencil in Blender 2.93.
I can't use Ctrl+Alt+Click to add a vector vertex when I enable "Emulate 3 Button Mouse".
How can I set other hot button for this?
Thanks.
Ctrl, Alt, Shift buttons get 'stuck' if pressed inside viewport and released outside.
Please either enable the option to change hotkey or Change the W key with another key.
Inspiration for this feature is from InkScape, where we can select a curve, and create another curve that is parallel to the existing curve, either inside ("inset") or outside ("outset"). The amount of offset can be selected with a slider, or spinner control ("dynamic offset").
While the offsetting in InkScape is 2D, it would have to be 3D in Blender. However, conceptually this should be possible by constraining different axes.
Hi Shriinivas.
As far as I know, you can't release your Flexi Draw Bezier Tool under the MIT license.
It has to be GPL (btw, all blender addons have to be released under the GPL license, not only yours).
It's such a Great Addon you are marvelous!
I got an error when I try to segment circles and polygons.
Blender Version: 2.90.1 (Mac OS)
Addon Version: 0.9.95
When I try to scroll my mouse and/or use the Numpad +/- to change the segment blender showed me an error message and the addon appears to be freeze and I couldn't do anything after that.
I don't know if I'm doing it wrong or it is just caused by some other issue.
Look forward to see some new cool ideas from it!
When closing blender, I get an error:
File ".../blender/2.93/scripts/addons/blenderbezierutils.py", line 10171, in unregisterFlexiBezierKeymaps
defaultmap = keyconfigs.get("blender").keymaps
AttributeError: 'NoneType' object has no attribute 'keymaps'
Would be great to have all the tools also work on self intersections between a single spline. I think the mechanics are there
Using bezierutils in 3.5 beta, and this error is coming up:
And this:
WARN (bgl): source/blender/python/generic/bgl.c:2656 BPyInit_bgl: 'bgl' imported without an OpenGL backend. Please update your add-ons to use the 'gpu' module. In Blender 3.7 'bgl' will be removed.
Everything still works if I use OpenGL instead of Metal.
Looked at the code a bit, and looks like bgl is only used for determining line width and point size, such as with bgl.glPointSize(MarkerController.defPointSize. Also read up that this may be the only way to change pointsize and line width, although I have to admit that the ability to change line width and point size as a custom preference never worked for me in the first place. I tried commenting out the bgl lines and no longer receive any errors, and everything seems to work as well as it did before.
I love this add-on; though I'm struggling to find a way to change the stroke/brush style while using the Flexi-Bezier Curves in Draw Mode. What I want is to be able to have the thick to thin fall-off at the ends of the lines; and perhaps lower strength as well as the thickness fades to thin. (Pretty Much what the standard Soft Pencil brush would do . . .)
I also would be interested to know if there is a way to edit these attributes after the fact; aside from 'Sculpt Mode'. I don't really like how the results in Sculpt Mode tend to be a little unnatural & forced most of the time. (If you are trying to make really clean and smooth line work . . .)
Hi. Thank you very much for your useful addon. Please insert a shortcut key like PgUp, PgOn for the middle mouse key. Thank you.
Please see following video for bug: https://www.youtube.com/watch?v=_Iw85AgSVPs
I am using Linux openSuse Tumbleweed, and my screen resolution is 1920x1200
Blender 2.80
I figured it out by looking at the crash file. In it, this line:
File "/home/rrioux/.config/blender/2.90/scripts/addons/blenderbezierutils.py", line 2670 in colorCurves
So I turned off the addon and it worked.
Suppose we want to draw a Bezier curve from another existing curve, either from an end-point or another node in the middle.
When I select the Draw Bezier tool and hover the pointer on the curve, none of the nodes on the old curve are highlighted,
Desired: We should be able to snap the starting point to any of the nodes of the older curve, and that should be visually indicated.
Thanks for a very useful add-on. I am looking for a way to do the axis-aligned movements on the level of Bezier nodes.
I see there is Z for lock to Z-axis, but it makes sure that the next point has the same X-Y coordinates as the previous point, whereas I would like to be able to keep my current point on the Z axis (with regular blender move it would be G-Z). Snap to grid does nearly what I want, but I want to be able to change the Z coordinate continuously.
Is there a way to achieve that with the add-on?
I need to keep the first and last points on the Z-axis, as I'm later rotating the curve around the axis to create a 3d mesh.
Blender 2.83 Win8.1
I have 101 keys ("full") keyboard on my Acer Aspire laptop, with a NumPad at right.
The keyboard has the standard "US" layout (English).
I am using Blender 2.91 (downloaded 2 days ago), on Windows 10 Home edition, 64 bits.
If I use the DEL button located in the NumPad, nothing happens.
But the button on the top row of the keyboard, which is labeled Ins/DEL works fine.
Both buttons are shown in this figure:
The sample bezier curve is shown below (just to check if I am using the correct mode, selection, etc)
Hi, your addons is wonderfull. I used it in a other version.
In 3.0, I succeeded only after have modified le "bl_info" parameter
Thank for that addons
First noticed when Set Handle Type/Select/Deselect pie menus not working. Used latest version with Blender 2.81a clean setup (no user addons). The system console window showed output below:
In fact error output can occur on first click of flexi edit bezier button.
Error is marked as line 5709 updateaftergeomchange self.updatesnaplocs()
In Flexi edit mode when i press W to subdivide the curve it shows the error" Trackball recent call...". Please change the W key for subvision to S or any you like. because W is the universal key to return to Select Box.
I don't get an error when installing (see below), but it doesn't show up in the addons dialog.
Modules Installed () from '/Users/a4/Downloads/blenderbezierutils-master.zip' into '/Users/a4/Library/Application Support/Blender/2.90/scripts/addons'
OSX 10.157
In the latest Blender 2.92 Alpha build, with the latest (0.99.5) bezierutils addon enabled, when marking any object other than a collection as an asset using the new asset manager, blender crashes with a segmentation fault:
`Info: Data-block 'Cube' is now an asset
Program received signal SIGSEGV, Segmentation fault.
#0 /lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f1250a3f210]
#1 /lib/x86_64-linux-gnu/libGLdispatch.so.0(+0x4c049) [0x7f1250933049]
`
This behavior occurs only when the bezierutils addon is enabled, whereas when it is disabled, the asset operation proceeds normally without crashes.
Currently, we have to select segments of a curve one by one.
It would be fantastic if the user can use the box-select tool to (de)select multiple segments at a time.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.