GSoC 2016 - Improvements to Bezier Curves

It looks like forum have problems with pictures.

Here is the image mentionned in previous post.
https://framapic.org/dlBqmEWAgnfj/fhltU44qRkvL.jpg

I would like to see this functionality in blender so badly…:smiley:

It’s been asked before and some functionality is already available in the next release https://www.youtube.com/watch?v=tAsUGy7XGOA

what campbell implement is curve sketching but this is totally different more precise and one tools with multi behaviour

  • the arc tool is very well implemented
  • smooth curve brush - pen style curve drawing - boolean operation on curve
    really nice and functional

kakachiex2, great procedures. With addition of a polyline tool with number input, this is a must-have for technical blenderheads :slight_smile:
+1

Hello! Cool to see work in the curves! I’ve a suggestion about editing them and i’d like feedback from other users that maybe know more about this topic. It’s about pressure values (from tablet pens of course) within control points of the curves.
Checking the source code of Blender i’ve found that each point of the curves have a value that stores the pressure sensibility at that node (something in the range of 0-1, i’d think min-pressure to max-pressure). Are those values used in some form in the current status of Blender?
I’d love to see some kind of editing of those values in the saved curves. It could be useful to create for example thickness patterns of curves and reuse those multiple times without having to use the same pressure along the curve at each stroke (having similar but not identical patterns that rely much in the artist skill).
I don’t know how much this is within the scope of this work of curves. If interested i can add some ideas about the editing tools that could be useful (pen/mouse/numeric editing with some “smart” tools).

something i was recently looking for is functionality to clean up curves by reducing the number of points to user defined amounts or distances between CV’s. the curve simplify script solution seems rather erratic and seemingly only works on a single curve at a time and in edit mode. and if it goes wrong there’s no undo. would be good to flesh out that side of curve editing as well. :slight_smile:

Hi guys,

I just finished implementing the Extend tool. As soon as I manage to get my build uploaded to GraphicAll I will drop a link here.

Also, I am only building for Mac currently. This means that if you are a Windows user then you will have to build from the sources at the official Blender repo for now. As soon as I manage to get a Windows development environment setup, I will let you know.

I just uploaded my build. Check it out here (sorry folks, Mac only)

I am currently trying to build for Windows.

On other related topics, I am currently working on the Trim Tool.

Eu testava se fosse em windows ou linux.

Win7.x64 build is live = GSoC-2016-improved_extrusion_Win7.x64-2ac3bc6

Hey this is pretty cool! Thanks for the builds João, and thanks for the Windows versions tungerz.

I’ve been playing around with it just a bit and is working great for the most part, excellent work.
I’ve found a few glitches and problems.

  • Immediate crash while extending a curve set to Poly type
  • Some weird behavior while extending mostly bidimensional curves set to 3D (after second extrusion the vertex seems to shoot to infinity, but setting it to 2D reveals that the extrusion was indeed well preformed)

I wont have time to do some real testing until later today, but I’ll post more details and images about it in the afternoon when I get more time to do some more profound tests

Thanks to both for your work.

Attention image heavy post bellow

I’ve been playing around with this and it’s great, both extrude unidirectional and curve extend

Here a more detailed view of what is currently failing with curve extrude:

  • Extending exactly over an existing vertex, or the exact middle of a segment seems to always fail

http://www.duarteramos.pt/media/share/GSOC_BezierCurve_Bug01.gif

http://www.duarteramos.pt/media/share/GSOC_BezierCurve_Bug05.gif

  • Mostly bi-dimentional curves set to 3D produce strange results when extruding, some times the extruded vertex won’t reach the other segment, some times it will shoot to infinity. Making the curve 2D and then 3D again will correct the extrusion.

http://www.duarteramos.pt/media/share/GSOC_BezierCurve_Bug02.gif

  • Some times extruding inside closed shapes fails for no apparent reason

http://www.duarteramos.pt/media/share/GSOC_BezierCurve_Bug03.gif

  • And last but not least, extruding non bezier curves (like NURBS or Poly) cause Blender to crash

http://www.duarteramos.pt/media/share/GSOC_BezierCurve_Bug04.gif


And here are a few non bug related demo GIFs in case you want to use them as illustrations for your weekly reports or midterm evaluation. Let me know if you need more or any blend files, I’ll be happy to provide.

http://www.duarteramos.pt/media/share/Extend_Curve.gif

Anyway many thanks, hope this helps

This is the second time someone posts pictures and I am unable to see them. Does anyone know what is the problem?

Thanks for the extensive report dphantom :-).

My mistake, I posted my images over at Google Photos but apparently they don’t like image leaching so it wasn’t really working off site even though I could see them here myself.

Uploaded them elsewhere, should be fixed now

Is there a way to use some of the grease pencil tools for curves?
For example drawing,sculpting,grab,twist and maybe 1 or 2 more?

@Love Campbell Barton made some recent improvements that allow “stroke like” editing of bezier curves, but I think the other tools are not available. You can hoewever convert Greasepenceil strokes into bezier curves after editing.

I was initially not aware but there’s another new feature in the extend tool developed above, it allows extending to end vertex to their hypothetical intersection point, even if there’s currently no curve segment there.

http://www.duarteramos.pt/media/share/Features03.gif

And just another demo image

http://www.duarteramos.pt/media/share/Features02.gif

Very usefull examples, muito obrigado.

Fresh build up on GA = GSoC-2016-improved_extrusion_Win7.x64-39efb16

cheers

So far so good, most bugs from last build seem to be fixed now.
The only one still remaining seems to be the “infinity extension” of 3D curves, which João mentioned he was still in the process of fixing.

Only additional problem I accidentally found so far is that calling the Curve Extend or Trim operators from object mode (where it will obviously not be able to work) will crash Blender.

I also see there’s already a stub for the upcoming Trim operator, but it’s not yet working, looking forward to that one.

Other than that keep up the great work.