* trying a bold refactoring
ETABSShared and CSiShared is strictly correct, but just looks horrible EtabsShared and CsiShared looks better
* refactor: improve
* property extraction foundation
- better architectural approach for property extraction depending on csi product and wrapper type
- correctly configures return type depending on the product (e.g. EtabsObject)
* refactor(props): streamline property extraction across CSi and ETABS
Reorganizes property extraction to better handle base and product-specific properties:
- Introduces PropertyExtractionResult for cleaner property management
- Separates shared CSi properties from product-specific ones
- Implements dedicated extractors for Frame, Joint, and Shell
- Standardizes property extraction patterns between CSi and ETABS
- Removes property redundancy and improves null safety
* frame data extraction 1/2
* remaining data extraction
- finished data extraction for frames
- added data extraction for joints and shells
- re-instated collections
* documentation
- added some updates to the documentation
* SpeckleApplicationIdExtensions
- Extension methods for speckle applicationIds
* IApplicationPropertiesExtractorConcretization
- Renamed GeneralPropertiesExtractor to SharedPropertiesExtractor
- Renamed EtabsClassPropertiesExtractor to ApplicationPropertiesExtractor
- Removed PropertiesExtractor file
- Enforced injection of shared properties extractor to application specific extractor
- Output of Extract() of type PropertyExtractorResult
- Application property extractor mutates dictionary
* applicationId simplification
* review comments
- directly assigning applicationId to base
- rename ApplicationPropertiesExtractor to EtabsPropertiesExtractor
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* Initial commit
- Project setup and basic definitions
- Waiting for SDK update
* CSiObjectToSpeckleConverter
- Abstract TopLevel converter
- Requiring a lot of wrappers and addtional steps to get to converted CSiObject
* ICSiWrapper with factory
* raw conversion placeholders
* service registration
* root to speckle
* type registration and resolution
CSiWrapperBase instead of ICSiWrapper correctly resolves all types
* Setting up object level converters
* some basic conversions
* units framework
* raw conversion placeholders
these are gross (just a poc for first send)
* CollectionManager
Simple organization
* Comments
* back to BASE-ics
* local
* csharpier
Missing blank line
* newline
* AddObjectCollectionToRoot
PR comments:
- Updated GetAndCreateObjectHostCollection to more descriptive name of AddObjectCollectionToRoot
- Removing unnecessary rootObject = childCollection line
* cleaning locks
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>