Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question

Is there a different way to do Inersect/SurfaceMatching

asked 2019-11-05 10:38:19 -0600

updated 2020-01-07 17:27:01 -0600

I have scoured this site and tried all the suggestions, but nothing seems to work. I have a fairly straight forward model. All spaces are rectangular. Basement and first floor with return plenums. Some of the first floor spaces are full height. I have tried intersecting and then surface matching with:

Extensions->User Scripts->Alter/Add->Intersect Space Geometry

The SurfaceMatching toolbar

Directly in OpenStudio with Components&Measures->Apply Measure->Envelope->Form-> BCL SurfaceMatching

I've tried every combination of intersecting and SurfaceMatching in SketchUp and even then using BCL SurfaceMatching without intersecting.

Nothing seems to work. I still end up with a lot of unmatched surfaces. It even sometimes flips surface orientation or deletes surfaces all together.

Here is the file before I did any intersect/surface matching:

SketchUp Version 17.2.2555 / OpenStudio SketchUp Plug-in Version 2.9.0 / OpenStudio Version 2.9.0

edit retag flag offensive close merge delete


Some before and after screenshots might be helpful, as well as the source and history of the file. I would definitely use the measure, and not the SketchUp plugin. There are certainly cases where there are issues with the measure, but there are also cases whee surfaces in the source model are not co-planer. One note on the measure is that it doesn't support intersection of interior doors and windows.

David Goldwasser's avatar David Goldwasser  ( 2019-11-05 12:37:58 -0600 )edit

Thank you David. I added screenshots. Where would I find the source and history of the file? I created this from scratch using SketchUp w/ Plugin. The floor plans were created using the "create spaces from diagram" tool and the plenums were created using the "New Space" tool. Then I stacked them on top of each other.

Ski90Moo's avatar Ski90Moo  ( 2019-11-05 13:47:48 -0600 )edit

@Ski90Moo, can you try using this diagnostic version of the measure. It is slower but has some additional capability, specifically here, the remove_collinear_vertices argument may help.

David Goldwasser's avatar David Goldwasser  ( 2019-11-06 19:16:12 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2019-11-05 12:02:15 -0600

Open your model in the OpenStudio App and apply the Surface Matching measure on BCL.

edit flag offensive delete link more


Thank you Matthew. I did this. Please see screen shots of before and after. It still does not match up.

Ski90Moo's avatar Ski90Moo  ( 2019-11-05 13:49:36 -0600 )edit

try deleting the surfaces, re-making them, then rematching them with the measure. You may also check the surface vertices in a text editor to make sure they line up. It's possible to introduce tiny gaps or spaces in the model that makes the surfaces non-adjacent. If you see surfaces with more than 4 vertices that should be rectangles, that will clue you in.

mdahlhausen's avatar mdahlhausen  ( 2019-11-05 14:00:03 -0600 )edit

Doesn't the surface matching measure (program) have a tolerance interval? That is, if the vertices locations are within plus/minus 1/2 inch (in xyz space), they will have a 95% chance of matching, therefore they can be assumed to be matching?

Ski90Moo's avatar Ski90Moo  ( 2019-11-05 14:47:45 -0600 )edit

Yes, I think there is a 0.01 meter (0.4 inch) tolerance. Did you run the surface intersect before matching? If you are still facing issues, try deleting the offending surfaces, re-drawing them, and then surface matching again.

mdahlhausen's avatar mdahlhausen  ( 2019-11-05 15:10:44 -0600 )edit

Thank you Matthew. Yes, I did run the intersect before matching using the plugin and separately I also tried using the intersect integral with the BCL measure. Both had the same issues. I did end up fixing a bunch of surfaces and drawing intersecting lines by hand.

Ski90Moo's avatar Ski90Moo  ( 2019-11-06 10:25:55 -0600 )edit

answered 2019-11-05 22:12:54 -0600

RabindraKumar's avatar

It might be work out for you.

1)Create spaces from your 2d diagram provide a definite floor height.

2)Repeat the same for both floor.

3)Make changes in certain space as per structural look using push tool.So that it will not create any line separation which will generate window or door.

4) Then do the intersect by applying Extensions->User Scripts->Alter/Add->Intersect Space Geometry.

5) Export the file as osm, If any error or warning is there then do the diagnose for the model.

6) Open the diagnose file, If any surface are not there than create the surface using line so that it will generate the surface.

7)Repeat the same procedure from step 1 until surface match.

If you want to diagnose using BCL measure it will create more number of surfaces and job will be done in very less time.

1) Apply measure

2) Follow the step as above (5), (6) & (7)

edit flag offensive delete link more



Thank you Rabindra. I have tried both of these procedures. Yes, they work, but I am trying to get away from having to fix the surfaces. If I had a much larger model, it could take several days to fix all of the surfaces and manually match them. Is this normal? How often do you get surface matching to run properly without having to fix a bunch of stuff?

Ski90Moo's avatar Ski90Moo  ( 2019-11-05 22:44:23 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-11-05 10:38:19 -0600

Seen: 471 times

Last updated: Nov 05 '19