Currently, the Robot Adapter assumes that every hosted object of a panel is an Opening. This is not always the case, Panels in Robot can host other objects, such as beams. This PR fixes the crash associated with pulling panels which host beams or columns.
Test files
See linked issue for a Robot file that can not be pulled in without this fix.
Additional comments
Note that the check added by this PR only filters out hosted objects with the Structural Type of Beam or Column. The remaining types are Slab, Wall and Undefined.
I have tested this on multiple Robot files, some pushed from the BHoM, some created in Robot. This PR does not break any of them, and none of them have openings of any type other than Undefined.
Whether Slab and Wall should also be filtered out is an issue left for later - as is whether Undefined objects could be something other than openings. Whether there are other potential crashes related to assumptions regarding hosted objects has not been investigated.
@IsakLarbornBH to confirm, the following checks are now queued:
- `code-compliance`
- `documentation-compliance`
- `project-compliance`
- `core`
- `null-handling`
- `serialisation`
- `installer`
- `versioning`
The check `documentation-compliance` has already been run previously and recorded as a successful check. This check has not been run again at this time.
Issues addressed by this PR
Closes #451
Currently, the Robot Adapter assumes that every hosted object of a panel is an Opening. This is not always the case, Panels in Robot can host other objects, such as beams. This PR fixes the crash associated with pulling panels which host beams or columns.
Test files
See linked issue for a Robot file that can not be pulled in without this fix.
Additional comments
Note that the check added by this PR only filters out hosted objects with the Structural Type of Beam or Column. The remaining types are Slab, Wall and Undefined.
I have tested this on multiple Robot files, some pushed from the BHoM, some created in Robot. This PR does not break any of them, and none of them have openings of any type other than Undefined.
Whether Slab and Wall should also be filtered out is an issue left for later - as is whether Undefined objects could be something other than openings. Whether there are other potential crashes related to assumptions regarding hosted objects has not been investigated.