Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Ideas for curved sheet metal "skins"

daniel_wesemandaniel_weseman Member Posts: 17 PRO
I am struggling to find a workable solution to model and produce aircraft skins. These skins are "flat wrap" - meaning the have a curve in one direction only. They are "rolled" but not stretch formed. I need to model them, then "flatten" them for production through various CNC  (laser, router, punch, etc). These skins have hundreds of rivet holes to attach them to the underlying structure. We are doing "matched holes" so both the skin and the underlying structure have to have the holes in them.  I can easily model them, but have not found a accurate way to flatten them.  Lofted sheet metal should do this, but is not supported in OS. Do any of you have any thoughts on how to do this accurately? Or possibly how this would be accomplished other common CAD systems? Thanks for any advice 

Comments

  • brucebartlettbrucebartlett Member, OS Professional, Mentor, User Group Leader Posts: 2,140 PRO
    If they are rolled,  ie are curved around a center axis,  you should be able to convert to sheet metal using the sheet metal thicken feature. 
    Engineer ı Product Designer ı Onshape Consulting Partner
    Twitter: @onshapetricks  & @babart1977   
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited July 2018
    We could say exactly what is possible if you provide an example of the part you need to flatten
  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    https://cad.onshape.com/documents/e70a24f00d1f64f779ffe018/w/1b9e8443a743fb3ea91f76cf/e/224e80ad5847f3f3e9bc2b2aI I think this URL should work. This would be the top of "skin" of a fuselage. It would also have several hundred rivet holes in it.It is not simple rolled sections. it would be more like a cone. This one example ,another is the skin for the wings, which have different size airfoil shapes on each end and a straight loft between.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    it says there are no permission to see the document
  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    Its public now... Thanks
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    so first to try - Exact flat app from Onshape appstore, or if you have access to the Solidworks or NX there are surface flattening features there too.
  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    I tried exat flat, and even had exact flat support work on it. Apparently it does not like all the small rivet holes. I have also tried several other commercial unfolders and flatterers and had various issues with functionality or accuracy . I do not have access to other Cad systems. I guess i could possibly model these and contract with a 3rd party unfold/ flatten? 
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    @daniel_weseman there's a common error made in CAD when dealing with sheet metal parts. There's unfolding which is based on radius's and set backs then there's flattening routines that tessellates the surface and then lays the triangles all flat. Picking the correct technology is important. 

    Exact flat is the technology you need to be using. Have you tried to deal with the outer surface, filled in the holes? I tried exact flat a while ago and couldn't get it to work either, but that was a long time ago. With flattening routines, theres a scaling at the end of the process matching the area of the surface before vs. after the flattening algorithm. Double check this to make sure your flat patterns are correct.



  • tom_scarincetom_scarince Member, Developers Posts: 47 ✭✭✭
    @daniel_weseman your comment about the many small holes got me thinking.  This is a wild guess, but when you cut a round hole in a curved sheet in CAD and then flatten it, the hole becomes elliptical(ish), even if at a microscopic level.  How about marking your rivet locations with points, flattening and then cutting the holes?
  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    billy2 With exact flat we tried multiple schemes. The "pattern"  created was looked close but not nearly accurate enough to produce parts from. Probably fine for cutting upholstery or composite lay up blanks but not for CNC ing aircraft parts....Exact flat support tried with inaccurate results also.
    tom We did try without holes this is the only way we could good anything out of exact flat. 

    Anyone have experience with other CAD systems that can handle this , Im told SW,Catia,Rhino and others can do this?
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    The product I used was from many moons ago and doesn't exist in modern terms. We reversed engineered vehicle windshields for making new bullet-proof versions. We cut glass in flat and then formed over a mandrel, edges formed correctly every time.

    We also did the reverse of flatten and created images on hot air balloons. I think we did a coca-cola logo that looked square even though it was projected onto a sphere. It was strange to see it float along in the sky.

    We had to play with scaling, but other than that, it worked.

    Does this work, I copied your document then added a flattened surface? 
    https://cad.onshape.com/documents/a277a43fef75c2b02fd150e5/w/2d30c860da7ad28acf37ba87/e/43b4ebe68218014aab82225a

    This functionality comes up a lot in design work and wonder if it should be in OS? I've created an enhancement request:
    https://forum.onshape.com/discussion/9764/flatten-unwrap-surface/p1?new=1



  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    That appears really good ! I did some quick dimensional comparisons and it is close . The largest variance is .019" and the area difference is 1.14" this is certainly vastly closer than anything i have tried. I wouldn't know how accurate the profile is until I actually machined one and try fitting it but it shows great promise for sure. 
      Questions,
    1.how did you do that ?
    2.and would it work with a hundred .094 holes in it or could the hole centers be marked some how?

    Thanks for taking the time look into this!!  
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    The holes are kinda difficult but doable. I created each hole instance normal to the surface in the formed state, but not sure this is really necessary. They're not circles so you won't be able to pick up a center in the flat state. There is probably some other trick you can come up with to get the center location. This flatten business is not an exact science.

    I built the geometry in OS, then sadly, exported the surface to SW and flattened it. Their flatten surface is pretty good these days.



    I guess my point was to differentiate flattening a surface from unfolding sheet metal. It seems to be a common practice/ask to have sheet metal flatten a surface which it won't do. These are 2 different algorithms and don't work the same way. I'm not promoting SW, those days are long gone, but their flatten code works pretty good.

    I'd find someone with SW and have them flatten the surface. I'd do for you if you have a few surfaces to flatten.

    Hoping exact flat fixes their code. A lot of people write this type of code, it's not that uncommon, in-fact I'm trying to figure out if it could be a feature script. Something tells me you'd have to sort a bunch of polygons so you could find a neighboring polygon in a list of 1,000's.



  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited July 2018
    billy2 said:
    Hoping exact flat fixes their code. A lot of people write this type of code, it's not that uncommon, in-fact I'm trying to figure out if it could be a feature script. Something tells me you'd have to sort a bunch of polygons so you could find a neighboring polygon in a list of 1,000's.
    I beleve, feature script is not suiting for this because it hasn't any mesh processing functionality, the problem is even to define a set of points corresponding to the particular surface
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    @konstantin_shiriazdanov You're right, can't find tessellate surface in library. What I was thinking about is found in the API:



    I wonder if passing tessellated data through a blob element and then into a feature script is possible? Possibly instead, using opSplit and dividing up the surface into grids. I'm thinking flattening rectangles would be easier than triangles. I just don't know. 


    I'm really not considering doing this.......


    Thanks for your input though, 

  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    I do have a "student" version of SW free through a association (EAA = Experimental Aircraft Association) I belong to. I can easily model these  in OS. How hard is it to actually flatten in SW. I tend to crash SW within 20 minutes of starting it up ....but will try it again. Any advice on how to flatten in SW. As far as finding hole centers if i make the hole tiny, like .010" then in my 2D CAD system use a "center of gravity snap" for a point mark ,the error could not be more than the DIA of the hole (it would be way less actually)
      Flatten should inside OS. Also "lofted SM " is another request that many really need, and it should accomplish this as well. Thanks for all you help !
  • MBartlett21MBartlett21 Member, OS Professional, Developers Posts: 2,049 ✭✭✭✭✭
    billy2 said:
    Hoping exact flat fixes their code. A lot of people write this type of code, it's not that uncommon, in-fact I'm trying to figure out if it could be a feature script. Something tells me you'd have to sort a bunch of polygons so you could find a neighboring polygon in a list of 1,000's.
    I beleve, feature script is not suiting for this because it hasn't any mesh processing functionality, the problem is even to define a set of points corresponding to the particular surface
    @k@konstantin_shiriazdanov
    You could do it using UV coords into evFaceTangentPlane and getting the origin.
    Only thing is: this does NOT check that it is in the surface. it only uses the underlying surface
    mb - draftsman - also FS author: View FeatureScripts
    IR for AS/NZS 1100
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    edited July 2018
    Only thing is: this does NOT check that it is in the surface. it only uses the underlying surface
    eventually - this is a first problem, the other is - perfomance. I have experiments with some nonlinear transform feature which extracts surface points and bounding edges and transfoms them by some function law. And both this problems make it almost unusable. The best would be to have a built in meshing function in standart library for solids and surfaces and access to mesh objects digital internals.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    @daniel_weseman I was only dealing with surfaces when exporting so the payload was fairly light. SW shouldn't crash with this limited demand, at least it didn't for me. There's only 2 knitted surface patches. The next step is to define the seed, or where to start flattening. Not sure what the official naming of this is called but with all flattening routines you define the stationary polygons/edges first. Then the algorithm begins to flip the adjacent polygons co-planar to your 1st stationary polygons. Some algorithms expand in u or v directions as a preference, but I haven't seen this in SW, haven't looked for it. Not sure how they do it.



    There's not much to it. Not sure about SW, but I'd say the u direction would be along the curve selected and v would be the direction from the curve. There should be differences in final shape based on how they handle the distortions when flattening out the polygons. In practice, I think this would be minor because this surface is well formed. Switching between u or v preference wouldn't generate much difference using the code that I'm more familiar with.

    After adding the holes, I upped the polygon count to help capture the holes better. More polygons, longer times to flatten, but computers are so fast these days so who cares. I believe it's an n squared algorithm meaning it takes much longer to process more polygons.

    Just play with the unfolding and see what works for you. Look at the area of the surfaces before and after flattening. We actually scaled the flat surface area to match the formed surface area thinking this was the best answer. Look at the mesh to visualize the polygons it's going to flatten which might help understanding what it's doing.


  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    @mbartlett21 @konstantin_shiriazdanov I was thinking of building my own polygons using UV coords into evFaceTangentPlane. One thing that I'm understanding is that it would not include trimmed boundaries, so no holes. This would be a crappy start to unfolding a surface. What I like about it is that I could define 4 sided polygons, which seem to me, would be a better way to handle distortions when flipping polygons onto the flattening plane.

    Have either of you guys written flattening algorithms? 

    My concern with featurescript is speed. Having created polygons from imported obj files, I found that 3,000 polygons processed slowly. The new mesh data sets would be nice to access along with sorting the lists. I'm still not sure how to find neighboring polygons in a mesh.

    It sounds like fun to write and could definitely kill a weekend,



  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    @billy2 some of my features can flatten edges that belong to cone or cylinder faces or surfaces with constant cross section, but the difference is that for this specific kind on transforms you can write explicit analitical function that gives a point of plane for a point of curved edge. For an arbitary surface it is obviously not enough to take an array of triangles from the face and pave them onto the plane because, even if you'll be able to find adjacent ones they are not neccessary to match when flattened. So I really don't know how to deal with this, and I suppose it is a serious challenge.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    @konstantin_shiriazdanov yes, I think that's the difference between flattening codes that work and those that don't.

    I'd start with simple shapes like a half sphere and slice it up. The more slices the more accurate representation of the cardinals cap. Maybe I'd get it right, or, could be a waste of time.

    what do these slices look like in their flat state?:


    Flattening of a surface is so prevalent in the design of equipment. I come across it often in engineering. Everyone always starts by trying to do it with sheet metal first, but it's not a sheet metal function.

    Your algorithms seem like they would work well with sheet metal transitions. Circle to rectangle transition.

    There needs to be a solution for this, hoping exact flat gets their code working.




  • lanalana Onshape Employees Posts: 705
    This particular surface is built as a general cone and as such it is developable. Developable surfaces can be unrolled with a higher precision than general polygonal mesh based flattening can achieve. It is fairly reasonable to expect that sheet metal is able to handle such surfaces (We've accepted the improvement request). As always, customer votes help us prioritize the job.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    @lana

    I read up on gaussian curvature & developable surfaces, thanks for the references.

    Looking at the problem again:

    It's a ruled surface and thus a developable surface.

    The bend deduction is:




    bend deduction: 349.515mm - 279.893mm=69.622mm 

    Can you compute this in your sheet metal flatten state?

    I learned something new today, I thought CAD sheet metal only unfolded arcs, it's good to know sheet metal can/will do more.




    ugly:



    a distorted truth, maybe not possible:



    I'm interested in the double curvature approximation and will update my enhancement request.





  • lanalana Onshape Employees Posts: 705
    @billy2
    It's a ruled surface and thus a developable surface.
    Not all ruled surfaces are developable. Just to set expectations correctly.
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 2,068 PRO
    edited July 2018
    I suppose you're inferring this:


    I wouldn't expect this to be unfolded.


  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    OS support has mentioned the "Sketch Wrapper" FS. I have not played with it enough to see if would work because they cautioned it would have about 5% error. I was wondering , is this error fairly consistent and could the "flat" be corrected through scaling. It appears Konstantin
    wrote it? Any thoughts on if it would be a work around , even if its a bit convoluted?
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    I have a number of features that deal with wrapping/unwrapping and the one of the most general of them is Fold FS - it deals with generalized cylinders, I wouldn't reccomend to use it with generalized cones (as it is for your case). But i beleve I could write something for analitycal flattening of generalized cones, though it is a very special case, and it wouldn't cover all the needs for flattening lofted sheet metal parts, just cone-like parts for which you can define cone vertex
  • daniel_wesemandaniel_weseman Member Posts: 17 PRO
    could the "generalized cone" code be used for flattening the skins of a tapered airfoil shaped aircraft wing surface. 
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    it is not ideal untill your shape is not ideal generalized cone

Sign In or Register to comment.