Hidden Geometry when Intersecting

Hello, I have a very simple model of some roofs. The issue I am having is that if I right click on a face and intersect with model, Hidden Geometry lines are showing up from automatic Triangulation. I understand that the tolerance of coplanarity is within 0.001 inches. I have tested that all points of the effected faces are coplanar using the following.

plane = Geom.fit_plane_to_points( points )
points.all? { |pt| pt.on_plane?( plane ) }

Attached is the SketchUp file before intersecting with model. If you select the south-east roof and intersect faces with model, Hidden Geometry lines will appear.

Any information about why these faces are being triangulated is appreciated.

Hidden_Geometry_Example.skp (250.0 KB)

I wonder if it has something to do with having Length Snapping enabled. We’ve seen that cause problems many times in the past.

It seems to me that the Y-coordinates on the left and the Y-coordinates on the right should be the same. They aren’t. The X and Z coordinates along the ridge line (selected coordinates) ought to be the same in both, too.

Do these seem like reasonable dimensions for your model? I’d hate to have to build to those dimensions.

I can look into the Length Snapping. As for the coordinates, the roofs are drawn in a real world orientation and therefor are not exactly squared to the north. If the points are coplanar we should not be getting triangulation though correct?

As for the dimensions, these are accurate.

I redrew the roof without Length Snapping and making sure edges are planar. I don’t get the triangulation on my roof. You can see a hidden edge on yours in the background.

I am testing this again now with the Length Snapping turned off. By an chance is there a way through the Ruby API to ensure that length snapping is turned off?

Turn it off in your template and save it as the default and it won’t come back when using the template.

I know about this issue, and can reproduce your steps. Read through this topic:

Short version is that the tolerance of what makes a coplanar face is not the same as the tolerance of edges of a face. You can have non coplanar edges that create a coplanar face.

Look for sw_flatten_to_calculated_plane.rbz from @sWilliams in that topic. With that extension you can select your southeast face, use the extension (Flatten to Calculated Plane in the Extensions menu), and the intersect won’t introduce the invisible new edge on that face. It will still on the other faces, so you have to fix them one at a time.

You could use the extension after the intersect, and then only have to fix the faces that will show a problem.

Hi @colin this is quite helpful. It doesn’t entirely solve my problem, as one face is fixed to be coplanar, this extension causes connected faces to be non-coplanar, however the better understanding of the problem is greatly helpful.

On your test roof I can repair the few faces that get the extra geometry, and it seems not to introduce any other broken faces.

As you say though, knowing that it can happen suggests that whatever drew the roof managed to introduce non-coplanar edges.