* Claire/revit areas curves fix (#610)
* fixes display values for get_geometry method, and changes modelcurves to be sent as revitobject
also removes `level` prop in objects and adds the units and elevation to the level collection instead
* Update Speckle.Converters.RevitShared.projitems
* removes top level pointcloud converter
* Update RevitElementTopLevelConverterToSpeckle.cs
* Update property handling interface
Changed method to retrieve properties from Navisworks model items. Updated the method signature for clarity and improved functionality.
* Add property retrieval method to handler
Implemented a new method for getting properties from model items. It processes property sets and returns a dictionary of category values, enhancing the functionality of the property handler.
* Fix namespace formatting and improve property handling
- Cleaned up the namespace declaration.
- Added a check to ensure properties are a dictionary before processing.
- Streamlined property validation logic for better clarity.
* Simplified the `AddModelProperties` method signature by reducing parameters.
* Refactor property handling in base class
- Added a new method to retrieve properties from model items.
- Simplified the structure of processed property sets by removing nested dictionaries.
* Add hierarchical property retrieval method
Implemented a new method to get properties from model items.
- Introduced `GetProperties` to collect and filter hierarchical properties.
- Enhanced data handling with improved dictionary management for properties.
* Fix namespace formatting issues
Updated the namespace declarations in property handler files to ensure proper formatting.
* Refactor model item conversion logic
- Updated the method for converting Navisworks ModelItems.
- Simplified the creation of non-geometry objects.
- Removed unnecessary property handling code.
- Enhanced clarity by restructuring return values.
* Refactor model item conversion logic
- Simplified the conversion method for model items.
- Added a new method to handle geometry objects.
- Introduced property handling based on user settings.
- Improved clarity and maintainability of the code.
* Refactor geometry property handling
- Updated comments to clarify property merging rules.
- Removed unused methods for creating geometry and non-geometry objects.
- Simplified code structure for better readability.
* Refactor conversion method for brevity
Streamlined the `Convert` method to use an expression-bodied member. Removed unnecessary null check block and simplified the logic for better readability.
* Fix import statement formatting
Updated the import statement for consistency by removing an invisible character.
* Add class properties handling to property dictionaries
- Integrated class properties extraction into both property handlers.
- Updated logic to add or update entries in the property dictionaries based on extracted class properties.
- Ensured null checks for class properties before processing.
* Refactor property handling methods
- Removed the AssignPropertySets method for simplification.
- Streamlined GetProperties to directly return processed property sets.
- Cleaned up unnecessary checks and loops for better readability.
* Add ClassPropertiesExtractor to service registration
- Registered a new ClassPropertiesExtractor for better property handling.
- Kept existing property handlers and settings management intact.
* Refactor HierarchicalPropertyHandler for clarity
- Removed redundant property assignment logic.
- Integrated class properties extraction directly into the main method.
- Simplified error handling by eliminating unnecessary checks.
* Refactor property assignment methods
Removed the AssignProperties and AssignClassProperties methods to streamline property handling. Kept the abstract method for getting properties while maintaining the overall structure of the class.
* Refactor ClassPropertiesExtractor to instance method
Changed ClassPropertiesExtractor from static to instance class. Updated GetClassProperties method to be an instance method, allowing for better flexibility and potential state management in the future.
* Cleans civil3d props
also removes catchment and network proxies. this info is now captured in assignments
* Update ClassPropertiesExtractor.cs
* some bug fixes
* Update PartDataExtractor.cs
* adds parcel areas and excludes labels
* fix: ensure operations run on main thread to prevent etabsexceptions
* pr comments
* fix: ensure consistent exception handler usage in selection binding
* feat: material type distinction
* refactor: mixed concerns
Some structural asset stuff was in the MaterialQuantitiesToSpeckle.cs
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* clean properties in revit
also adds properties to non-dataobjects and changes grids to have a curve display value after removing curve prop on grids
* removes number from room since this is included in params
* refactors supported categories and throws when all selected objects are unsupported categories
* stupid typos
---------
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
* feature: database table extractor
* feature: frame length extraction
* feat: shell area extraction
* feat: frame length extraction
* feat: shell area extraction
* docs: cleaned up object extractors
* refactor: extensible database table extraction
* flexible indexing (can be defined by user, defaults to typical use-case of "UniqueName")
* better variable naming and more descriptive (better than csi's api)
* some fail safes e.g. when forgetting to put indexingColumn in array of columns to fetch
* refactor: using DatabaseTableExtractor for material name lookup
* lookup for material name of a shell can use the database table extractor and simplifies EtabsShellPropertiesExtractor a lot
* fix: openings shouldn't look for material assignments
Frustrating way Etabs handles openings - they shouldn't be a SHELL. Anyways. Rant over
* refactor: database table extractor handles dictionary lookups
* Fix threading bug
* untangle revit
* adds brepx converter
also changes groups to not be created if list conversion returns 1 or less objects
* revert rhino
* revert autocad
* revert rest
* remove event agg and rhino implementation
* remove event aggr from revit
* remove event aggr from autocad and civil
* remove event aggr tests
* remove event aggr from tekla
* Remove event aggr for navis
* remove event aggr from csi etabs
* remove event aggr for arcgis
* remove remaining pieces
* adds brep converter
* push autocad to run operations on main thread
* adds teklaidlemanager
* bring navis idle manager back
* run send on main
* adds extrusionx and subdx support
* adjusts converter return types to fallback case
---------
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Dogukan Karatas <karatasdogukan@gmail.com>
* adds name and properties to rhino and autocad
* move properties extractor to converter and updates attributes event listener
* moves name and properties back to connector because abstract rhinoobjectconverter doesn't capture all top level converters
* Update RhinoObjectToSpeckleTopLevelConverter.cs
* Update ServiceRegistration.cs
* adds explicit conditions for object attribute change event
* feat: simplifies rhino implementation
* fix: comments out acad usage as we can't test it
* fix: civil services (removal of acad props extraction)
* Update RhinoSendBinding.cs
* Update PropertiesExtractor.cs
---------
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
* feat: thermal and structural asset extraction initial scope
* feat: thermal and structural asset extraction poc
* feat: property set extraction (1/3)
* feat: property set extraction (2/3)
- scaling internal units can't be so complicated?
- to discuss :(
* feat: property set extraction (3/3)
- Simplification to just extract density from structural asset (if present)
- Just one property extraction => no need to create material proxy
- Scaled from internal units to match scaling to model units which occurs on other material quantities
* feat: display parameter unit with associated quantities
* feat: added name of structuralAsset to material quantities
* fix: safe string conversions
* fix: explicitly returning cached value
* fix: validation before dict insertion
* style: dict access
* fix: nullability
---------
Co-authored-by: KatKatKateryna <89912278+KatKatKateryna@users.noreply.github.com>