Nurbs editor

Post here for help on using FreeCAD's graphical user interface (GUI).
User avatar
microelly2
Posts: 3935
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Nurbs editor

Postby microelly2 » Thu Jul 07, 2016 2:46 pm

I'm looking for a Point cloud editor.
I want to use it to edit Nurbs surfaces.
My idea is to move selected points which are the poles of a spline face.
there is a functionality in Draft for 2D, but I never have seen it for 3D
Attachments
bp_055.png
bp_055.png (30.78 KiB) Viewed 6607 times
User avatar
microelly2
Posts: 3935
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Nurbs editor

Postby microelly2 » Thu Jul 07, 2016 9:30 pm

select a pole point and change its height:
https://youtu.be/ueJwTi0WasM
murdic
Posts: 88
Joined: Fri Feb 28, 2014 12:35 am

Re: Nurbs editor

Postby murdic » Fri Jul 08, 2016 2:34 am

There's a lovely surface and curve editor called PolyCAD by a guy named Marcus Bole on polycad.co.uk, it's a parametric ship modeler too. Not open but free, he requires registration, but it's the most intuitive curve/surface editor there is, IMO. Manual or numeric editing, plain English file format, so you can format an x,y,z list, declare it a mesh or a spline surface or curves or polylines, give the text file a .geo attachment, open it in PolyCAD and transfer as .dxf or .igs, even some ACIS .sat. Has zebra visual smoothing too. Only Windows, it's a small price to pay because it's awesome for what you want to do. Your youtube vid looks promising too, microelly2. Numerical editing?
User avatar
microelly2
Posts: 3935
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Nurbs editor

Postby microelly2 » Fri Jul 08, 2016 6:51 am

hello murdic, thank you for this link.
nice to have a real application to see what is useful.
the publications of Marcus Bole are very intersting too, it will take some time to read all of the 900 pages.
User avatar
bejant
Posts: 5122
Joined: Thu Jul 11, 2013 3:06 pm

Re: Nurbs editor

Postby bejant » Fri Jul 08, 2016 2:31 pm

Very nice, microelly2! (It would also be nice to be able to move the points directly by selecting them in the 3D view and dragging them on a working plane)
User avatar
Chris_G
Posts: 874
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Nurbs editor

Postby Chris_G » Fri Jul 08, 2016 3:39 pm

Hi microelly,
I made some similar experiment based upon looo's work on his Glider WB.
Here is a link :
viewtopic.php?f=24&t=14100&p=113216#p113216
I didn't push it further because I don't fully understand looo's code.
But I think his approach could be a good base for what you're after.
Chris
User avatar
Chris_G
Posts: 874
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Nurbs editor

Postby Chris_G » Fri Jul 08, 2016 3:48 pm

You may also have a look at Ayam : http://ayam.sourceforge.net/
I don't really like the interface but it has some tools I'd love to have in FC.
I think the author based his nurbs algorithms on the "Nurbs Book" by Piegl and Tiller ( very interesting book ).
User avatar
microelly2
Posts: 3935
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Nurbs editor

Postby microelly2 » Mon Jul 11, 2016 8:50 pm

Thank for all these interesting links, I will read them during the summer holidays.
The Part.BSplineSurface() is easy to use.
Starting from a grid of control points first functionality will be:

create a generic flat control point grid
insert rows and colums of new control points
move control points (using xyz-dialer in a dialog instead of mouse interaction)
move a complete row/column of control points
Attachments
bp_056.png
bp_056.png (205.1 KiB) Viewed 6467 times
User avatar
Chris_G
Posts: 874
Joined: Tue Dec 31, 2013 4:10 pm
Location: France
Contact:

Re: Nurbs editor

Postby Chris_G » Mon Jul 11, 2016 9:05 pm

That looks nice !
murdic
Posts: 88
Joined: Fri Feb 28, 2014 12:35 am

Re: Nurbs editor

Postby murdic » Tue Jul 12, 2016 4:32 am

There's an interesting height field generator out there called "ZSurf4" which generates an .igs file of a nurbs surface from greyscale bitmaps. The results are good enough to use as bases for measurement and reverse engineering.