Hull Design Software Based on NURBS

Discussion in 'Software' started by ancient kayaker, Jan 12, 2014.

  1. Baltic Bandit

    Baltic Bandit Previous Member

    The problem with NURBS based modelers is that its really hard to implement an integrated load analysis package with them, or generate custom toolpaths

    so what you end up with is drawings that you then have to manually do the calcs on, or ...get yet more software that does translation of your NURBs surfaces into something that is close in the solids and FEA world.
     
  2. Mike Graham
    Joined: Feb 2013
    Posts: 67
    Likes: 6, Points: 0, Legacy Rep: 54
    Location: Maryland

    Mike Graham Junior Member

    One of the biggest issues in engineering today is that we've adopted all these sophisticated computer tools that often do their individual jobs very well, but do not talk to each other nearly as well. This isn't entirely new, of course, nor is it a problem limited to the engineering process--it's a fact of life that the messiness is at the boundaries. There have been many attempts to integrate the deisgn process tighter, but so far there is no way to avoid a lot of bumpy transitions between stages and tasks in design.

    That being said, I'm not sure I understand what you're getting at in particular, though. NURBS surfaces and NURBS b-rep solids are virtually always what finite element meshes of complex geometry are built from, in my experience. Formats like IGES and STEP use NURBS constantly for representing geometry. Even if you are using your mesh generator to generate simple geometry yourself, most of them are using NURBS to represent geometry in any sketching or modeling you do.

    It would be nice if there was less distinction between geometry and mesh, and there are people trying to address this problem from every which angle--from Hughes's isogeometric analysis to the geometric integration of most of the popular p-version FEA tools to panel (or rather, no-panel-just-NURBS) codes like AEGIR to most big 3D modeling software now including automated FEA codes to more robust meshers, especially in the CFD world, we're seeing that people are trying to address the problem of design geometry and analysis geometry being mismatched, but we're not there yet.
     
  3. ancient kayaker
    Joined: Aug 2006
    Posts: 3,497
    Likes: 147, Points: 0, Legacy Rep: 2291
    Location: Alliston, Ontario, Canada

    ancient kayaker aka Terry Haines

    Regarding the question that DCockey asked earlier -

    To which I previously answered -

    I checked this several times using different data and it looks like you are correct.

    The markers shown in FreeShip following importation of an XYZ text file are accurate, using FreeShip's built-in cursor position readout and within the limit of accuracy of measurement which is better than 0.005" (0.13 mm), good enough I would think for most purposes.

    The lines that FreeShip draws however are not as accurate, worst case was 0ff by 0.153" (3.9 mm) and created a slight but detectable unfairness although the marker curves appeared fair. The worst errors were in Y. Not good enough for a build but good enough for hydrostatic calculations for my purposes at least, perhaps not for a N/A.

    So when using FreeShip to convert XYZ data it is recommended that a careful fairness check be conducted. Also if accurate hull dimensions are important the markers should be turned on and errors between them and the lines be measured at the highest zoom setting.

    BTW, so far I have used FreeShip only for hydrostatic calculations, resistance estimate, pretty pictures, and performing a rough check on plank developments that I generate a different way. Just as well . . . ?

    It would be interesting to know if anyone has done similar checks on other software: given their common heritage, it may well be that DelftShip shares FreeShip's characteristics.
     
  4. SukiSolo
    Joined: Dec 2012
    Posts: 1,269
    Likes: 27, Points: 0, Legacy Rep: 271
    Location: Hampshire UK

    SukiSolo Senior Member

    Checking accuracy especially when transferring files from one software to another is definitely worth doing. Likewise setting a very high initial accuracy when starting to model/loft/draw. I prefer and it is good practice to keep tolerances fairly tight unless you run into a modelling problem that can be resolved by lowering the tolerance.

    With most 32bit (or 64 bit) programs using double point precision you should get good accuracy. Only using stuff in 8 bit DOS some distance from the origin (0,0,0 point) and in single point precision will you get appreciable errors. Even so quite a few programs in that environment give satisfactory real world results.

    Worst case I've had in was over 1.5mm unfairness/difference between sheerlines on an imported IGES file. Mind you that ignores the one time I ran into the Pentium Pro floating point error on a dxf file...;)

    Mostly a lot of surfaces (and curves) can be stitched back together, refaired or made good within hundreths of a mm. CNC has around 0.1mm +/- so on small boats not too important in the real world. Your 3.9mm error is quite significant IMHO on a small craft. Good that you hunted it out though so you know what to check for, a lot of folks would blindly assume the computer can't make a mistake...

    Also be aware that Autocad up to Release 13 (old I know) does not draw ellipses with the same rho value as other CAD systems. One company making hot air balloons had a serious issue with their nicely cut panels not quite fitting....;)
     
  5. ancient kayaker
    Joined: Aug 2006
    Posts: 3,497
    Likes: 147, Points: 0, Legacy Rep: 2291
    Location: Alliston, Ontario, Canada

    ancient kayaker aka Terry Haines

    I was a bit surprised to find such a large error. I checked the accuracy of FreeShip when I first started to use it a few years ago and found it OK to within about 0.5 mm which was acceptable for my purposes, but that was done using simple hand-generated XYZ files. The erros seems to be worst when large XYZ files with many points are used, but I haven't done enough tests to be dogmatic about my conclusions.

    The really surprising thing was to see unfairness show up on data that was precisely fair to start with, as I thought FreeShip's technique automatically produced fair curves given a half-chance.

    If I have any more results of interest I will post them here.

    - my version of FreeShip does not import IGES files although it will export one. Which software where you importing the IGES file to?
     
  6. SukiSolo
    Joined: Dec 2012
    Posts: 1,269
    Likes: 27, Points: 0, Legacy Rep: 271
    Location: Hampshire UK

    SukiSolo Senior Member

    The original file was generated in ProLines and it was imported into Rhino V4 work file with tolerance of 0.0001mm. Got the same result when imported into Pro-E, so the 'problem' is the export of IGES from ProLines. To get round it I re mirrored the fairest half of the hull after mildly refairing the surface, we are talking hundreths of mm only so not important compared to tolerance of cutting machinery. It was OK and got CNC cut in foam hull and topsides as a block.

    STEP files are usually pretty good for getting geometry across but not too many marine packages support this format.

    The following on subdivided surfaces is quite interesting, it is the method Freeship uses instead of NURBs.

    http://en.wikipedia.org/wiki/Subdivision_surface
     
  7. ancient kayaker
    Joined: Aug 2006
    Posts: 3,497
    Likes: 147, Points: 0, Legacy Rep: 2291
    Location: Alliston, Ontario, Canada

    ancient kayaker aka Terry Haines

    As I noted earlier classic designers used French curves and ducks and batten to draw a fair curve, as do many of today's designers. When expressing such designs in software problems arise as noted by several contributers above.

    I have been interested in the bending math of a batten. After a bit of research I have determined that a batten constrained by 4 ducks will generate a spline consisting of a circular arc middle portion terminated by clothoids (euler spirals). I have used that in several of my canoe designs although I do not use the duck and batten method.

    A clothoid approximates the shape of an end-loaded cantilever beam BTW.

    For more than 4 ducks there will be curve segments of a type that I haven't identified, but the 4-duck situation fits many of the hull shapes I have examined. The other hulls can be matched by a pair of clothoids (not necessarily identical) each drawn from the transoms or stems to the point of maximum beam. Note: French curves are usually clothoids.

    The above suggests how classic designers proceeded - although there are hulls that do not fit my analyses like tankers!

    ASFAIK the methods used in design software to fit a curve through specified points don't generate a curve of the clothoid type although they can generate a conic accurately. This is not much of a problem for a new design but a serious impediment for converting or adapting a classic design. A problem when building software-created designs could be that wood will not naturally reproduce the software's best-fit curves exactly.
     

    Attached Files:

  8. Baltic Bandit

    Baltic Bandit Previous Member

    And that's in fact what NURBS stands for:

    Non Uniform (ie segmented to apply to sections using the Heavyside function to turn those sections on and off.)

    Rational (ie stays out of irrational number set)

    B-Spline. The problem is that this describes the surface boundary, not the solid contained by the boundary.

    So if you think about it, lets say we are trying to describe a rectangle (a beam) with a countersunk screw hole taken out of it (subtraction of a cone)

    your beam is

    ax+by+cz
    and your cone is

    -(ax12+by12+ cz12+2ux1y1+2vy1z1+2wx1y1

    And you can easily combine the two to solve various volumetric load problems for the object in 3D space.

    Now put a bspline curve as a slice out of the surface of the beam (or worse yet, slicing the beam in a way that half way through your cone it transitions from a crop of the beam to an increase of the beam

    The math now becomes really hard. worse yet, at the boundary point where it transitions from cropping to adding to the beam, if you choose your origin point poorly, you can end up with pointwise discontinuities that require fixup patches in the math to keep the toolpath file from sending the milling tool plunging through the part.
     
  9. Baltic Bandit

    Baltic Bandit Previous Member

    So we really need a way to model 3D objects with full surface descriptions. And I believe that's what the OnShape guys are trying to do.
     
  10. ancient kayaker
    Joined: Aug 2006
    Posts: 3,497
    Likes: 147, Points: 0, Legacy Rep: 2291
    Location: Alliston, Ontario, Canada

    ancient kayaker aka Terry Haines

    Correction: clothoid curves mention in post #37 is incorrect due to imprecise definition found on web. Batten curve has same basic form as an beam end-loaded with a vertical force until the the beam deforms measurably. Then - if the force applied by the duck is normal to batten surface - there is a 2nd horizontal component at the beam end that adds to the vertical component to form the "duck force" and this horizontal component generates a uniform torque along the length of the beam* that augments the deformation from the vertical force. If beam end subtends an angle A at the base of the beam with respect to the horizontal then -

    horizontal component vertical component = tan (A)

    I think the shape of the curve is now soluble - although it needs iterations . . .

    * - edit: oops no it doesn't, that is based on an incorect simplification!
     

    Attached Files:

    Last edited: Jan 21, 2014
  11. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Actually the Non-Uniform in NURBS refers to non-uniform (unequal) parameter spacing between knots.

    Actually the Rational in NURBS refers to the version of the mathematical formula used which has a ratio and weights; not irrational vs rational numbers. There are also B-Splines which are not described as "Rational" which do not have a ratio in the formula. The use of the word "Rational" is confusing.

    Actually the B in B-Spline refers to the mathematical form, not "boundary" as in "Boundary Representation" aka BRep. B-Splines have many uses besides modeling the surface of a solid. Also, Boundary Representation of solids can use other types of surface models than B-Splines.

    Shapes with complex/arbitrary surface shapes are inherently more difficult than those with simple surface shapes.
     
    Last edited: Jan 19, 2014
  12. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    I'll be very interested to see what they use to represent shapes with complex surface curvature.
     
  13. CmbtntDzgnr
    Joined: Jun 2011
    Posts: 119
    Likes: 8, Points: 0, Legacy Rep: 120
    Location: somewhereonearth

    CmbtntDzgnr Senior Member

    Hi,

    When you say "FreeShip", are you referring to the FreeShip from around 2004-2008-ish, or the FreeShip/Hydronship maintained by Victor Timoshenko?

    I ask because I sometimes get the feeling some are using the older version, especially when they do not mention the version number.

    I use FS/HS 3.43. I don't use it for boats/skiffs, etc., but for DDG/CG-size hulls, and so I ignore the small errors.

    I particularly like the powering, resistance, and turn prediction calcs engines.

    This is repetition:

    I used to manually and tediously create the hulls in Delftship, but DS Free and DS Pro (without any modules) reports are unsuitable and uninformative about powering, turn prediction, and resistance unless I pay what I cannot afford.

    (DS (current version) has a superior layering faciity than FS/HS, but the ribbon fad/hijack burned out my vision (too glossy/shiny) right around the time I reexplored FS and found FS/HS, and jumped ship. Importing models into FS/HS is messy if you have more than a dozen layers, as they all come in jumbled, no particular order that is useful to me.)

    Later, in 2012, I caved in to PolyCAD's Marcus Bole's approach by creating splines and/or surfaces, but in CAD. Now, I'm experimenting with starting out with a subdivided surface (say, 20 splines vertically and 10 horizontally), and I like it better than using 15-19 hull-shaping splines.

    From Shark, I export the bow-right, hull-halfbreadth-to-left as VRML v 1.0 and them import that into FS/HS, add the project information, add the stations/waterlines info, then verify that wind area and CGs are in reasonable or expected locations. Then, I run the reports each time I modify the hulls I draw.

    I've in the past had exposure to ShipConstructor, and used AutoCAD, plus explored CAFE, MaxSurf, and a few others. I am really turned off by some of the excessively complicated interfaces and some of the underwhelming interfaces that get in the way of doing rapid shell drawing and basic calcs. Some are very powerful, but ask for a LOT of information before even getting basic lines out, and some do not even do fairing and yet can cost USD $800 to $10,000 per seat.

    Struggling with designing decent hulls and managing layers in CAD has made me over the past 2 years explore what in my mind I think would be useful and quicker than most of the tools I've seen.

    I am thinking of approaching some CAD companies with inquiries as to what it would take to entice them to offer lower end markets (say, $60-500 per license) a user-friendly, not-excessively-geeky/NA-oriented app that is not necessarily ship-oriented, but allowing from a more sane structural approach to designing large bodies. NA tools are too damned techhy/geeky/detail-asking, and CAD is too fluid and has no decent framework to enhance work flow, and has way more features than needed in cartoon stages and some aspects of ID stages.

    If I could program, I'd "roll my own", assuming I could get ahold of a generic CAD engine that is not ACAD-beholden/oriented. I prefer Shark/VCP's interfaces -- crisp, clean, lightweight. But, the layer system leaves *much* to be desired.
     
  14. Baltic Bandit

    Baltic Bandit Previous Member

    I stand corrected. It was always explained to me that the use of the Heaviside Function in trimming the NURBs function so that an arbitrary length of it was used to fit a particular segment of the surface was the source of the term Non-Uniform.

    Sorry for momentarily being confused on the irrational vs. Imaginary (meant to write imaginary but fingers went too fast)
     

  15. SukiSolo
    Joined: Dec 2012
    Posts: 1,269
    Likes: 27, Points: 0, Legacy Rep: 271
    Location: Hampshire UK

    SukiSolo Senior Member

    Below is a fairly useful link for ancient Kyaker. Worth a read, include the section lower down on designing with NURB curves, it is useful.

    http://www.mactech.com/articles/develop/issue_25/schneider.html

    TBH, ancient Kyaker I think you can get the curves you show in your examples pretty easily. It is important to realise that sometimes you need control construction lines or points when working in CAD. So for the simple beam bend you would draw a horizontal line then tell the curved line it must be constrained tangentally to that line at the start point. You don't need the horizontal line afterwards for the curve geometry created.

    Equally you could draw an arc (Deg 2) and constrain a Deg 3 Spline to be tangent to that arc at the start point.

    Ironically I part designed a French Curve device for a Fashion College a few years back, all in a 2D CAD package. Fortunately the package had the tools to do the job, not all will draw perpendicular lines at the set spacings required.

    http://williamgee.co.uk/products/pattern-room-equipment-design-aids/shoben-fashion-curves/
     
Loading...
Forum posts represent the experience, opinion, and view of individual users. Boat Design Net does not necessarily endorse nor share the view of each individual post.
When making potentially dangerous or financial decisions, always employ and consult appropriate professionals. Your circumstances or experience may be different.