Debugging "The following sub-faces were not matched with any parent Face"

@chris, is there an easier way to find out which apertures can’t be matched, than copying the aperture names from the warning message and parsing the input aperture list like this:

I think I made something that automates that so you don’t have to copy paste; writing this so I can look for it and not loose this post.

I definitely saved it as a user component but I name things dumb names have the time so have a hard time finding :sweat_smile:


    from ladybug_rhino import fromgeometry as fg
    bad_aps = [ sub for sub in sub_faces if sub.display_name in unmatched_ids ]
    for bad in bad_aps:
        a = fg.from_face3d_to_solid(bad.geometry,1)

I like to save a hb add subface as a ‘snippet’ with metahopper; and use this code because you just have to add an output and boom: shows bad subface geom


Wow, this saves a lot of time. Elegant

1 Like

the ‘extrude surface’ arg input in the fg.from_face3d_to_solid(bad.geometry,1) being a 1 may be a touch overkill but it definitely makes the bad subface geom stand out :sweat_smile:

1 Like

Excellent use of the SDK, @TrevorFedyna . If this becomes enough of a challenge, maybe we’ll add a more official way to get the geometries by identifier. This seems good for now, though.


I’m new so not clear about the solution- where and how do I input the python script in the Gh definition?

Hi @Anyone!

This is a very late reply but in case anyone might still benefit from this:

You want to right click on your HB Add Subface component, click Open Editor… and then paste the code at the bottom of the Python file that will open.


Then press the “Play” button in the top right corner of the popup window to rerun the component with the updated code.

1 Like

Thanks for clarifying @jantheyan !

Hi, I try TrevoFedyna code but nothing happened. The component AddSubface continues in orange color so I can’t working in the geometry. I’m an student of Bioclimatic architecture and I’m learning to process info for architecture projects. The balloon of the component indicated:
The following sub-faces were not matched with any parent Face:
Could somebody give me a hint?

Hi @EHarvey, welcome to the forum!

The most common causes are the opening isn’t coplanar with the host face, using cplane to set the host face as the cplane and projecttocplane can ensure it’s correctly aligned (there’s other ways, that’s a quick method).

The other common issue is that the aperture isn’t fully contained by the host face, ie it either touches the edges or goes beyond. Make sure the aperture is fully within the host and not touching the edges.

1 Like

Yes, thank you Charlie, I checked all that and it was ok. Finally afterward to check it, I realized it was missing the connection from one component that was causing the error to access honeybee features.