In the file below, two hatches. Both have the same pattern definition, the same scale and the same rotation. However, they are not rotated the same. Although both show 50.98 degrees as the rotation angle in Properties, one is rotated +50.98 degrees, and the other -50.98 degrees.
For me this means the plane of the hatch is somehow actually flipped. This can be verified with a small script that looks at the hatch plane’s Z Axis:
import rhinoscriptsyntax as rs
obj_id=rs.GetObject("Select hatch to check",65536)
rhobj=rs.coercerhinoobject(obj_id)
print rhobj.Geometry.Plane.ZAxis
One shows 0,0,1, the other shows 0,0,-1 - i.e. the hatch planes’ Z axes are opposite to each other.
It is actually the one that looks correct vis-à-vis its rotation (the rectangular shaped one) is the one that is flipped (-Z), the other one that appears wrong is actually ‘normal’ (+Z).
There’s no way to actually get at the hatch plane currently with Rhino commands. Neither Flip nor Dir work on hatches. I can only fix the hatch that has the -Z axis by using the border to re-create it, but in a file with hundreds of such objects that I have, this is painful. And if I wanted to just flip the hatch that has the +Z axis to -Z to match the other one, I have to first invert the CPlane and then re-create the hatch from its border.
Don’t know how this happens actually, must be something in the original program that the hatches were imported from, but I just thought I would throw this out here - maybe there needs to be a control in native Rhino that can flip a hatch plane…
HatchRotationBug.3dm (1.8 MB)