4

Surface intersection & matching not matching surfaces even in simple use cases.

I am trying to intersect and match using ruby code.

I have a simple model with one zone and a hip roof on top of it. I am trying to match the roof and living area below it doesnt match.

Both essentially are same surfaces but in different space. Surface in the living zone has 5 co-ordinates and the surface with which it is supposed to match and intersect has 4 co-ordinates.

In this case intersection and matching fails. If the vertices or co-ordinates are same then it matches. I want to know if this a limitation or am I missing something. Updating with a model. image description

I have tried using intersecting this using the measure code i.e.

 OpenStudio::Model.intersectSurfaces(spaces)
 OpenStudio::Model.matchSurfaces(spaces)

This measure doesnt get intersected nor matched. but by using sketch up it does get.

Its seems the API and sketch up gives 2 different results. any help as far how to intersect and match in a measure not sketch up would be greatly appreciated.

Karthick's avatar
189
Karthick
asked 2017-10-09 23:39:34 -0500, updated 2017-10-23 18:43:16 -0500
edit flag offensive 0 remove flag close merge delete

Comments

Just do clarify, these are modeled as two separate OpenStudio Spaces? Yes, you are correct that surfaces will only match if they have the same (or rather reversed) coordinates. If they are in same plane and there is a valid intersection, it should intersect and then match. Are you using the Surface Matching measure, or have you written your own ruby code?

David Goldwasser's avatar David Goldwasser (2017-10-10 00:41:49 -0500) edit

Yes they are modeled as two separate OpenStudio Spaces. I have written my own ruby code which is not different from the measure. They are in the same plane so it has a valid intersection. But it doesn't get matched with the surface below because of difference in number of points that defines the surface. The points are inline and the order is reversed. Is there any way for me to work around it programmatically.

Karthick's avatar Karthick (2017-10-10 18:59:03 -0500) edit

Would you mind posting a picture of your surfaces that you want to intersect? Or perhaps a model itself so we can try?

Julien Marrec's avatar Julien Marrec (2017-10-11 02:25:30 -0500) edit

how do I post a picture on the forum I am on a windows machine and I am not findnig any way of posting a pic or attaching a document in the forum.

Karthick's avatar Karthick (2017-10-11 18:51:41 -0500) edit

When you edit your post, there's an icon that look like an image. Shortcut is CTRL+G

Julien Marrec's avatar Julien Marrec (2017-10-13 05:31:58 -0500) edit
add a comment see more comments

1 Answer

1

@Karthick can you download and try this measure on your model. https://github.com/UnmetHours/openstu... (You can clone this repository, or download zip of the entire repository, which is just a few measures). I can also directly mail a copy of the measure. Note that this will be slower on large models than the standard surface matching measure.

It is a special version of our service matching measure that does a number of additional features.

  • It looks for duplicate vertices in a surface
  • Duplicate surfaces in a space
  • Mirrored surfaces in a spase
  • It removes collinear vertices in a surface (this is what I think is affecting your simple use case)

Beyond this it also does surface intersection and matching on a single pair of spaces at a time. This is helpful when surface intersection is crashing to identify the specific space combination that is an issue.

David Goldwasser's avatar
20.4k
David Goldwasser
answered 2017-11-01 14:59:48 -0500
edit flag offensive 0 remove flag delete link

Comments

Hi David,

My email is karthick.Narayana@doubleiq.com. The measure you sent me is good but doesn't address issues in a comprehensive way. Please email me or let me know your email ID I want to have a quick chat to you about it. In in-essence surface intersection also creates col-linear points you need to run remove col-linear points before you send the surfaces for matching. Then the openstudio method will match it up in most cases. I am still finding out what is the best way to handle coincident points.

Cheers Karthick Narayana

Karthick's avatar Karthick (2017-11-02 22:24:21 -0500) edit
add a comment see more comments