I noticed when adding a hatch using the AddHatch method, you can sometimes get odd results as shown below:

I would expect a hatch with the same angle of rotation would look the same in all cases. What am I missing here? Is there a way to force AddHatch to display all hatches with the same value visually the same?

Hmm, I’m wondering if it’s the direction (CW/CCW) of the outer loop which is flipping the theoretical plane normal - and therefore why the negative angle works… Can you try flipping the curve and see if that fixes it? --Mitch

Yes the closed curves are in different directions. It doesn’t matter if adding hatches manually, but it seems to matter when using the AddHatch method.

This leads to the next question: Is there a way to ensure the curves are going in the same direction when creating curves using IntersectBrep? Or a method to use after for making sure the direction of the curves match?

I don’t think there is a way to influence what IntersectBReps produces…

For after, there is rs.CurveDirectionsMatch()… you’d have to choose a “master” curve and then loop through the others, if it returns False, use rs.ReverseCurve()…

I finally got a chance to get back to this project, and I found that ClosedCurveOrientation is what I needed. It’s an easy way to make sure the closed curves are all going the same way.

Thanks for your suggestion this morning, it got me pointed in the right direction.