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

Revision history [back]

I am encountering the exact same problem and trying to solve it as well. I think I was able to find a pattern/solution by combining my observations with yours!

I've made several trials to test this issue and it seems that this Sketchup floor/ceiling error does not occur when spaces in Revit are created from the top floor to the bottom floor. Since you are encountering this error, I will guess that your 10th floor spaces were created before your 11th floor spaces. In other words, it seems that Sketchup floors belong to spaces that were created first within Revit and these spaces need to be created from top down. The reversed ceiling surfaces would then be assigned to spaces created 2nd. But don't worry! You will not have to delete spaces and re-create them in the correct order. You can write a script to change this within the GBXML.

1) I noticed that the <surface id=""> Polyloop CartesianPoint order for ceilings are listed in CCW order while floors are listed in CW order. Surfaces will switch types if you simply reverse the order of your cartesian (not coordinate) points.

BUT, I just found an easier way to fix this due to your observations on how the spaces are referenced within the name (thanks! :) it was crucial to how I found this solution)

2) You noticed that the 10th floor space (181) was referenced before the 11th floor space (196). As mentioned above, this is incorrect - the 11th floor space should be referenced first. All you have to is change the order of the <adjacentspaceid>'s. Your code should look like below, referencing the top space before the bottom.

    <AdjacentSpaceId spaceIdRef="sp-196-11th">
    </AdjacentSpaceId>
    <AdjacentSpaceId spaceIdRef="sp-181-10th">
    </AdjacentSpaceId>

You can write a code for this if you have a pattern in your space naming (eg. sp-160 to sp-181 is on the 10th floor sp-182 to sp-200 is on the 11th floor). I named my floors 1xxx for 1st floor spaces, 2xxx for 2nd floor spaces, etc., so it was easy for a code that reversed the AdjacentSpaceId's when the first referenced space was a lower number than the 2nd.

I am encountering the exact same problem and trying to solve it as well. I think I was able to find a pattern/solution by combining my observations with yours!

I've made several trials to test this issue and it seems that this Sketchup floor/ceiling error does not occur when spaces in Revit are created from the top floor to the bottom floor. Since you are encountering this error, I will guess that your 10th floor spaces were created before your 11th floor spaces. In other words, it seems that Sketchup floors belong to spaces that were created first within Revit and these spaces need to be created from top down. The reversed ceiling surfaces would then be assigned to spaces created 2nd. But don't worry! You will not have to delete spaces and re-create them in the correct order. You can write a script to change this within the GBXML.

1) I noticed that the <surface id=""> Polyloop CartesianPoint order for ceilings are listed in CCW order while floors are listed in CW order. Surfaces will switch types if you simply reverse the order of your cartesian (not coordinate) points.

BUT, I just found an easier way to fix this due to your observations on how the spaces are referenced within the name (thanks! :) it was crucial to how I found this solution)

2) You noticed that the 10th floor space (181) was referenced before the 11th floor space (196). As mentioned above, this is incorrect - the 11th floor space should be referenced first. first because Revit likes top spaces to be named first for some reason. All you have to is change the order of the <adjacentspaceid>'s. Your code should look like below, referencing the top space before the bottom.

    <AdjacentSpaceId spaceIdRef="sp-196-11th">
    </AdjacentSpaceId>
    <AdjacentSpaceId spaceIdRef="sp-181-10th">
    </AdjacentSpaceId>

You can write a code for this if you have a pattern in your space naming (eg. sp-160 to sp-181 is on the 10th floor sp-182 to sp-200 is on the 11th floor). I named my floors 1xxx for 1st floor spaces, 2xxx for 2nd floor spaces, etc., so it was easy for a code that reversed the AdjacentSpaceId's when the first referenced space was a lower number than the 2nd.

I am encountering the exact same problem and trying to solve it as well. I think I was able to find a pattern/solution by combining my observations with yours!

I've made several trials to test this issue and it seems that this Sketchup floor/ceiling error does not occur when spaces in Revit are created from the top floor to the bottom floor. Since you are encountering this error, I will guess that your 10th floor spaces were created before your 11th floor spaces. In other words, it seems that Sketchup floors belong to spaces that were created first within Revit and these spaces need to be created from top down. The reversed ceiling surfaces would then be assigned to spaces created 2nd. But don't worry! You will not have to delete spaces and re-create them in the correct order. You can write a script to change this within the GBXML.

1) I noticed that the <surface id=""> Polyloop CartesianPoint order for ceilings are listed in CCW order while floors are listed in CW order. Surfaces will switch types if you simply reverse the order of your cartesian (not coordinate) points.

BUT, I just found an easier way to fix this due to your observations on how the spaces are referenced within the name (thanks! :) it was crucial to how I found this solution)

2) You noticed that the 10th floor space (181) was referenced before the 11th floor space (196). As mentioned above, this is incorrect - the 11th floor space should be referenced first because Revit likes top spaces to be named first for some reason. All you have to is change the order of the <adjacentspaceid>'s. There will be no need to change teh cartesianpoint order. Your code should look like below, referencing the top space before the bottom.

    <AdjacentSpaceId spaceIdRef="sp-196-11th">
    </AdjacentSpaceId>
    <AdjacentSpaceId spaceIdRef="sp-181-10th">
    </AdjacentSpaceId>

You can write a code for this if you have a pattern in your space naming (eg. sp-160 to sp-181 is on the 10th floor sp-182 to sp-200 is on the 11th floor). I named my floors 1xxx for 1st floor spaces, 2xxx for 2nd floor spaces, etc., so it was easy for a code that reversed the AdjacentSpaceId's when the first referenced space was a lower number than the 2nd.

I am encountering the exact same problem and trying to solve it as well. I think I was able to find a pattern/solution by combining my observations with yours!

I've made several trials to test this issue and it seems that this Sketchup floor/ceiling error does not occur when spaces in Revit are created from the top floor to the bottom floor. Since you are encountering this error, I will guess that your 10th floor spaces were created before your 11th floor spaces. In other words, it seems that Sketchup floors belong to spaces that were created first within Revit and these spaces need to be created from top down. The reversed ceiling surfaces would then be assigned to spaces created 2nd. But don't worry! You will not have to delete spaces and re-create them in the correct order. You can write a script to change this within the GBXML.GBXML, see below:

1) I noticed that the <surface id=""> Polyloop CartesianPoint order for ceilings are listed in CCW order while floors are listed in CW order. Surfaces will switch types if you simply reverse the order of your cartesian (not coordinate) points.

BUT, I just found an easier way to fix this due to your observations on how the spaces are referenced within the name (thanks! :) it was crucial to how I found this solution)

2) You noticed that the 10th floor space (181) was referenced before the 11th floor space (196). As mentioned above, this is incorrect - the 11th floor space should be referenced first because Revit likes top spaces to be named first for some reason. All you have to is change the order of the <adjacentspaceid>'s. There will be no need to change teh cartesianpoint order. Your code should look like below, referencing the top space before the bottom.

    <AdjacentSpaceId spaceIdRef="sp-196-11th">
    </AdjacentSpaceId>
    <AdjacentSpaceId spaceIdRef="sp-181-10th">
    </AdjacentSpaceId>

You can write a code for this if you have a pattern in your space naming (eg. sp-160 to sp-181 is on the 10th floor sp-182 to sp-200 is on the 11th floor). I named my floors 1xxx for 1st floor spaces, 2xxx for 2nd floor spaces, etc., so it was easy for a code that reversed the AdjacentSpaceId's when the first referenced space was a lower number than the 2nd.