ladybug-tools / spider-gbxml-tools

Scripts to help you view and manage gbXML files
https://www.ladybug.tools/spider-gbxml-tools/
MIT License
13 stars 3 forks source link

Multiple surface selection #21

Closed EK-CEL closed 5 years ago

EK-CEL commented 5 years ago

On fixing gbXML model I usually change the surfaceType. image

For example, in Revit a Space Separator line was along exterior wall and it appears in gbXML model as Air surface. I need to change it to Exterior Wall surfaceType and required constructionIdRef. image

With the current Spider implementation I can do it by selecting and changing surfaces one-by-one. I would like to be able to select\unselect a number of surfaces by holding Ctrl button and then change all of them at once. I believe this issue should have a relatively high priority because it would be a huge time saving.

Thank you.

theo-armour commented 5 years ago

@EK-CEL

I hear you. And I can probably add something like you you ask for. On the other hand, what you describe seems to be an issue with many models with many people in many offices.

Would it not be better if we could create a workflow so you could press one button and the issue is taken care of?

The whole effort in the Edit Menu is an attempt to get us to one button, but it needs more work. What is needed are sample files with a bunch of typical errors that need fixing.

Can you help with this? There often seems to be problems associated with the Air surface type. Can you describe these problems? Can you create a sample file with several of the errors that we could try to fix?

EK-CEL commented 5 years ago

press one button and the issue is taken care of?

It would be ideal. Theoretically all exposed to sun Air surfaces should be converted to External Walls or Roofs. I believe it would be true for most of such issues.

What is needed are sample files with a bunch of typical errors that need fixing.

Previously I shared a few models, i.e. 17134, 18141, and 18038. Two of them are in the Samples2 collection. And the last one was sent to you for large model tests. They contain typical errors generated from imperfect Revit model. Are they useful for the Air Surface issues review?

Can you create a sample file with several of the errors that we could try to fix?

I will make one.

EK-CEL commented 5 years ago

Here is a sample file with Air Surfaces which cause typical errors. TypicalProblems-AirSurface.zip

Although there is a number of such surfaces in the model only two of them should be fixed:

  1. Space 1 - Exterior Wall.
  2. Space 5 - Roof.

The rest of Air Surfaces are OK.

It is a relatively simple scenario. When you will find a cure we could apply it to a real model and look for new conditions causing problems.

theo-armour commented 5 years ago

@EK-CEL

TypicalProblems-AirSurface.zip

May I add this file to the online gbXML sample files?

Previously I shared a few models, i.e. 17134, 18141, and 18038

I very much appreciate your sharing of these files.

Now let's fix things. Looking at:

SGV15 > 'Edit Menu' > 'Check all issues in single pass'

17134-M17.xml is interesting because it reports 506 adjacent space duplicates and 687 missing cad object IDs out of 2,774 surfaces

Doing the same operation, 18141-M18.xml also reports number of errors. And many Air surfaces look like they should be external wall and roofs.

The file TypicalProblems-AirSurface.xml also has a number of issues.

So I guess I do have enough data to work with. ;-)

The last thing we want is anybody clicking hundred of surfaces to to select and edit them.

So then we need to think about fixing the issues by algorithm. My guess is that this will take a number of iterations to figure out, but let's get going.

  1. Is it OK for Air surface types to have duplicate adjacent space IDs? If not, are these surfaces always worth checking further?

  2. Is it OK for Air surface types to have only a single adjacent space IDs? If not, are these surfaces always worth checking further?

  3. If an Air surface is on the exterior of a model then can we assume it needs fixing? Ot are there times when Air can be external?

BTW, checking whether a surface is part of the exterior is not going to be easy. Fingers crossed we can find some tricks. And any further guidelines will help.

EK-CEL commented 5 years ago

@theo-armour

May I add this file to the online gbXML sample files?

Yes, please.

  1. Is it OK for Air surface types to have duplicate adjacent space IDs?

Yes. In a good model an Air surface appears where we have a big space and we want to divide it for two virtual spaces, i.e. cooking and dining areas. Surprisingly in the TypicalProblems-AirSurface.xml file duplicated adjacent space IDs appear for all Air surfaces, not only for the described case. I believe this type of error can be ignored. At least for now I don't see a reason why we cannot do that.

  1. Is it OK for Air surface types to have only a single adjacent space IDs?

I think it is the hardest thing. in the TypicalProblems-AirSurface.xml file the air surface aim0667 has two adjacent spaces, which is OK for division between cooking and dining areas. For the air surface aim0583 we should remove the adjacent space duplicate. We get a single adjacent space ID which tells that this Air surface should be fixed. Unfortunately deletion of duplicated adjacent space for the aim0823 surface gives the same result, but this surface should not be fixed. Because we don't know if it is done by purpose, i.e. a specific area was indicated, or Space Separation lines were drawn around a column. For our needs (for now we are focused on heating and cooling load calculations) it is enough to understand that the surfaces are inside the building. If so no fix required.

  1. If an Air surface is on the exterior of a model then can we assume it needs fixing?

Yes, I think it is a correct assumption. The only problem is to differentiate external and internal air surfaces (as described in previous case), and consequently fix / don't fix them.


I believe the error "CAD Object ID Missing" should be ignored for Air surfaces.

theo-armour commented 5 years ago

@EK-CEL

Added TypicalProblems-AirSurface.zip to Spider gbxml zip sample files. Thank you

I believe the error "CAD Object ID Missing" should be ignored for Air surfaces.

SGV R15.9 added checkbox to ignore surfaces of type 'Air'. Set default to ignore

I looked at a number of files and the only errors with CAD object ID occurred with Air surfaces. May this the necessity of this error-check needs some more investigation.

  1. If an Air surface is on the exterior of a model then can we assume it needs fixing?

Yes, I think it is a correct assumption.

All the other cases you mention seem to be complicated or seem to have less of a significant downside. So let's start by looking for Air type surfaces that lie on the exterior of a model.

An algorithm that finds all of the exterior surfaces may take a while to develop, but even if we can find some/many/most - along with selecting multiple surfaces at once - this would help. I am think of ways of doing this.

EK-CEL commented 5 years ago

I still believe that we need multiple surface selection. Because of the discussed model complications the automatic fixing cannot be reliable for 100%, at least for a few years ahead. And still we will need manual intervention into the model. One of our designers told that fixing surfaces one-by-one saves time for calculations input. Multiple selection would be a big relief. Who knows when we will get a fully-automatic-one-button-fix script for Spider. :) For Spider as for any other CAD application the "multiple selection" is a must-have feature. I would ask to assign a high priority for the "multiple selection and fix" feature if it aligns with your plan.

theo-armour commented 5 years ago

@EK-CEL

I would ask to assign a high priority for the "multiple selection and fix" feature if it aligns with your plan.

See Maevia R15.3 > Edit menu > Air Surface Type Editor > for a beginning

image

Note that most buttons are still just place holders

Because of the discussed model complications the automatic fixing cannot be reliable for 100%, at least for a few years ahead.

Got it. And also do remember what happened when you challenged Spider to open a 700 megabyte file. ;-)

michaldengusiak commented 5 years ago

@EK-CEL @theo-armour We already identified before Air cases: We have to distinguish between Air and Shade+Air.

If we have Shade and there is parallel surface with air: this is quite easy.

  1. take from front shade CADObjectID
  2. check if Air have the same space for adjacent space 1 and 2 if yes modify delete one surface and use following data:
    • change type to ExternalWall or Roof or Floor
      • Type can aslo be recognized from CADObjectID as I can see you use Revit so it key words will be...Basic Wall: Basic Roof: Floor:
    • add CADObjectIDfrom Shade
    • add adjacent space 1 from Air

I prefer to keep Shadeand delete Airas shade is fully enclosed from outside.

Should I move it to separate Issue- Fix Air?

EK-CEL commented 5 years ago

...delete Airas shade is fully enclosed from outside.

For this particular situation the Air surface should be changed for Exterior Wall surface. Do you plan to delete all Air surfaces from the model. I believe Air surfaces should be kept, because it is information. Imagine we "compress" a 24 megapixel picture to 100 KB. Most of information get lost and cannot be recovered. Same about Air surfaces. They potentially can be used later, not for energy calculations, but for CFD, for example. So please keep Air surfaces unless they are harmful.

I prefer to keep Shade

I don't think it is correct. If we found that the Air and Shade surfaces work together then we fix Air surface. The Shade should not appear on top of it, so we delete it. image

Should I move it to separate Issue- Fix Air?

I think, yes.

Thank you.