Yes, Bezier curves have continuous first order derivatives, while b-splines have continuous first and second order derivatives. For preshapes, Bezier definitely works fine as you will smooth the curves by hand.
One idea could be to use Bezier in the 2D-views and then approximate a nurbs surface to fit the curves. That way we would have the simplicity of Bezier while designing and still keep the advantages of nurbs (i.e. continuous curvature and easy export). If you want a discontinuity in the curvature using nurbs surface it is still possible by changing the weight of a point (currently we set all weights to 1 which gives us a b-spline surface).
For me, the curvature at each point of the surface is more interesting than the exact position of the point. A friend actually made a program in which he directly set the curvature of the rocker at given points and then used an algorithm to calculate their positions.
I think it would be nice to allow the designer to either work with the nurbs surface directly or to approximate it from Bezier curves, the desired curvature, or a number of measured points (for copying an existing board).
Theres alot of 3d programs that can use beziers out there. I think what they do is interpolate intermediary points along the bezier spline which are used to define the cross sections of the mesh density.
I’m glad to see that the open source movement is finally making it into the surf industry. This could really go a long way toward bringing the craft of shaping to a wider audience, especially if the software becomes readily accessible and intuitive to the user. As far as wants go, there are a few requirements that I’d like to see in the software. I know that these features may be a stretch but they are definitely something that I’d like a board design application to be able to do.
First of all, it would be great if the application could be web based and operate through a browser. As I’ve read, the prototype is written in Java but I’m not sure if this is what BoardCAD is intended to do. Furthermore, the user should be able to save and retrieve his designs to the same web based application, that way his designs need not be stored locally an can be accessed from any location.
Second, and this may already be a feature since I saw a logo on the rendered board in the screen shot, but it would be really powerful to be able to visualize one’s art on the rendered shape. For instance, I’d like to be able to change the base color and/or apply graphics, logos, ect. from a photoshop file. It’d be much easier to make changes and experiment here than in the glassing phase.
Third, and most of all, it should have advanced features for the experienced user but be almost simplistic and intuitive for the novice. It should feel toy-like in its use, in novice mode, with very few buttons or statistics cluttering up the interface.
Anyway, that is my wish list. I’d be more than happy to help with the project, please let me know how I can be of assistance.
Also, will you be posting this project on sourceforge.net? I think that you’ll be able to get a lot of interested people there as well.
Thanks for your input, I like your ideas. Some comments:
About a web based application. The first version of the program was actually an applet (it still is, but now it runs in an own frame) and the idea was to store the boards online. However, I found it important to be able to work offline as well, so I changed the program to a Java application that can be started by Java Web start. That way, the latest version is automatically downloaded if you are online, but you can still run the program locally if you are not. To work locally the boards of course had to be stored locally as well. Still I think it is a good idea to have a data vault online to which you can check in and check out your boards, much like a PDM (product data management) or a SCM (software configuration management) system. Lots of CAD-systems have the possibility to check in and check out files directly from the system.
About board graphics. There is currently a very simple function that lets you load an image and use it as graphics, but it needs to be reworked. For example you should be able to use a flat projection, or to automatically fit the image to the board. Also the rendering is not very good at the moment.
About the user interface. I totally agree. This is where most of the effort must go.
About participating in the project: I’ll send a PM
open source rocks, it brings up so many ideas. this can also be the drawback as too many cooks spoil the soup. means the programs end up unnecessary complex to suit many individual tastes. but I will play with it and participate, will be fun.
it will have to beat the APS or its good for nothing. I have tried many programs but get by far the best results with the APS. so simple to use.
then I export the PDF and resize outline and profile in Adobe Illustrator. each element in the PDF is a vector graphic and can be manipulated and then saved in any relevant format. I export in DXF or HTML and get the profiles hotwired. sometimes I have an outline template CNC machined, its so easy and all for free.
a friend from Hawaii told me he saw an APS beta program with 3D display where you could manipulate the board in 3D… beat that
I just had another small idea. I don’t think it would be very complicated. I would love to be able to set up horizontal slices when im designing the board. To be able to split the board at the Neutral Axis and then adjust it from there.
If some one could develop a program to simulate what effect the different composite elements had, it would be mind blowing. You could set up different biases, weaves, materials, ect. and create specific layups for different customers. Would bring custom composite surfboards to a new level. Of course, experience is still key. If you’re experienced enough to understand the composites and what they are doing in your surfboard it’s almost instinctual. Theres probably too many variable to make a simple, accurate program, especially if you’re throwing in wood…
Just throwing out out some ideas as I’m throwing back a few cold ones…
I just downloaded and gave BoardCAD a quick spin (on my iMac Intel Core Duo). I haven’t spent enough time with it to really see how well it works, but from my quick test it looks like a good start. Initial impression was that the command layout was fairly intuitive and I was able to modify some basic board shapes without any help. I did manage to get it to crash, but I’ll have to dig though it a bit more to see what might have caused it. Is there any way of installing it locally on my computer? I really dislike / distrust web based apps.
Although I am an amateur board shaper/designer/builder, I have a fair bit of experience with 3D design software. My company, Marine Simulation LLC ( http://www.marinesimulation.com/) develops realtime simulations of marine vehicles for professional applications. I also played a small part in another Open Source program, FREE!ship (now “Delft Ship” http://www.delftship.net/ ) and actually designed a couple boards using it (although Delft ship is not designed for this, I was able to design a couple long boards with it).
I also gave Shape3D a good work out some months ago, definitely the easiest best board design app I’ve tried so far, but I wouldn’t call it “cheap”. I probably design / build a couple boards a year, so it’s not worth the investment for me. I also gave APS300 a quick spin, but didn’t spend enough time with it to see what it can really do.
I hope to design and build a new board later this year, maybe I’ll try to do it using BoardCAD. If you need a beta tester, put me on your list.