Drawing curves
there have been a lot of 'Why the F**K would anyone do that' moments in blender, one that always puzzled me especially is the new draw curve tool, to have to add a curve to delete the curve to draw the curve makes little sense. So i decided to solve the problem as no one else is......... lol.
this script is installed in the same way as every other python script in blender is. once installed the script 'SHIFT A' can be used as usual to add a curve to the work space, in the menu is an extra item labelled 'Draw Curve', selecting this allows the user access to the curve drawing tools, the user is automatically taken to 'Edit Mode'. let me know what you think
heres the script, install it the way you would any addon and press 'SHIFT A' to add a curve and use the 'Draw Curve' choose the tool you want to use, freehand, constrained and start drawing.
bl_info = { "name": "Draw Curve Tool", "blender": (2, 80, 0), "category": "Object", }
import bpy
class OBJECT_OT_add_draw_curve(bpy.types.Operator): bl_idname = "object.add_draw_curve" bl_label = "Draw Curve" bl_options = {'REGISTER', 'UNDO'} bl_icon = 'CURVE_BEZCURVE' # Example icon
def execute(self, context):
# Add a Bezier curve in Object mode
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.curve.primitive_bezier_curve_add()
# Switch to Edit mode
bpy.ops.object.mode_set(mode='EDIT')
# Select all control points
bpy.ops.curve.select_all(action='SELECT')
# Delete the handles
bpy.ops.curve.delete(type='VERT')
# Switch back to Object mode to avoid the empty stroke error
bpy.ops.object.mode_set(mode='OBJECT')
# Activate the Draw Curve tool
bpy.ops.wm.tool_set_by_id(name="builtin.draw")
# Switch back to Edit mode to start drawing
bpy.ops.object.mode_set(mode='EDIT')
return {'FINISHED'}
def menu_func(self, context): self.layout.operator(OBJECT_OT_add_draw_curve.bl_idname, icon='CURVE_BEZCURVE')
def register(): bpy.utils.register_class(OBJECT_OT_add_draw_curve) bpy.types.VIEW3D_MT_curve_add.prepend(menu_func)
def unregister(): bpy.utils.unregister_class(OBJECT_OT_add_draw_curve) bpy.types.VIEW3D_MT_curve_add.remove(menu_func)
if name == " main ": register()
genuinely hope this lets people not even thinking about drawing curves.
8 Comments
For easier access you could publish it as an extension on extensions.blender.org/
I can only dream of being intelligent enough to even remotely comprehend what i just read, i'll leave the rest to those who know what they are doing :)
Without the attitude it could be a proposal. Though to be honest it would make more sense to just give an "add empty curve" option just as we already have for Grease Pencil. The addon Extra Curve also gives you a solo point entry.
I'm afraid you're going to need to walk me through where you THINK the attitude is.
Blender is a large project run by a relatively small dev team that deeply cares about the software but can't be everywhere at once. Like any software, it's bound to have some shortcomings, especially given those constraints. But that's exactly why it's incredible that Blender is free, open-source, and highly customizable. The developers even go out of their way to gather input from the community, whether that's feedback, addons, or even code contributions. This open dialogue is rare in an industry dominated by closed-source, subscription-based software, where user input is often limited to bug reports, and plugins are hoarded or sold to recoup costs.
Why post proposals on RCS? Because Blender relies on its community to help it grow. But for this process to work, feedback has to be respectful and constructive so it leads to progress.
Phrases like " Why the F**K would anyone do that " don’t help, they just come across as aggressive and disrespectful, especially when framed as " there have been a lot of " as if Blender is filled with nonsense. It makes it sound like the devs and community don’t know what they’re doing and/or don't care, which is unfair.
Saying " I decided to solve the problem as no one else is... lol " dismisses the work others have done, implying you’re the only one capable or willing to fix things. The "lol" just adds a layer of unnecessary sarcasm.
Turning it into a problem with how the reader interprets your words (" THINK ") really seals the deal. If it’s not your responsibility that someone took it as attitude, let’s compare it to similar proposals like these:
These are proposals that are very close to your subject. And the community met them with upvotes, comments, suggestions, even addons that offer great alternatives or inspiration for in-house development.
Clearly, others care about these issues too. But notice how their proposals are written: no sarcasm, no insults, just pointing out problems and suggesting solutions. Compare that to your post, it reads more like "Blender is full of nonsense, and only I care enough to fix this one thing, so here's a script." What kind of response do you expect from that?
If you genuinely want to contribute to Blender’s development, channel that energy into making clear, respectful, and constructive proposals.
One thing you forgot to take into account when writing so many paragraphs of drivel was whether or not the target of your unhinged rant actually give a F**k about what you think, spoiler alert.........he doesn't, maybe you should take yourself less seriously, because after this and your petty downvoting of something YOU took offense to, because YOU presumed wrongly, i doubt many with any sort of common sense will either. use it or don't but don't try and tone police me, you aren't important enough.
It's never too late to cool off and treat people here with more respect. This is very degrading and will not win you any support. Those who are "important enough" will almost certainly have no patience for it and are more interested in fostering a productive community rather than tolerating strangers with a high level of self-importance.
and this is directed at who precisely?