Jump to content

Exploring FreeCAD for ship modeling


Recommended Posts

Starting this topic to explore the FreeCAD program and discuss techniques to be used. Being relatively new to the 3D CAD scene, the approaches will be relatively simple and sometimes wrong and can be improved.

 

The project used as an example is a hull model of the New England fishing schooner Adventure and supporting information from http://schooner-adventure.org/about-us/ and details from Howard Chapelle's "The American Fishing Schooner". At some point photographs of the real schooner will resolve details.

 

The objectives of the project are to understand some techniques for getting the 3D hull built, to get as realistic rendering as possible, and explore the opportunities for 3D printing with various options. 

 

I have been inspired by some amazing work in other topics in this forum "CAD and 3D Modelling/Drafting Plans with Software".

 

Attached is a current rendering with many unresolved issues. I plan to go back and show how this was assembled and then move forward on the issues.

 

Hoping that this will be of interest and that others will contribute.

Stage0107.png.d0e67d62cdaefecc98ed218d9d4e89e6.png

Link to comment
Share on other sites

I want to share the current state of my FreeCAD work. It is for an English third rate ship (74-gun) from the second half of the 18th century.

I must admit that it is a far too complex ship to start with, but my desire to bring such ship to live won from logical reasoning.

 

Here we go:

3d-view.thumb.jpg.e23a695322a69916a9d7edde265f2862.jpg

 

It is just a bunch of points. I used both draft points and part vertices. The exact difference between the two kinds is unclear to me. They are arranged horizontally along the waterlines, half-breadth lines, top-timber line and topside. Vertically they follow the location of the stations. The next picture shows this more clearly.

 

sheer-view.thumb.jpg.383b4281b49207300ec7e560f9a3ebff.jpg

 

I made curves through these points both with draft splines and the tools from the curves workbench.

I wanted to use the Gordon-surface tool from the curves workbench to skin the network of curves.

That was a disappointment and only resulted in errors. My network of curves, that looks quite OK visually, is far from a real network because intersection points of horizontal and vertical curves are actually not coincident. I think you can only get that by using sketches that import these intersection points from external geometry (sorry if this sounds very FreeCAD slang).

 

My tree-view of this model also lacks structure and that makes it difficult to keep track of more then 300 points already.

 

Conclusion: I will try to start over the effort and use sketches from the start.

 

best regards,

   Kris

Link to comment
Share on other sites

 I tried to get thte ship module working and failed - no blame allocation as it could have been my understanding.

 

Kris - I liked your start and wanted to keep up with your posts. 

 

Stage 1 - Getting to the wireframe

 

I started by bringing in the plans using the image workbench and arranging the three views on the planes and aligning them. Then I created sketches at each station (plus a couple at the deck step I will explain later) and at each waterline with constrained construction lines at their intersection. These constrained construction lines were copied from a master frame sketch for stations and one for waterlines . 

 

Here is the view of the master station frame in the Sketcher. The lines are constrained as symetrical about the vertical (z) axis. This allows me to build the model as a full hull rather than half hull. The other constraint is the elevation above the origin. The elevation value constraints are named (alias) with the lift identity L1, L2 etc and can be reused within the model in the actual station sketches.

228639338_StationOffsetFrame.thumb.png.d51c97a6fbf4d214025e427eab1a6821.png

The length of each line is not constrained in the master but is in the individual station sketches.

 

Here is the view of Station 5 - the midway station:

 

1424188831_Station5Sketch.thumb.png.3107fb702bc63c250989b06b0e00e153.png

Each Offset value is determined by moving the end of the frame line in and out until the point lies on the line in the plan. Then the length of each line is constrained and the length constraint is named - e.g. L2S5 - my naming convention for L2 waterline intersecting Station 5. 

Once the offsets have been set and locked, the B-Splines are drawn to intersect the offset points. I would like to have been able to costrain the B-Spline lines rather than the control points but this is not supported. The deck cross section is drawn and the sketch is closed up.

The bulwarks have a lot of constraints and look just fuzzy at this maginfication. I will discuss the bulwarks later.

 

The waterline sketches are constructed but the construction line lengths instead of being traced are calulated for the named parameters - the L2 waterline will use L2S5 for the length of the Station 5 offset.

Using the spreadsheet workbench I have also created a spread sheet with all the offsets so I can see them together.

 

At this stage with all the station and waterline sketches along with a variant for the transom the model is emerging in a wire frame view:

876668107_StationsandLifts.thumb.png.f5aeb9865c8e6cee8cbbb958f8fb0c45.png

Note the extra station just aft of the mid station which deals with the deck step and the difference in the bulwarks.

 

Next post will discuss the bulwarks and the lofting of the fore and aft parts.

 

Link to comment
Share on other sites

I have no experience with this CAD but it will be much easier to work on the half hull and then mirror to create the other half. Also may be helpful to define rabet at keel, stem, sternpost and Transom as this will be the starting and finishing point of all your waterlines and diagonals etc., this should be fair as well. (Provided lines are to outside of planking which is not always the case)

I think first built keel, stem and stern and then add the lines and start lofting. Will the width of keel, sternpost and stem be constant?

 

 

 

Link to comment
Share on other sites

Thanks vaddoc,

 

I could go either way on the half or full hull. I will try the half hull approach since it is just a subset of the process. For the joint of the two mirrored parts constraints would be required - obviously the deck camber must be perpendicular to the middle axis.

 

I forgot to mention the keel. The keel, stem and stern post were modeled as one piece but rabets were not drawn which would be a big improvement. I had eyeballed the intersection of the station lines to the keel but this should be to the outside of the rabet. The lines that I got were taken from the real schooner so I expect them to be to the outside of the planking which is the boundary for the 3D model. 

 

Drawing the rabet would give me offsets for the station outside plank when it meets the keel. The transom was sketched the same way as stations but with an angled plane. The outside of the planking is lofted to the outside of the transom wireframe which I will show in the next stage. The stem has a sort of knighthead pair which carry the planking line rather than a rabet - not very elegant and needs improvement. There is no thickness to the planking and I will loft to a solid hull which will have a cavity. The internals are not visible in the model.

 

Here is the view of the stations and waterlines with the ends clearly visibible. This definitiley needs improvement.

 

Keel.thumb.png.a1e9d13cbc221fedb3231c3e88e8f7d7.png

Link to comment
Share on other sites

Working on the half hull will likely be a lot easier.

 

Once you get the station/frame lines done and start adding the skin you may discover some irregularities in the hull surface. Even when working from a Table of Offsets this can happen. Adjusting only one side to get the properly faired surface is much easier than trying to correct two sides. After the correct lines are created it is simple to mirror them to get the other half.

 

You can examine the hull surface in a shaded view by rotating the view point and lighting to show up any irregularities (high or low areas). But after you discover these (and you will probably have a few in your first hull surface) it can be frustrating trying to adjust the frames/stations to eliminate the problems. Here is an example:

 

1484549937_hullsurface.jpg.e11c6700505b1abd0b2821af696c13c6.jpg

 

The hull appears to be pretty smooth, but you can see a bit of irregularity in the highlights. So how do you fix this?

 

One trick I use to get a smooth surface is to create contour/waterlines at regular elevations on the hull surface. Your CAD program may have a function to do this. Or you can create a horizontal plane, position it at a desired elevation and generate the intersect line between the plane and hull surface.

 

Create these intersection/contour lines on a separate layer and hide the hull surface. Then rotate the view to look down the length of the hull.

 

49790419_waterlineerrors.jpg.a19c3daa5815ed988937dbc8fb7a08f0.jpg

 

If there are any irregularities in the hull surface they will show up as wavy contour lines. Even the slightest irregularity will be pretty obvious. You can clearly see this in the lowest waterline in the image above. The fifth and seventh frames are too low where the lowest waterline crosses them, creating "waves" or "wiggles" in the water line (frames are blue and waterlines are red).

 

To correct these problems I draw a separate curve/spline along the contour/waterline by snapping to the line at the frames where the curve is correct, and allow the curve to shape itself over the irregularities.

 

Then I reposition points on the relevant station/frames to snap to the new curve.

 

After the station/frame curves have been corrected I delete the old hull surface, the contour/waterlines and temporary curve. Then I generate a hew hull surface and repeat the process, over and over until the contour/waterlines all come out to smooth curves.

 

284741478_waterlinesandframes.jpg.ebd07feff4a125df906ca8de153a7539.jpg

 

In the image above you can see the frames have been corrected so the lowest waterline comes out smooth. Still a bit of work needed on the 3rd and 4th waterlines farther aft.

 

With all of this in mind you can see why it is much easier to just work on a half hull until you have a good hull surface.

 

Phil

 

 

Edited by Dr PR

Phil

 

Current build: USS Cape MSI-2

Current build: Albatros topsail schooner

Previous build: USS Oklahoma City CLG-5 CAD model

 

Link to comment
Share on other sites

Hi TonyM,

 

I think I can show you a way to get the splines for the stations to pass through your offset points.

I also do it as an exercise for myself to get more confident with the sketcher and/or draft workbenches and their capabilities.

 

First I extracted station 5 from one of your screenshots, removed most of the background and inverted your resulting white B-spline to black.

S5-extract.jpg.d9e262cc2b6b5748056bd97b4ebdc06d.jpg

 

That image was then imported in FreeCAD with the image workbench, scaled and moved. I scaled to some arbitrary size so I could use your numbers for the position of the offset points in mm units.

Then I started sketch000 to define your offset points. The vertical line is a polyline with its lower point at the origin (coincident constraint) and then vertical distance constraints for every other point are added. Next are the horizontal lines added to reach your offset points.

sketch000.thumb.jpg.98b2154b6a99faa8a6be0f34b8770164.jpg

 

To make the desired B-spline, I started a new sketch, sketch001, and imported the horizontal lines from sketch000 as external geometry.

sketch001-ext-geom.thumb.jpg.51acb984f0c21fe4479e7473a1c0aa11.jpg

 

Now the actual work can begin. First I tried the work around form the FreeCAD forum I mentioned in the topic ‘Need CAD type program’ (https://forum.freecadweb.org/viewtopic.php?t=30180#p249022).That was a disappointment because it resulted in lots of errors being reported and even complete crashes (stop reacting) of the FreeCAD program.

 

Then I invented my own work around that I will describe next.

Draw a B-spline along the profile of the station. Start with a point at the top about the same height as your highest offset point, then 2 intermediate points are placed on the way to the next lower offset point. Then 1 point next to the offset point. Again 2 intermediate points on the way to the next offset point where again 1 point is placed and so on until you reach your lowest offset point. This results in 22 control points in this example.

sketch001-1.thumb.png.20e68d5cf7616bfee8203d4728990984.png

 

Then I switch to construction mode and draw polylines of 2 tangent (press 2x M key between 1st and 2nd line) segments along the spline at each offset point except the highest and lowest.

sketch001-2.thumb.png.03882c7441ebdd520a70324227c10018.png

 

Now I constrain each polyline with symmetry.

sketch001-3.thumb.png.48cf02b55dffa6d453e480ae318cdf5c.png

 

Next I constrain all polyline points to be coincident with the corresponding spline control points.

sketch001-4.thumb.png.e7d4b4d877b4b8053073b0459d59d62f.png

 

Now we can put the spline over the station line by a coincident constraint for the endpoints and the points that correspond to offsets.

sketch001-5.thumb.png.d3ac85b7285e1bee4b46ef741d1cac9c.png

 

That looks awful but we can touch up the spline by moving the intermediate points into position until our spline pleases the eye. The result looks like this.

sketch001-6.thumb.png.58a031d7f2583181c0e1237ce440c9c9.png

 


Now you have a sketched station line that passes through your offset points.

 

Just to compare, I also used the draft workbench to draw a B-spline through points with the end-line snap active. You see the draft B-spline in magenta colour and the sketcher B-spline in light blue. They are almost identical.

final-result.jpg.3a2c32ceb54aab20c50f28044dacdc4a.jpg

 

For me this was a pleasant exercise and I hope you can use some hints from this example to refine your model.

 

Best regards,

   Kris

Link to comment
Share on other sites

Thanks Kris - I will get to your approach which looks interesting.

 

Dr PR - thanks for the insight on getting the visuals of good fairing.

I have tried this in a limited scope on my model and it is very revealing.

 

The sample is the result of the LWL plane rectangle which has been extruded to a solid of 10 thou and then intersected with the lofted skin from the forward stations to form a line (red) running perfectly through the station points at the LWL. You can then examine the line and make corrections. (I haven't tested your correction mechanism).

 

LiftStationIntersection.thumb.png.ff9ea6b9de18533dbf1278a60afb1aa5.png
I plan to add these to all the waterlines after reducing the model to a half hull as recommended.

From a first inspection I can now see that the symetry is not there building it as a whole hull.

 

Link to comment
Share on other sites

Tony,

 

The first time I tried to create a hull I used cross sections (frames/station lines) and discovered the port and starboard sides weren't perfectly symmetrical. Now I create half hulls and mirror the finished piece, with assured symmetry.

 

I tried to follow Kris' procedure and I have to say is seems to be about 10 times as much work as I do with DesignCAD! Once you have a station/frame curve why do you need to start over with all the many points and splines? In DesignCAD any line/curve can be used as the template line for creating surface grids.

 

From my experience fewer points is better than a whole lot of points. I use only the minimum necessary to cause the curve to fit. The reason is that when you start refining the frame/station curves using the method I described above, lots of closely spaced points make it difficult to reshape the curve.

 

Phil

Phil

 

Current build: USS Cape MSI-2

Current build: Albatros topsail schooner

Previous build: USS Oklahoma City CLG-5 CAD model

 

Link to comment
Share on other sites

I think Phil is right.

The way I would do this is this:

First define the sheer and rabet lines in half hull and bring them out to the half width of the hull. Design the transom. These will never change and they are the starting and finishing point of all other lines. They are essentially the borders of the planking. They need to be fair so a "Fair" function needs to be given by CAD. Use as few points as possible

Then insert the waterlines, buttocks and diagonals. They need to be fair as well.

Then draw the frames in every station. Study every frame as it meets the various lines and the lines that are wrong will be easily identified. Correct and fair these lines, then draw the frames again and fair.

Just one or two cycles will be needed, after that the accuracy of the plans will be way more what hands can achieve cutting the wood.

 

Starting directly with the frames as given is I think more difficult

 

Vaddoc

Link to comment
Share on other sites

In addition to my sketcher B-spline workaround I have to warn that the curvature of the resulting spline is much less fluent then the one that is drawn with the multiple-point B-spline tool from the draft workbench. See the next screenshot (magenta is draft spline curvature, blue is sketcher spline curvature).

curvature.thumb.png.efcb4fd5ddeaf364bc98a6df261b9e87.png

 

The explanation is simple. The points from the sketcher spline that I made coincident with the offset points all have zero curvature in that point. In a fluent curve zero curvature should only be present in inflection points where curvature switches its sign.

The general curvature trend along the spline is however almost identical. So if you don't seek the utmost curvature smoothness, the sketcher spline will do fine because it maps very close to the station line.

 

all the best,

   Kris

Link to comment
Share on other sites

Trying to catch up on these good ideas.

 

Firstly, I have reduced the model to a half hull (port) and tested the mirroring of it to a whole hull. As I thought, there are problems with the decks which are lofted along with the stations and do not intersect correctly at the center line. The crown of the decking is controlled through the station splines and perpendicular constraints are not allowed on splines.

 

However the symetry is much better.

 

I took Phil's approach to generating the waterlines (shown in red below) by creating a plane for each level and intersecting them with the hull surface which is lofted from the stations. This means that I don't have to worry about getting the offsets for the waterlines to be the same as the stations - it will generate them automatically. As a result of this I can go back to manual editing the stations against the original plans. The offsets are read from the stations and pulled into a spreadsheet for ease of examination.

 

As expected, there are some irregularities showing in the waterlines and I will examine them and correct the stations.

 

I did pay some attentin to the rabets which are drawn in blue and are projected off the centerline to still show when the keel is extruded. The rabets determine the lower ends of the stations which are represented by the bottom of the frame floors. I also developed a guidance line for the crown of the deck at the midsection to start to get the deck camber correct - still in progress. 

 

537131468_GeneratedWaterlines.png.7e7de487252255802b25d26727ec419d.png

 

Link to comment
Share on other sites

Vaddoc is certainly right about one thing. If your intention is to make a real model just getting close to the right frame/station outlines is good enough. When you plank the model hull (assuming you plank it with wood) you will end up sanding it to get a suitably smooth surface.

 

You can fiddle with a CAD drawing forever trying to get it perfect. You need to decide what is good enough.

Phil

 

Current build: USS Cape MSI-2

Current build: Albatros topsail schooner

Previous build: USS Oklahoma City CLG-5 CAD model

 

Link to comment
Share on other sites

I would not worry too much about the deck, the sheer is the important bit as it determines how high and how laterally the frames will end. This last screenshot looks much more promising. A CAD program though should be able to do much more for you Tony, certainly getting all these curved lines fair-ish.

Another thing would be to fair the frames, sheer and rabbet, create a surface (planking) and then project vertical lines at whatever stations you want-this will be your new chosen frames and will give you instantly all the bevels.

It should also be able to offset the surface by whatever plank thickness you choose so you ll end up with the inner and outer skins and all frames complete with internal and external bevels.

 

Lovely!

 

Vaddoc

Edited by vaddoc
Link to comment
Share on other sites

It is probably time to discuss intention. I had started with some ideas in mind like building the real model in wood but the more I explored the topic which is quite well covered in this forum, the more I realized there are other possibilities such as creating a realistic image or generating a 3D printed model.

 

I had not shown the surface generation which was done to create the waterlines by lofting the stations. The lofting was done in two parts - the forward main deck and the quarterdeck due to the disruption of the step. Both parts are then mirrored to get the port half. In hindsight it might be better to separate the generation of the decks but doing it this way is easier since the deck positioning is defined in the frame sketches.

 

1944291546_HullSurface.jpg.f7f60772af4ffba72d5f244c42bd55a4.jpg

There is some disagreement between the rabet at the stern and the decision of the FreeCAD lofting operation but it is expected. This can be corrected if necessary with an additional station just forward of the rudder and extend the next station down to the rabet.

 

As this has been exploration, I tested out 3D printing with Shapeways on a smaller version by scaling down at time of printing. The file exchange went quite well and the model appeared in their Shapeways online viewer tool. I then ordered a print in the cheapest possible material just to see what would happen. This was an earlier version of the model.

 

20200112_115957.thumb.jpg.de59ac11b56c3b4eb9b2195ad73ac02a.jpg

Not a very good photograph but there is not much detail to show. All the flaws in the model are faithfully reproduced.

 

Some of my original iseas were to create plugs to build ships boats. It seems that you can build jigs and plugs quite easily and are not part of the finished model. I also thought about building the frames by 3D printing and then finish by planking in wood - a hybrid approach.

 

In the meantime there is a lot more detail to create.

 

Edited by TonyM
Link to comment
Share on other sites

You go really fast TonyM. But you should when I read about all your plans. Especially the idea of use 3D-printing to make jigs or plug is appealing to me.

My intentions on the other hand are a little different. I want to reconstruct the hull in 3D based on an existing ship plan by using as much as possible the same construction techniques that the original artists uses. For instance if I know that the bottom of a frame consists of 3 sweeps (arcs), I will draw 3 sweeps and no spline. I'm sure it will my 3D work harder but I will give it a try.

 

best regards,

   Kris

Link to comment
Share on other sites

As I further explore FreeCAD, I want to share the next simplification to my proposed method in post #10.

The polylines of 2 segments can be dropped completely, just constrain the three control points of the spline with symmetry.

That will bring them all three in line and then you can make the middle one coincident with the target (offset) point.

Done!

 

The more I explore FreeCAD, the more I start liking it. Its GUI with the different workbenches is a bit awkword and not as coherent as a commercial product but it's free software and all files stay yours.

I hope this helps some more FreeCAD users.

 

best regards,

   Kris

Link to comment
Share on other sites

Hey all,

 

I'm using 3DS Max to create my model but I guess the process is pretty similar in FreeCAD. I stream my model making so if you want to see the process I followed you can watch the VOD of last night stream here:

https://www.twitch.tv/videos/539217455?t=00h26m37s

 

I think they stay available for about 2 months on Twitch, but if anyone would like this saved for longer I can cut this up a little bit and stick it on YouTube for safe keeping.

 

Full props on the method should go to Dr PR though! I seriously recommend this method if you need to tidy up any curves!

Edited by Beck
Swapped embedded video for a link instead
Link to comment
Share on other sites

  • 3 weeks later...

Thought I would post the latest developments on my Schooner.

The next addition has been the stanchions which are built using a solid loft along templates housed in the bulwark part of each station. This solid representes the KnightHeads and Hawsepieces at the bow and then is cut using a cutting solid into the distinct stanchions. I do one set for the main deck and one for the quarter deck. I have colored then red to distinguish. 

At the bow I cut the Hawse pipe through the Hawse pieces and the hull.

The next to be added was the monkey rail which wraps round the transom as the taffrail. This is the first attempt and is quite difficult. I will probably rework this soon. The seat as an extension of the main cap is not shaped correctly yet.

 

Stanchions.jpg.6822e521ad7e4cefe8ce1d4a159e0287.jpg

Link to comment
Share on other sites

  • 10 months later...
  • 1 month later...

Very interesting and recent post Tony. Can I ask how well FreeCAD performed in speed and ease when the model was at its largest? I could not see mention of python so I imagine this has been a straight GUI entry? I have only used FreeCAD with python in the past, but would like to enter the boat lines of a Bristol Pilot Cutter into 3D by whatever method is simplest.

Link to comment
Share on other sites

Thanks SteveWTI,

 

I have not had a problem with speed. The model is now about 30 Mb in its FreeCAD format and if it does a complete recalc takes about 10 secs. In most cases a complete recalc is not needed and it is fast.

No I did not do any Python work it was all straight GUI.

The size of the model has increased dramatically because I am playing around with rope in 3D and it is very data intensive.

 

I will post a new image of the model with a whole lot of deck furniture done.

 

Link to comment
Share on other sites

6 hours ago, TonyM said:

Thanks SteveWTI,

 

I have not had a problem with speed. The model is now about 30 Mb in its FreeCAD format and if it does a complete recalc takes about 10 secs. In most cases a complete recalc is not needed and it is fast.

No I did not do any Python work it was all straight GUI.

The size of the model has increased dramatically because I am playing around with rope in 3D and it is very data intensive.

 

I will post a new image of the model with a whole lot of deck furniture done.

 

Thanks Tony,

It sounds like it would be feasible. I am only guessing, but attempting to add the rope will drive you mad :) Might be a step too far? CAD is a useful visualisation tool whenever you are building something complex. I have been very slowly (I am slow) building a powered hacksaw and found CAD useful to plan and dimension each step of the process. I used TurboCAD for that, but as I have used FreeCAD with python for electromagnetic design work then I will attempt the boat model that way.

 

I will also go through what you have written in fine detail so I can understand it.

Edited by SteveWTI
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...