Boat Design Forums  |  Boat Design Directory  |  Boat Design Gallery  |  Boat Design Book Store  |  Thanks to Our Site Sponsors

Go Back   Boat Design Forums > Design > Software
Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 10-30-2006, 01:28 AM
roskilde roskilde is offline
Junior Member
 
Join Date: Aug 2006
Rep: 10 Posts: 6
Location: Reston, Virginia, USA
Open Source Marine Design Package Kickoff

I've just started working on a new marine design package using open source, iterative, and literate programming techniques. Although the first release is still several months away, I am actively looking for volunteers to work on the project.

Initial development platform is Ubuntu 6.10 (Edgy Eft) GNU/Linux on x86/x64, with Python/C++/OpenGL as cross-platform programming tools, UML for design, and Subversion for source control. Evaluating several alternatives for cross-platform GUI, including XUL. NURBS provide an established mathematical foundation for curves, surfaces, and B-rep solids. XML provides a convenient storage and retrieval format.

To build an open source totally integrated, automated, and validated marine design and analysis environment is likely to take years, if not decades. Ambitious? Extremely! However, after studying the free and open source movement for quite some time now, I am encouraged by its vast potential to educate, innovate, and motivate.

If you or your company would like to participate in this process, please contact me via this forum or by email. In the mean time, watch this space for further developments.

As always, feedback is encouraged.

pauls(at)roskildesign.com
Reply With Quote
  #2  
Old 11-08-2006, 12:24 PM
Tim B Tim B is offline
Senior Member
 
Join Date: Jan 2003
Rep: 794 Posts: 1,407
Location: Southern England
Interesting, I started doing something similar about 18 months ago. You will find that the reason we all use individual pieces of software for Geometry, Stability, VPP etc. is that is the only way you can maintain the software properly. However, what you can do is make your code interface directly with other people's code, and even (if you're really lucky) link it as a pre-compiled object.

My advice would be to really think about which aspect you want to focus on and give the design community a linux tool that we can really use. As for the GUI environment, I'd go with QT (version 3 or 4) it is actually quite powerful, and leaves you free to work on the maths, rather than the windowing.

I'm currently trying to do CFD on yacht hulls, so I don't have the time to develop much. If you want I can e-mail you my code as far as it's got. What would be good is an OpenGL display that allows manipulation of a surface by control points. (I can do it in QT using QPainter, OpenGL is a little harder).

Tim B.

Tim B.
__________________
Open Source Marine Charting - openpilot.sourceforge.net
Open Source Vessel Dynamics opendynamics.engineering.selfip.org
Reply With Quote
  #3  
Old 11-12-2006, 12:58 AM
Gerard DeRoy Gerard DeRoy is offline
Junior Member
 
Join Date: Jan 2004
Rep: 19 Posts: 55
Location: Montreal
I see that the technical aspects of your project is already well determined.
But you gave no idea of the kind of tool you want to offer to boat designer.
Since you are at the beginning of your project, experienced boat designers from this forum could be interested by the functionalities of your project. After all they are your targeted users!
A practical way would be to present the main screen of your intended application with the drop down menu. Hopefully the items on these menu would be understood by boat designers. Please do not start with nurbs or rendering jargon.
I believe there is still a need for software based on the classical boat design
paradigm.
I also believe that the basic processes of boat design should be integrated in one tool.(Drawing, hull static properties, hydrostatics, stability, resistance and driving forces, heeling moment, VPP, mass calculation and CG).These are related and need integration.
Secondary level of design should be the object of specialized tools.(sail design,rigs, elements design, ...). these do not need integration.
There could be a significant (worth your effort) number of boat designers interested by a Linux, MacOs platform.
Get them on your side first they are your users.
Gerard
BoatExpress Developper
My design is free to copy.
Reply With Quote
  #4  
Old 11-14-2006, 10:53 PM
roskilde roskilde is offline
Junior Member
 
Join Date: Aug 2006
Rep: 10 Posts: 6
Location: Reston, Virginia, USA
Quote:
Originally Posted by Tim B View Post
Interesting, I started doing something similar about 18 months ago. You will find that the reason we all use individual pieces of software for Geometry, Stability, VPP etc. is that is the only way you can maintain the software properly. However, what you can do is make your code interface directly with other people's code, and even (if you're really lucky) link it as a pre-compiled object.
Thanks for the feedback. I'm planning an integrated package from the user's point of view, even though it may composed of modular pieces with well defined interfaces (API's) behind the scenes. Interfacing with other people's code is a goal -- hopefully the open source nature of the project encourages other to contribute in that area -- as interoperability standards are few as compared to other industries.

Quote:
My advice would be to really think about which aspect you want to focus on and give the design community a linux tool that we can really use. As for the GUI environment, I'd go with QT (version 3 or 4) it is actually quite powerful, and leaves you free to work on the maths, rather than the windowing.
I have heard good things about QT3/4; however, I'm not clear on whether OpenGL support requires commercial QT Desktop license, especially on Windows. If I have misunderstood the QT Open Source licensing, please let me know.

Quote:
I'm currently trying to do CFD on yacht hulls, so I don't have the time to develop much. If you want I can e-mail you my code as far as it's got. What would be good is an OpenGL display that allows manipulation of a surface by control points. (I can do it in QT using QPainter, OpenGL is a little harder).
When I get to the point of integrating analysis code, I'll keep your effort in mind.
Reply With Quote
  #5  
Old 11-14-2006, 11:23 PM
marshmat's Avatar
marshmat marshmat is offline
Senior Member
 
Join Date: Apr 2005
Rep: 1958 Posts: 4,114
Location: Ontario
Hi roskilde,
I strongly second what Gerard said above. There are a lot of CAD packages around for a lot of applications. But designing a boat on CAD- and I mean really designing one, with the intent of building and using it- requires at least as much CAD background as boat background. What's missing is a program that someone who knows boats, and knows how boats work, can use as easily as (s)he would use a pencil and paper to flesh out an idea and bring it to life. In other words, the mathematical foundation and the coding tools exist and have been implemented- what the community needs is an implementation that works and feels like the boat design process.
Rhino pisses me off sometimes, when I get sucked into the nuances of knot weighting or whatever, instead of seeing on the screen the smooth curves I visualize in my head. SolidEdge and its kin are a gajillion times worse. I would love to be able to sketch out some key lines, make a nice smooth hull out of them, and see how it floats, without the irritating quirkiness of most CAD stuff. Free!ship has some really good ideas and I think it's on the right track, but I just can't bring myself to like subdivision-surface modelling quite as much as I like NURBS (must be the engineering physicist in me seeking mathematical perfection).
So my advice to you, roskilde, is to start from the designer's mind. When you imagine a boat, how do you visualize it- now how would you put that on paper- now what would be an intuitive way to put that into digital code. If you have a vision of what this program wants to be, the technical details can fall into place from there.
__________________
- Matt Marsh - Marsh Design (small craft blog and designs)
Reply With Quote
  #6  
Old 11-15-2006, 12:08 AM
roskilde roskilde is offline
Junior Member
 
Join Date: Aug 2006
Rep: 10 Posts: 6
Location: Reston, Virginia, USA
Quote:
Originally Posted by Gerard DeRoy View Post
I see that the technical aspects of your project is already well determined. But you gave no idea of the kind of tool you want to offer to boat designer. Since you are at the beginning of your project, experienced boat designers from this forum could be interested by the functionalities of your project. After all they are your targeted users!
Thanks for your interest. Before I moved across country to study NA&ME, I asked my traditional wooden boat sailing instructor at the Center for Wooden Boats in Seattle (www.cwb.org) whether the world needed yet another naval architect; his answer was to the affect that I was asking the wrong question. A naval architect would likely not ask such a question, as they are driven by an inner spirit to make their mark upon the world through creative expression manifested in these wondrous floating works of art and engineering. It just so happens that my inner daemons compel me to develop innovative software for small craft design.

Quote:
I believe there is still a need for software based on the classical boat design paradigm....I also believe that the basic processes of boat design should be integrated in one tool....Secondary level of design should be the object of specialized tools.
The sentiment for software based upon classical boat design has been expressed in several of the forums on this site; I hope to work towards addressing this opportunity. Likewise, running the software in a non-Windows only environment is also appealing for many.

From both a users and a technical point of view, I'm betting that the complete small craft design process can be approached from within what appears to be a single application (not that the user is restricted to that application). However, traditional graphical user iterfaces need to be rethought as the primary mode of human-computer interaction. With a commercial application this type of innovation is an uphill battle against entrenched opponents; whereas, an open source application can more easily provide for many competing types of experimental user interfaces.

Quote:
There could be a significant (worth your effort) number of boat designers interested by a Linux, MacOs platform. Get them on your side first they are your users.
Good Advice. Perhaps we should start with a software program that can do little more than design a small traditional wooden rowing boat well?
Reply With Quote
  #7  
Old 11-15-2006, 03:01 AM
Tim B Tim B is offline
Senior Member
 
Join Date: Jan 2003
Rep: 794 Posts: 1,407
Location: Southern England
A point on QT3/4 and OpenGL. As OpenGL is an "open" standard (at least, it's meant to be), you can use it with QT3/4 with the free license without problems.

Compiling OpenGL Apps in windows is harder than on Linux (where we just link against MESA), but that probably reflects my need to use Win32, rather than any real difficulty. There is probably an OpenGL SDK for windows somewhere.

The main CFD work is part of work I've been doing over the last five years in grid generation. The current CFD project will include validation against a considerable amount of tank-testing work. I will not be making any of this software free or Open Source. It represents far too much personal investment of time and money. It would also slightly defeat the advantage I'm trying to build for myself.

However, if you want I can send you my hull design software and the GLFrame custom widget. My Current System is Mandriva 2007, KDE 3.5 and QT3. It seems to be as good a system as any.

Cheers,

Tim B.
__________________
Open Source Marine Charting - openpilot.sourceforge.net
Open Source Vessel Dynamics opendynamics.engineering.selfip.org
Reply With Quote
  #8  
Old 11-15-2006, 03:07 AM
Robert Miller Robert Miller is offline
Junior Member
 
Join Date: Dec 2003
Rep: 12 Posts: 95
Location: Rhode Island
Quote:
Originally Posted by marshmat View Post
What's missing is a program that someone who knows boats, and knows how boats work, can use as easily as (s)he would use a pencil and paper to flesh out an idea and bring it to life. In other words, the mathematical foundation and the coding tools exist and have been implemented- what the community needs is an implementation that works and feels like the boat design process.
This is exactly the point that struck me most when I began to look at CAD for boat design.

As I have said, the computer is, in the end, just another yacht designer's tool, albeit one that can make many tasks easier, faster, and more accurate. CAD is, then, a benefit to yacht designers because designs can be done with far greater efficiency. And, I think, greater ability to predict the success of the completed boat.

What is sorely needed is an affordable package that works the way a naval architect was trained to work. One that feels immediately familiar; almost as if still drawing by hand. Like any other software, such a CAD package will still have a learning curve, and that's to be expected. But there is no reason why that effort must include learning a whole new and different, (alien, I would say) approach to designing a boat, or be very much different than the time you may have spent learning to draft properly by hand.

Making pretty renderings is nice, but, in the end has little to do with properly designing a boat, except, perhaps, as a pretty picture to show the client in order to close the deal.

I must admit, again, that I speak from rather less experience than most of you. Maybe, though, through this very lens I look at beautiful multicolored renderings, and see little more than pretty pictures accompanied by tables of numbers - the latter accurate, no doubt.

I feel almost like the child in the fairy tale screaming, "but the Emperor has no clothes".

That is why I was struck by the feature list and goals listed in the documentation for BoatExpress. Finally... somebody seems to "get it"!

Now, if BoatExpress were set free from the crushing nonsense of Windows, and developed for a real OS (UNIX core: Linux, Mac OS, OpenSource), we would be half-way there. The other half is, of course, continuing development to encompass all of its stated goals, and beyond.

I suggest, then, that truly experienced designers be deeply involved in the process, rather than leaving it in the hands of those programmers to whom computers are a religion rather than a tool, and Windows is the messiah.

I guess I just want to design boats.

Robert
Reply With Quote
  #9  
Old 11-16-2006, 11:16 AM
JesperW's Avatar
JesperW JesperW is offline
http://journeyman.se
 
Join Date: May 2006
Rep: 54 Posts: 45
Location: Stockholm Sweden
I would second the "Go for QT4" point. Makes it smoother to move to windows, where your stuff will have a much larger following and thus a larger chance of gathering more developers.

From the QT4 docs:
---------------------------
The QGLWidget class is a widget for rendering OpenGL graphics.

QGLWidget provides functionality for displaying OpenGL graphics integrated
into a Qt application. It is very simple to use. You inherit from it and use
the subclass like any other QWidget, except that instead of drawing the
widget's contents using QPainter etc. you use the standard OpenGL rendering
commands.
----------------------------

The only QT4/win32 application I use is Maxwell Studio. In early QT4/Win32 releases the QGLWidget was not very good (slow!), but it has shaped up significantly now.
Reply With Quote
  #10  
Old 11-19-2006, 10:59 PM
roskilde roskilde is offline
Junior Member
 
Join Date: Aug 2006
Rep: 10 Posts: 6
Location: Reston, Virginia, USA
Thanks for the clarifications on QT. My primary remaining concern remains its restrictions for dual licensing (see http://www.trolltech.com/developer/downloads/qt/faq).

wxWidgets is also cross-platform with a more permissive license based upon LGPL that would fit in well with a dual licensing model see (http://www.wxwidgets.org/about/newlicen.htm). It also has nice set of Python bindings (http://www.wxpython.org/), along with C++, Perl, and .NET bindings.

XUL (~243MB of source alone) is turning into a larger effort than I want to take on at the moment.

Ultimately, the choice of a cross-platform GUI toolkit isn't going to be critical, as the software systems architecture won't be dependent upon it. This is carried to the extent that the application can be entirely run from another program, or even from the command line.

Note: I'm leaving the door open for dual licensing just in case its needed.
Reply With Quote
  #11  
Old 11-19-2006, 11:50 PM
roskilde roskilde is offline
Junior Member
 
Join Date: Aug 2006
Rep: 10 Posts: 6
Location: Reston, Virginia, USA
Do any of the following references speak to the traditional small craft design process as referred to in this thread? Please comment and/or provide other references to enhance further discussion.

o Architecture Navale, Paulet & Presles
o Designed to Cruise, Marshall
o Elements of Yacht Design, Skene
o How to Design a Boat, Teale
o The Nature of Boats, Gerr
o Principles of Yacht Design, Larsonn & Eliasson
o Sailing Yacht Design, Phillips-Birt
o Understanding Boat Design, Brewer
o Yacht Designing and Planning, Chapelle
o Yacht and Small Craft Design, Trower
Reply With Quote
  #12  
Old 11-20-2006, 06:59 AM
Robert Miller Robert Miller is offline
Junior Member
 
Join Date: Dec 2003
Rep: 12 Posts: 95
Location: Rhode Island
Quote:
Originally Posted by roskilde View Post
Do any of the following references speak to the traditional small craft design process as referred to in this thread? Please comment and/or provide other references to enhance further discussion.

o Architecture Navale, Paulet & Presles
o Designed to Cruise, Marshall
o Elements of Yacht Design, Skene
o How to Design a Boat, Teale
o The Nature of Boats, Gerr
o Principles of Yacht Design, Larsonn & Eliasson
o Sailing Yacht Design, Phillips-Birt
o Understanding Boat Design, Brewer
o Yacht Designing and Planning, Chapelle
o Yacht and Small Craft Design, Trower
In answer to your question, I can speak only to those books on your list which I have personally read.... and would add one other.

o Elements of Yacht Design, Skene (Eighth edition)
o Yacht Designing and Planning, Chapelle
o Understanding Boat Design, Brewer

A wonderful reference is:
"The Common Sense of Boat Design", L. Francis Herreshoff.
This book is currently in reprint by D.N. Goodchild. (Very nice edition)

Robert
Reply With Quote
Reply



Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
Open Source F1/SST45 Tunnel Hull Design HaroldGhent Projects & Proposals 12 08-08-2010 09:25 PM
Marine & Naval Warship Design Engineering Positions - Marine Engineer - Principal Patricia56 Services & Employment 1 12-29-2006 03:29 AM
Why the aren't boat design comunity like open source programing? or is...? tamkvaitis Projects & Proposals 80 12-16-2006 03:50 PM
Open 650 Design bobby_mcgrath Sailboats 3 06-11-2005 04:11 AM
Patents, Trademarks, Great Ideas, Open Source etc. asathor Boat Design 7 03-17-2005 01:37 AM


All times are GMT -5. The time now is 08:24 AM.


Powered by: vBulletin Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Web Site Design and Content Copyright ©1999 - 2012 Boat Design Net