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(csi) : add element2d openings on receive #2838

Merged
merged 4 commits into from Aug 9, 2023

Conversation

connorivy
Copy link
Contributor

Description & motivation

adds openings on receive from Revit. These openings are NOT yet sent back to Speckle. There is no way to directly retrieve the openings of a wall or the wall that an openings belongs to, unfortunately.

Changes:

To-do before merge:

Screenshots:

ezgif-3-c620cc9724

Validation of changes:

Checklist:

  • My pull request follows the guidelines in the Contributing guide?
  • My pull request does not duplicate any other open Pull Requests for the same update/change?
  • My commits are related to the pull request and do not amend unrelated code or documentation.
  • My code follows a similar style to existing code.
  • I have added appropriate tests.
  • I have updated or added relevant documentation.

References

@notion-workspace
Copy link

ETABS Openings

@connorivy
Copy link
Contributor Author

connorivy commented Aug 8, 2023

closes #2606

@connorivy connorivy merged commit 51b13ca into dev Aug 9, 2023
30 checks passed
@connorivy connorivy deleted the csi/connor/area-openings branch August 9, 2023 14:15
didimitrie added a commit that referenced this pull request Aug 9, 2023
* Sending database profile row

* Not sending System.DBNull

* Not sending DBNull

* Creating profile section - Angle profile
Refactored Advance Steel Beams

* Section Profile Circular and ISection

* Advance Steel speckle classes name refactored

* User attribute in base class
Adjustments in Asteel beam and section profile

* Profile C and T

* Variables name changed

* Using IAsteelObject interface instead of AsteelObject

* Slab

AsteelSlab speckle created
Refactored remaining steel objects

* Civil2023 and AdvanceSteel2023 Converter projects added into solution filter
Xcopy of Triangle.NET changed from ConverterAdvanceSteel2023

* Revert "Civil2023 and AdvanceSteel2023 Converter projects added into solution filter"

This reverts commit b8e819e.

* Revert "Revert "Civil2023 and AdvanceSteel2023 Converter projects added into solution filter""

This reverts commit 7ac8a04.

* Adjustments for copying to Kit folder

* New solution filter for AS
Others Adjustments in Autocad filter

* x64 Platform

* Load fixed

* Autocad 2023 projects added in filter

Autocad 2023 projects were added in AS filter to help the development between directives

* Merge with AS Filters branchs

* Autocad Properties in IAsteelObject

* asteelProps in speckle base

* Cache properties class for Advance Steel object type

* Removed type from ASTypeData
Lower case in properties description

* Balance point

* New ASTypeData - Beam
Few adjustments

* Polybeam, beam and AtomicElement properties are working ok!

* Scale distance unit

* mainalias

* Scaling is working

* Only 1 weight

* Static in some functions

* CSProj backups removed
Removed unused usings

* Revert "Merge branch 'dev' into asAllProperties"

This reverts commit 3e5fb6c5dd498b45c28191acc08b047f42a25a08, reversing
changes made to 85e771c.

* After code cleanup

* Revert "After code cleanup"

This reverts commit d157c9a.

* Namespace formater

* After cleanup

* Revert "After cleanup"

This reverts commit d3e32e0.

* TriangleNET.dll changed to Triangle.dll

* Bolt pattern properties

* Screw bolt properties

* Filer object and construction properties

* driven connection property in constructionElement

* Volume and Area units added
Adjustments in the scale of some properties

* Formatting Volume, Area and Weight in differents ways

* Digits parameter

* FactorFromNative multiply each point property

* Structure and group

* Cuts number in atomic element

* Slab issue

* Update Converter.AutocadCivil.Utils.cs

* Fix(Revit) : retrieving types for mep elements (#2758)

* fix retrieving types for mep elements

* check for family match if the speckle object has a family prop

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* Fix(Revit) : retrieving types for mep elements (#2758) (#2768)

* fix retrieving types for mep elements

* check for family match if the speckle object has a family prop

---------

Co-authored-by: connorivy <43247197+connorivy@users.noreply.github.com>
Co-authored-by: Connor Ivy <connor@speckle.systems>

* fix(Archicad): build readme update (#2756)

* Archicad Readme update

* fix

---------

Co-authored-by: József L. Kiss <>

* fix(rhino): mapping constraints on polylines and facewalls (#2769)

removes polyline assignment and constrains facewall to basic wall types

* Fix(Revit): disable preview receive (#2772)

disable preview receive

Co-authored-by: Connor Ivy <connor@speckle.systems>

* Fix(Revit): Better reporting of critical errors in Revit (#2771)

* better error reporting

* remove unused code

* Included exception in logs + ensured stack trace from error eater

* Added non user facing speckle exception

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>

* feat(objects): only load converters matching the version of the Objects dll (#2761)

* Fix (Revit): fix for nested geometry instances (#2760)

* Fix(Revit) : retrieving types for mep elements (#2758)

* fix retrieving types for mep elements

* check for family match if the speckle object has a family prop

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* fix(Archicad): build readme update (#2756)

* Archicad Readme update

* fix

---------

Co-authored-by: József L. Kiss <>

* use symbol geom

* fix geom call

* add logging to element mesh retrieval

* Revert "Merge branch 'dev' into revit/connor/use-symbol-geometry"

This reverts commit f0f2616.

* Update README.md

* fix logging names

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>
Co-authored-by: József L. Kiss <50739844+jozseflkiss@users.noreply.github.com>
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>

* Feat(Tekla) : receive instances in Tekla (#2774)

receive instances in Tekla

Co-authored-by: Connor Ivy <connor@speckle.systems>

* fix(Archicad): Receive cancellation behaviour (#2776)

Receive cancellation behaviour

Co-authored-by: József L. Kiss <>

* feat(revit): add revit air terminal category (#2721)

add revit air terminal category

* Fix(Revit) : Don't show every mapped value for each receive operation (#2775)

* implement a second type map for the current operation only

* simplify method signatures

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* fix(Navisworks): Closing 2.15 UX/UI papercuts (#2766)

* Update progress bar with a maximum value of 1.0 and fix fractionDone calculation

- Update progress bar to use a maximum value of 1.0
- Fix calculation for fractionDone to ensure it does not exceed 1

* progress bar increments and update sub-operation descriptions

- Refactored the progress bar increments in the `SelectionHandler` class to improve accuracy.
- Updated the sub-operation descriptions in the progress bar for better clarity and user experience.

* descendant traversal logic and add progress bar cancellation handling

- descendant traversal logic in the `SelectionHandler` class to improve readability and maintainability.
- Added handling for progress bar cancellation by checking if it is cancelled and cancelling the associated token source.
- Updated progress bar update logic to only update when reaching a new percentile, improving efficiency.

* Update progress bar percentages and descriptions in ConnectorNavisworksBindings.Send.cs

- Changed progress bar percentage from 0.55 to 0.35 and updated description
- Changed progress bar percentage from 0.66 to 0.2 and updated description
- Changed progress bar percentage from 0.75 to 0.1 and updated description
- Changed progress bar percentage from 1 to 0.1 and updated description
- Changed progress bar percentage from 0.7 to 0.35 and updated description

* Fix progress bar bug and improve cancellation handling

The progress bar bug was fixed by adding the missing `_progressBar.EndSubOperation()` call. Additionally, cancellation handling was improved by checking for cancellation before each model item conversion and throwing an exception if cancelled.

* Add null handling

- Add null check for baseNode variable before accessing its type
- Add continue statement to skip iteration if baseNode is null

* Reword error message for unhidden objects with geometry

The error message for when zero objects remain unhidden in the selection has been updated to provide more specific information. Instead of "Zero objects remain unhidden in selection. Send stopped.", it now says "Zero objects with Geometry are unhidden in selection. Send stopped." This change improves the clarity of the error message and helps users understand why the send operation was stopped.

There maybe in IFC aggregations nodes or even entire hierarchies where no geometry exists, hidden or not.

* Fix(Revit) : retrieving types for mep elements (#2758)

* fix retrieving types for mep elements

* check for family match if the speckle object has a family prop

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* Clearer error message for no visible geometry objects

---------

Co-authored-by: connorivy <43247197+connorivy@users.noreply.github.com>
Co-authored-by: Connor Ivy <connor@speckle.systems>

* Nullability Syntax and error handling in Core (#2700)

* fix(core): Fixed issue with invalid auth tokens

* fixed incorrect gql auth headers

* Added nullabilty syntax to transports

* fix(tests): removed memory transport from concurrency test

* Cleanup of warnings round 2

* Round 3 clean ups

* Fixed tests

* Lowered accessibility of Client's empty constructor to avoid invalid construction of clients

* Added unit tests for local transports.

* Exception Testing

* Transport tests

* fix(Navisworks): Handles lack of One-click-send implementation causing host app to be unresponsive (#2759)

* Amend GetFileName method to handle exceptions and improve error handling

- Added checks for active document and models in the active document.
- If no active document is found, a FileNotFoundException is thrown with an appropriate message.
- If no models are found in the active document, a FileNotFoundException is thrown with an appropriate message.

* Add validation checks before sending data

- Added validation checks to ensure data integrity before sending
- Validation checks will throw an exception if something is wrong

* Refactor file and model validation logic

- Removed unnecessary using statements
- Extracted file and model validation logic into a separate method
- Updated GetFileName() method to use the extracted method for validation

* - Add check for "Sent everything" commit message in state filter

- Add check for "Sent everything" commit message in state filter

* Signature Comments

* feat: Add file and model presence check

This commit adds a new method `IsFileAndModelsPresent()` to both `ConnectorNavisworksBindings.File.cs` and `ConnectorNavisworksBindings.Selections.cs`. This method checks if there is an active document and if any models are appended. If not, it throws a `FileNotFoundException` with the appropriate error message.

* feat(AdvanceSteel): Mechanism to get main properties of native objects (#2444)

* Sending database profile row

* Not sending System.DBNull

* Not sending DBNull

* Creating profile section - Angle profile
Refactored Advance Steel Beams

* Section Profile Circular and ISection

* Advance Steel speckle classes name refactored

* User attribute in base class
Adjustments in Asteel beam and section profile

* Profile C and T

* Variables name changed

* Using IAsteelObject interface instead of AsteelObject

* Slab

AsteelSlab speckle created
Refactored remaining steel objects

* Civil2023 and AdvanceSteel2023 Converter projects added into solution filter
Xcopy of Triangle.NET changed from ConverterAdvanceSteel2023

* Revert "Civil2023 and AdvanceSteel2023 Converter projects added into solution filter"

This reverts commit b8e819e.

* Revert "Revert "Civil2023 and AdvanceSteel2023 Converter projects added into solution filter""

This reverts commit 7ac8a04.

* Adjustments for copying to Kit folder

* New solution filter for AS
Others Adjustments in Autocad filter

* x64 Platform

* Load fixed

* Autocad 2023 projects added in filter

Autocad 2023 projects were added in AS filter to help the development between directives

* Merge with AS Filters branchs

* Autocad Properties in IAsteelObject

* asteelProps in speckle base

* Cache properties class for Advance Steel object type

* Removed type from ASTypeData
Lower case in properties description

* Balance point

* New ASTypeData - Beam
Few adjustments

* Polybeam, beam and AtomicElement properties are working ok!

* Scale distance unit

* mainalias

* Scaling is working

* Only 1 weight

* Static in some functions

* CSProj backups removed
Removed unused usings

* Revert "Merge branch 'dev' into asAllProperties"

This reverts commit 3e5fb6c5dd498b45c28191acc08b047f42a25a08, reversing
changes made to 85e771c.

* After code cleanup

* Revert "After code cleanup"

This reverts commit d157c9a.

* Namespace formater

* After cleanup

* Revert "After cleanup"

This reverts commit d3e32e0.

* TriangleNET.dll changed to Triangle.dll

---------

Co-authored-by: Matteo Cominetti <matteo@speckle.systems>

* log(revit): Added missing exception to log (#2783)

* log(revit): Added missing exception to log

* Added more context

* move test files out of speckle-sharp

* chore(core): use product version instead of file version

* chore: uncomment changes

* feat: fallback on file version if no product version

* fix(core): Fixed issue with blob storage folder being ignored in server transport (#2782)

* fix(core): Fixed issue with blob storage folder being ignored in server transport

* Added blobStorageFolder to clone

* fix(Archicad): Remove unnecessary hotspots from 3D objects (#2781)

hotspot

Co-authored-by: József L. Kiss <>

* fix(autocad): Fixed issue where logger was being used before setup was reporting hostappname and version

* Comment for a workaround

* fix(Archicad): Receive cancellation handling improvement (#2794)

cancellation

Co-authored-by: József L. Kiss <>

* Fix(Revit) : fix element type retrieval for MEP objects (#2792)

* create cache in connector and pass to converter

* fixes to new cache

* correctly handle no parameters

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* working network / graph object

* move commit object builder to converter project

* remove unused code

* change everything from networkToSpeckle

* use struct for nestingInstructions

* add more flexible revit commit builder

* get rid of MEP network name

* add MEP to commit builder

* fix(dui2): Fixed issue with unresponsive progress bar

* this semi works on receive

* fittings are working

* added decent logging for creating fittings

* feat(autocadcivil): implements collections (#2797)

* refactors bindings

* Adds collections to send

* added layer to speckle conversion

* adds displaystyle to collection to speckle

* Update ConverterAutocadCivil.cs

* adds collections to receive operation

* Adds collectiontonative to converter

* adds collection the native methods

* fixes objects on default layer and other bugs

* chore(dui2): Deleted nuget config in the hopes that CI get's unstuck by it (#2805)

* fix: Add condition to 2022 Tekla converter post-build event (#2803)

* fix(Navisworks): Civil3D Models failing as geometries containing embedded primitives (#2802)

* feat: Add support for Text primitive type in Navisworks converter

This commit adds support for the Text primitive type in the Navisworks converter. Previously, only Lines, Triangles, and SnapPoints were supported. Now, Text can also be converted to Speckle format.

* error message for hidden or unconvertible geometry objects

The new error message now includes the case where the objects cannot be converted, improving clarity and user experience.

---------

Co-authored-by: Alan Rynne <alan@speckle.systems>

* core: hotfix for sqlite transport swallowing exception when failing t… (#2796)

core: hotfix for sqlite transport swallowing exception when failing to initialize

* add better logging for failures

* renew elements after rollback if necessary

* I actually don't need the graph object... oops

* delete unused imports

* Feat(Revit) : more flexible commit builder (#2798)

* add more flexible revit commit builder

* get rid of MEP network name

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* remove unused props on class

* adjust commitObject Builder

* add connector conversion to other object conversions

* add more props to the connector object

* get rid of old network class

* add obsolete tag to all network constructors

* fix(revit): Blender instances receive (#2801)

Co-authored-by: Alan Rynne <alan@speckle.systems>

* add convertNetwork back to project

* view specific design option fix

* CIVIL2024 re-inserted

* fix mesh gathering performance

* chore: track if the user accepts the mapping dialog or not

(cherry picked from commit 5ceda75)

* Fix: Adds material quantities to MEP elements (#2655)

* Materials extracted for MEPCurves

* error with null-operator solved

---------

Co-authored-by: Kilian Speiser <kilsp@dtu.dk>
Co-authored-by: connorivy <43247197+connorivy@users.noreply.github.com>

* fix(revit): prevents linked model error with views filter (does not solve it yet) #2829

* feat(revit): replaces hardcoded list of categoris with a check by CategoryType (#2833)

* fix(revit): replaces the hardcoded list of categories with a check by categoryType

* feat(revit): adds internal categoryType

* docs

* feat: adds support for grids

* fix(revit): extension method

* Fix(Revit) : add curves for mep fitting (#2837)

get curve for mep fittings

Co-authored-by: Connor Ivy <connor@speckle.systems>

* Fix(Revit) : fix incorrect instance assumptions (#2830)

* best guess for possible mesh fixes

* elements can have no mesh, thats fine (I think)

* remove commented code

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* Feat(csi) : add element2d openings on receive (#2838)

* think this should work?

* it's making openings I think?

* try catch the set area method

---------

Co-authored-by: Connor Ivy <connor@speckle.systems>

* fix(gh): null check on CSI node (#2836)

---------

Co-authored-by: Pedro Henrique Liberato <phliberato@gmail.com>
Co-authored-by: connorivy <43247197+connorivy@users.noreply.github.com>
Co-authored-by: Connor Ivy <connor@speckle.systems>
Co-authored-by: Matteo Cominetti <matteo@speckle.systems>
Co-authored-by: József L. Kiss <50739844+jozseflkiss@users.noreply.github.com>
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
Co-authored-by: dtnaughton <77862637+dtnaughton@users.noreply.github.com>
Co-authored-by: Jonathon Broughton <jonathon@stardotbmp.com>
Co-authored-by: Alan Rynne <alan@speckle.systems>
Co-authored-by: Kilian <86473259+ks-cph@users.noreply.github.com>
Co-authored-by: Kilian Speiser <kilsp@dtu.dk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants