Producing a Polygon from lines and arcs

I'm trying to create a cambered web plate for a bridge deck and I have my geometry for the plate defined by two arcs top and bottom and two lines at each end see attached PDF. I cant seem to figure who to create a solid plate from this geometry.

Can I create a polygon using lines and arcs or do I need to facet the arcs by splitting into points?

 I'm relatively new to GC, I'm sure there's a simple way to do this so any help would be gratefully received. 

Thanks

PDF

Parents
  • Hi Michael,

    The solution may depend on what your goal is for this element. Do you need a 2d-shape or a 3d-volume?

    Polygon by definition has straight edges between vertices. For curved edges, the alternatives are a composite curve using the Curve node type with the CompositeCurves technique, or a BSplineSurface.FromBoundaryCurves. For both of those, the orientation of the constituents (the two lines and two arcs) may matter, definitely for the BSplineSurface.FromBoundaryCurves.

    BSplineSurface.FromBoundaryCurves: let's postulate that both of the straight edge lines point up and both arcs span from left to right and also that arc1 is the bottom arc and arc2 is the top arc. Then use the lines as inputs to UCurve0 and UCurve1, arc1 as input to VCurve0,  and arc2 as input to VCurve1. This produces a BSplineSurface that then could be used as input for a Solid.OffsetFromSurface.

    Curve.CompositeCurve: it seems that it does not matter which orientation the constituent curves have; however, they should be collected in sequence, e.g. line1, arc1, line2, arc2. This creates a closed composite curve that could be used as input to a Solid.OffsetFromClosedCurve.

    If your results look mangled, try reversing the orientation of constituent curves by using the constituent curves' ReverseDirection() technique as applicable to make a closed sequence.

    HTH,

         Volker

       

    Answer Verified By: Michael Bardin 

Reply
  • Hi Michael,

    The solution may depend on what your goal is for this element. Do you need a 2d-shape or a 3d-volume?

    Polygon by definition has straight edges between vertices. For curved edges, the alternatives are a composite curve using the Curve node type with the CompositeCurves technique, or a BSplineSurface.FromBoundaryCurves. For both of those, the orientation of the constituents (the two lines and two arcs) may matter, definitely for the BSplineSurface.FromBoundaryCurves.

    BSplineSurface.FromBoundaryCurves: let's postulate that both of the straight edge lines point up and both arcs span from left to right and also that arc1 is the bottom arc and arc2 is the top arc. Then use the lines as inputs to UCurve0 and UCurve1, arc1 as input to VCurve0,  and arc2 as input to VCurve1. This produces a BSplineSurface that then could be used as input for a Solid.OffsetFromSurface.

    Curve.CompositeCurve: it seems that it does not matter which orientation the constituent curves have; however, they should be collected in sequence, e.g. line1, arc1, line2, arc2. This creates a closed composite curve that could be used as input to a Solid.OffsetFromClosedCurve.

    If your results look mangled, try reversing the orientation of constituent curves by using the constituent curves' ReverseDirection() technique as applicable to make a closed sequence.

    HTH,

         Volker

       

    Answer Verified By: Michael Bardin 

Children
No Data