Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional roof created for Floor js json import #4323

Closed
antonszilasi opened this issue May 17, 2021 · 2 comments · Fixed by #4777
Closed

Additional roof created for Floor js json import #4323

antonszilasi opened this issue May 17, 2021 · 2 comments · Fixed by #4777

Comments

@antonszilasi
Copy link

antonszilasi commented May 17, 2021

A external floor was created which should not exist in the Floor js json import

image

The import also produced the following warnings/errors:

{"message":"[openstudio.model.Surface] <1> Initial area of other surface 'Surface 1' 201.045 does not equal post intersection area 201.043\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.Surface] <1> Initial area of other surface 'Surface 3' 46.7142 does not equal post intersection area 46.7058\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.Surface] <1> Initial area of surface 'Surface 11' 27.8709 does not equal post intersection area 27.8626\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.Surface] <1> Initial area of surface 'Surface 12' 10.8344 does not equal post intersection area 10.8339\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.Surface] <1> Initial area of other surface 'Surface 4' 197.128 does not equal post intersection area 197.129\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.Surface] <1> Initial area of other surface 'Surface 40' 87.0232 does not equal post intersection area 87.0204\n","level":"info","label":"openstudio"}
{"message":"[openstudio.model.PlanarSurface] <1> Cannot set vertices because size of vertices is 0, which is less than 3.\n","level":"info","label":"openstudio"}

floor.js json can be found here: https://drive.google.com/file/d/16bzd1fTa3M_Tyr-czONl67AGrHramj28/view?usp=sharing

Could be related to: #4222 (comment)

Environment

OpenStudio-3.1.0

@antonszilasi antonszilasi added the Triage Issue needs to be assessed and labeled, further information on reported might be needed label May 17, 2021
@jmarrec jmarrec added component - Geometry Translator and removed Triage Issue needs to be assessed and labeled, further information on reported might be needed labels May 17, 2021
@tijcolem tijcolem assigned tijcolem and unassigned lgentile Nov 5, 2021
@ggartside
Copy link
Collaborator

There is an unmatched exterior roof surface for space2-10, nit is a very thin triangle about 6m and 3mm in y. Not sure if this will cause a simulation issue or not

@ggartside
Copy link
Collaborator

The latest version of openstudio the import of this model is producing two unmatched internal surfaces between Space 2-10 and Space 1-4, namely Surface 10 and Surface 12.

Surface 10 and Surface 12 are intersected successfully as can be seen from the log entry

[openstudio.model.Surface] <-1> Intersection of 'Surface 12' with 'Surface 10' results in (Surface 12), (Surface 10), [Surface 14], [Surface 15]
However when we come to match the surfaces resulting from intersecting Space 2-10 and Space 1-4 these two surfaces are not matched which is not expected as they have already been intersected. The code does a removeCollinear which is not really ideal, it does not remove a vertex from Surface 12 but it does remove a vertex from Surface 10 (even though though if we bypass the removeCollinear the two surfaces are circularEqual. So if the the two polygons are circularEqual then why does removeCollinear produce different results? Polygon orientation?

First of all it should not be necessary to call removeColinear in this method as the two surfaces in question have been created from the same intersection common area in the first place

Secondly for anyone out there who might like to chip in at this stage with a comment @jmarrec @tijcolem @macumber @DavidGoldwasser , when we find two surfaces that have a common area why don't we just pair them there and then? Once we have a common area the original polygons are modified to be that common area and then by definition they are done, they will never be further subdivided. It seems unnecessary to have to go to all the effort of matching them all up later on.

If a polygon isn't matched during intersection then it is an external surface of some sort
If a polygon is matched during intersection then it is an internal polygon and we already know what the adjacent surface is
Importing this model takes 69.6 seconds, by changing how we set the adjacent surface it takes 43 seconds

@tijcolem tijcolem assigned ggartside and unassigned tijcolem Feb 7, 2023
@ggartside ggartside linked a pull request Feb 15, 2023 that will close this issue
19 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants