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

feat(revit): adds fallback option to receive displayable speckle objects as directshapes #2841

Merged
merged 50 commits into from
Aug 23, 2023

Conversation

clairekuang
Copy link
Member

@clairekuang clairekuang commented Aug 8, 2023

Description & motivation

This feature includes the following:

  • Fixes the directshape receive setting so that all commit objects are received as directshapes created from their displayValue geometry. This should look exactly as the commit does in the viewer.
  • Changes the way traversal of hosted elements happens. It used to be at the converter level, but it is now the connector level.
  • Modifies the DirectShape receive setting to now have 3 options: "Always" (i.e. the old DirectMesh receive with all the new fixes), "On Fail" (The fallback DS behaviour, when some conversion goes wrong), "Never" (will try to convert and if it fails will return the error with no fallback attempt)

Closes #2777
Closes #2468

Changes:

  • Revit Connector and Converter

To-do before merge:

  • More thorough testing of Revit receive workflows from different connectors, especially nested/hosted elements
  • (opt) set fallback behavior as a setting, rather than use it by default

Screenshots:

Validation of changes:

Tested receiving large revit commits with instances using the directshape setting.

AlanRynne and others added 30 commits July 31, 2023 11:19
This aligns the logic with the viewer's selection logic, where any displayable object will be selectable as a unit, independently of how many geometries it's made of.
…or' into alan/revit/ds-fallback-when-conversion-fails
…or' into alan/revit/ds-fallback-when-conversion-fails
…or' into alan/revit/ds-fallback-when-conversion-fails
@clairekuang clairekuang requested a review from AlanRynne August 8, 2023 12:43
@clairekuang clairekuang marked this pull request as draft August 8, 2023 12:43
@teocomi teocomi requested a review from connorivy August 9, 2023 12:09
@teocomi teocomi added enhancement New feature or request revit issues related to the revit connector. labels Aug 9, 2023
clairekuang and others added 7 commits August 17, 2023 10:35
…ion of some conflicting changes after dev merge (#2861)

* fix(core): Removed duplicated methods on `ISpeckleConverter` after non-conflicting merge

* fix(rvt): Incorrectly merged chunks caused failure to build

* feat(rvt): Isolated `HostElement` in new `RevitConverterState`

* feat(rvt): Added directshape fallback setting

* fix(rvt): Reorganized fallback to DS behaviour

* feat(rvt): Added new setting for DirectShape fallback

Still pending backwards compatibility with the previous setting, seems to work as intended right now

* fix(rvt): Minor cleanup of fallback logic

* fix(rvt): Update appObject when everything fails
@AlanRynne AlanRynne marked this pull request as ready for review August 18, 2023 14:25
Copy link
Contributor

@AlanRynne AlanRynne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Switching this to "requested changes" not because there's any changes pending on our side, but because I don't want to merge this without @connorivy express consent, as we've had to fix some rather complex conflicts that require triple checking before this goes, as it can affect the fix merged in #2849

Copy link
Contributor

@connorivy connorivy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made a small tweak and now I'm happy with the merge resolution

@AlanRynne AlanRynne self-requested a review August 23, 2023 07:03
Copy link
Contributor

@AlanRynne AlanRynne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing! Just browsed through your commit and looks great @connorivy.

Approving too in order to merge in 🥳

@AlanRynne AlanRynne merged commit dfdc8c3 into dev Aug 23, 2023
@AlanRynne AlanRynne deleted the claire/alan/ds-draft branch August 23, 2023 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request revit issues related to the revit connector.
Projects
No open projects
Status: Done
Development

Successfully merging this pull request may close these issues.

DirectShape fallback on receive bug(Revit): Receive objects as Direct Mesh not working as expected
4 participants