Rhino developable surface error-what's wrong

Discussion in 'Software' started by M.Ezell, Mar 13, 2011.

  1. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Mathematically the developable option is correct. The extent to which Loft Normal works to create surfaces which can be unrolled and how close those surfaces are to a unrolled true developed surface depends on the shape of the curves and the accuracies specified in Properties.
     
  2. Alik
    Joined: Jul 2003
    Posts: 3,075
    Likes: 357, Points: 93, Legacy Rep: 1306
    Location: Thailand

    Alik Senior Member

    Right, but that's a bit tricky because: accuracy is related to surface area, not to sections of surface. Sections can show significant difference between loft-normal and developable, while the surface are will be within tolerance.
     
  3. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    The accuracy settings also control how precisely Loft Develop and DevSrf determine the ruling line locations when forming the surface.

    I also suspect the accuracy settings are inputs to the logic Rhino uses to determine if a surface can be unrolled, but have not done enough experiments to confirm this.

    The accuracy settings I'm refering to a the ones found under Units in the Properties menu (in the File menu), or use the command Units to open the menu.
     
  4. Clinton B Chase
    Joined: Mar 2005
    Posts: 227
    Likes: 2, Points: 18, Legacy Rep: 21
    Location: Saco, ME

    Clinton B Chase Senior Member

    David, Could you reiterate the settings you think are good starting points for absolute tolerance?

    I am going to try my garboard development with ideas here and some coffee, luck, and hope. will report...
     
  5. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Relative tolerance - 0.1%
    Angle tolerance - 0.1 degrees
    For a small boat in feet: Absolute tolerane - 0.001 feet
     
  6. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Occasionally difficulties using Loft or DevSrf arise when the boundary curves have many control points.

    One of the concequenses of using NURBS surfaces and curves is that intersections and triming can result in curves with many control points. For example intersecting a very simple surface can result in a curve with thirty or more control points.

    Curves can be simplified using:

    FitCrv which allows explicit control of how close the new curve will be to the old curve, but it determines how many control points the new curve will have.

    Rebuild which allows number of control points and degree of curve to be specified. The deviation of the new curve from the old curve can be displayed with the Preview button in the command. Rebuild results in a curve with uniformly distributed knots.

    RebuildCrvNonUniform rebuilds the curve and re-distributes the knots non-uniformly. This may be desirable for a curve with considerable variation in curvature; for instance relative straight in the middle but curved on the ends. Input includes the requested accuracy and the maximum number of control points. If the maximum number of control points is too low the requested accuracy won't be met.
     
  7. daiquiri
    Joined: May 2004
    Posts: 5,371
    Likes: 258, Points: 93, Legacy Rep: 3380
    Location: Italy (Garda Lake) and Croatia (Istria)

    daiquiri Engineering and Design

    If this can be of any help: I don't use Loft command when I need developable surfaces. I use "Sweep 2 rails" instead, as follows:
    1) connect the corresponding ends of the two surfaces with a straight line
    2) choose "Sweep 2 rails" command from the "Surface" menu, or type "_Sweep2" in the text window.
    3) choose the two curves you wanted to loft as two rails, and than choose the straight line to be the Cross-section curve.

    The surface created in this way has a single curvature at any point and is hence developable. You can then use the text command "_UnrollSrf" or the menu command "Unroll developable Srf" in the "Surface" menu tab to unroll it.

    Hope it helps.
     
  8. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Sweep2 doesn't ensure a developable surface. A developable surface needs single curvature and zero twist. A simple counter example is the surface between two straight but non-parallel lines. It will have single curvature everywhere but also will be twisted.

    UnrollSrf will unroll surfaces which have straight isolines in one direction but are not developable. If not developable the unrolled surface will be stretched or shrunk and distorted. Check the area report from UnrollSrf. The user needs to decide if the result is close enough for their purposes. There have been complaints in this forum previously that UnrollSrf in Rhino doesn't generate unrolled surfaces accurately enough. But it has turned out the surfaces were not developable, and were generated by some other method than Loft or DevSrf.
     
  9. bhnautika
    Joined: Feb 2006
    Posts: 852
    Likes: 57, Points: 38, Legacy Rep: 571
    Location: australia

    bhnautika Senior Member

    Have you tried the developable surface plug in from the rhino labs http://wiki.mcneel.com/labs/home this will put ruling lines between the two edges, you can then turn on the control points of the lines and adjust them to get the ruling’s you want.
     
  10. bhnautika
    Joined: Feb 2006
    Posts: 852
    Likes: 57, Points: 38, Legacy Rep: 571
    Location: australia

    bhnautika Senior Member

    For those that may be new to this, here is my example. I created three lines using “control point curve”, one for the sheer, one for the chine and then keel all with the same number of control points. Then using the “surfaces from 2,3,4 lines” made a surface from sheer to chine with history turned on, then one from chine to keel line the same way. Then using the plug in I created the ruling lines, turn on the control points for the original lines, I also turned on the surface curvature for a bit of colour and movement and the line curvature so I can check I don’t stray to far from the original curve of the sheer. You now can push and pull the surfaces around using the control points.
     

    Attached Files:

    • dev.jpg
      dev.jpg
      File size:
      104.9 KB
      Views:
      1,102
  11. daiquiri
    Joined: May 2004
    Posts: 5,371
    Likes: 258, Points: 93, Legacy Rep: 3380
    Location: Italy (Garda Lake) and Croatia (Istria)

    daiquiri Engineering and Design

    Thanks for that observation. Technically it is perfectly correct. But for ordinary hull curvatures it shouldn't give problems, or at least I haven't met them yet. I use Freeship's "Develop plates" command to double-check both the developability and the eventual plate stretching. So far the biggest error ever was around 0.05-0.08%. I believe it all depends very much on the degree of curvature of the plate - so one should give it a thought since the early drafting stage.

    Cheers
     
  12. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    That is the DevSrf command I've talked about above.
     
  13. DCockey
    Joined: Oct 2009
    Posts: 5,229
    Likes: 634, Points: 113, Legacy Rep: 1485
    Location: Midcoast Maine

    DCockey Senior Member

    Agree that it depends on the shape and why I said the user needs to decide if it's close enough for their purposes. Area change may be misleading depending on how the unrolling is done. Depending on the algorithm it's a flattened non-developable surface may have zero to negligable to zero area change with significant stretching and/or compression.

    Squish is a Rhino command which allows control of how the surface is stretched or compressed as it is flattened. http://wiki.mcneel.com/labs/advancedflattening It also reports the maximum and average stretching and compression. Squish is included in Version 5 but needs to be separately downloaded and installed as an add-in in Version 4. http://wiki.mcneel.com/labs/advancedflattening#installation
     
  14. Alik
    Joined: Jul 2003
    Posts: 3,075
    Likes: 357, Points: 93, Legacy Rep: 1306
    Location: Thailand

    Alik Senior Member

    I use another way to control if the surface will be developable or not, in practice. Use Expander; see stain. Most of ship's surfaces that can be unrolled are not conic/cylindrical, they show strain in some areas. But those are still 'buildable' provided that strain is in acceptable limits.
     

  15. shellexpansion
    Joined: Sep 2008
    Posts: 17
    Likes: 0, Points: 0, Legacy Rep: 10
    Location: canada

    shellexpansion Junior Member

    Hi guys,

    I know this is a old topic, just in case you have the same problems with unfolding a hull surface, you can try plugin from solid3dtech. there are sample videos in youtube.

    cheers
    j.
     
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.