There are some rare cases in which selecting certain configurations of boundary curves for a ply, zone, or other Fibersim object can fail despite the boundaries forming a closed loop. It can be helpful to understand how Fibersim “sews” together disparate curves to establish an object’s boundary. Let’s consider the ply boundary case below:
The image above depicts one side of our laminate surface, the ply’s origin point, and several curves projected onto the surface. The blue and purple curves are the laminate net and extended boundaries, respectively, and the green curves are what we want to use to bound our ply. Curves selected for a Fibersim object’s boundary do not typically need to be trimmed to one another, let alone be combined into a single composite curve; however, what we find is that by selecting the curves above as-is, the ply boundary fails.
The error message, “Net Boundary: Could not close the Net Boundary to the parent Net Boundary. The boundary type is invalid. The Net Boundary is invalid” is presented. The reason for this error is that, in order to tesselate a closed curve, Fibersim first shoots a ray along the surface from the ply origin out to any one of the boundary curves selected (or the laminate net boundary). Then from the intersection point of that ray and the boundary element, Fibersim takes a left and "walks" along the curve. As soon as it reaches an intersection with another selected boundary, the software takes another left, thus beginning to sew the boundary in a counterclockwise direction, before beginning to walk along the next curve. Fibersim continues along like that until it reaches the original ray's intersection point and forms a closed loop.
Let’s take another look at our example:
Did you already spot the problem corner? It can be a little tricky to see it at first, but if Fibersim is forced to take a left (if that direction is available) at every intersection, we run into a problem with boundary curves that terminate inside the ply area. Note the endpoints of curves #2 and #3. Let’s say Fibersim starts walking somewhere along curve #1. It has to travel to the left to maintain the counterclockwise direction. It will then encounter an intersection with curve #2, turn left (downwards in the image above), encounter an intersection with curve #3, then turn left (to our right in the image). Since curve #3 terminates inside the ply area, Fibersim reaches that endpoint and cannot continue. That same logic plays out if Fibersim starts out walking near the right-hand endpoint of curve #3 (the software will walk to our left, reach the intersection with curve #2, take a left—downwards to us—and get stuck).
So the recommendation here is to trim the intersection of curves #2 and #3. Again, given the closure algorithm described above, the only logical requirement is that none of the selected boundary curves can terminate inside the ply area, and trimming these curves should satisfy it: