* updated converters after text class update
* fix after text class changes
* packege version bump after text calss update
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* add base revit 26 projects
* fix up cef replacement
* fix up revit 2026 events
* add revit events
* fixes for revit 26
* use right version of DI for Revit26
* add Revit26 to local
* fmt
* use visual studio to fix slns
* Add revit to installer constants
* move webview stuff to 2026 specific area to avoid build issues
* update locks
* Revit 2026 wants to invoke scripts with RevitTask. Abstract RevitTask
* fmt
* fix project copying
* use 3.2 SDK
* fix build
* Revit 2025 is now CEF vulnerable
* add SendProgress to not overload revit context
* update Revit 26 lock files
* update locks
---------
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
* WIP
* Menu handlers for projects and models
* Extract all handlers outside
* Remove account from handlers
* Reset version count
* Add workspaces
* Introduce SpeckleOperationWizard
* Move sync ops to dev section
* Fix sdk remainings
* Organize files and namespaces
* Remove context menu setters
* Bump sdk to 3.3.0
* Get the last selected account id from config
* Add workspaces to select model component
* Handle workspaces
* Add separator at ctor
* Get rid of from last fetched collections in wizard
* Reorder public privy functions
* Bump sdk 3.3.3 for project with permissions
* Remove expire solution on account change
* Move SolveInstanceWithUrlInput to wizard
* Better state handling on search
* handle account switch
* close menu explicitly when reset
* Have workspace logo
* Don't populate menu completely after search
* Logo as prop in workspaces
* Create a workspace flow
* Bump sdk back to 3.3.3
* Fixed DI
* Fix unplug URL state
* Set icon null when reset workspace
* personal projects as workspace
* Handle project permissions over pasted URL
* Clean up the main component
* handle all errors at the top level for wizard component
* Set last used account id to config
* Change the message level to warning for accounts
---------
Co-authored-by: Adam Hathcock <adam@hathcock.uk>
* feat: add send rebars as solid toggle
* feat: rebar `displayValue` default of centrelines
* feat: sending rebars as solid poc
- need to refactor to avoid duplicate code
- is this the best way? what if user view isn't fine?
* refactor: extract common code and code comments
* refactor: reduce code duplication in DisplayValueExtractor with record
* refactor: wording volumetric not solid
* fix: explicit check for "Type ID" and subsequent send of id
* fix: internal definition name
* docs: some comments
* refactor: internal name check in ParseParametersSet not GetValue
* fix: ToString for id return
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* fix: getting builtinCategory
i think this has moved from atomicObject level to inside properties (at some stage) which broke this and caused category to always be null
* docs: comment on accessing builtInCategory
* docs: extra comment
* docs: live pr review
* refactor: not loud about missing property anymore :(
* add tests for receive operation
* clean up some items and tests
* First initialization changes for SDK 3.2
* Update to SDK 3.2
* merge fixes
* fmt
* ifc changes
* fix tests and remove fakes again
* fmt
* remove extra tests from local sln
* update locks for 3.2
* fix mismerge
---------
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
* regions with failed viewId
* render stuff in the first found suitable view
* use native or fallback conversion depending on the view
* better comments
* implement conditional conversion
* remove comment
* comment
* unload Root Host converter
* fix highlighting the model
* inject PlanView converter
* specify views in which receive is supported
* throw unsupported views in advance
* remove redundant check
* ViewManager added; View check is moved to the beginning of receive operation (to throw once and not for every object)
* simplify and remove unused
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* Bjorn/cnx 1359 have a setting in UI whether include or not (#646)
* feat(revit): linked model settings
* docs: cache invalidation note
* Feat(revit): linked models POC (#656)
* cleanup on RefreshElementsIdsOnSender
* POC for multiple and copied linked models
* fix render materials for copied linked models
* comment
* comment
* split linked models with collections
* style: ci potential null on key
* style: not null
---------
Co-authored-by: Björn <steinhagen.bjoern@gmail.com>
* feat(revit): sending linked model poc round two (#657)
* Added IFC app name (#648)
* test: add tests for threadcontext (#651)
* add tests for threadcontext
* add test for extensions
* remove needed usage
* fix for looking for model store (#654)
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
* test: Send Operation tests (#652)
* add tests for threadcontext
* add test for extensions
* remove needed usage
* move cancellation
* Only add send operation tests
---------
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
* chore (autocad/civil): add regen after receive (#650)
* regenerates doc
* moves regen to receive base binding
* Update AutocadReceiveBaseBinding.cs
* feat: linked model send responsive to ui
- current throw just a placeholder
- small variable name refactor
* fix: object reference not set to an instance of an object
* fix: display value extractor
* refactor: converterSettings as readonly field
* feat: warning in response to ui setting not enabled
* docs: todos etc.
* Revert "Merge branch 'dev' into bjorn/cnx-1360-get-linked-models-on-send-function-according-to-setting"
This reverts commit 7202058a98, reversing
changes made to 4bc9ec2352.
---------
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* fix: transform needed to be inversed (#659)
* feat(revit): linked models send by category (#666)
* docs: notes on collection filtering
* feature: RevitCategoriesFilter with linked models too
poc
* docs: notes
* feat(revit): commit structure (#675)
* feat: collection structure switch
- poc
- if linked models, send nested
- if not linked, send flat
* docs: comments on updates
* docs: comment on exception swallowing
* fix: nullability
* refactor: linked model helper class and refactor (#682)
* fix: premature processing of linked models
- add early check for linked models setting
- skips expensive element collection for linked models when disabled
- add empty document contexts for linked models when disabled to maintain warning generation (HACK)
- improve code readability with clearer variable names and comments
* refactor: category ids outside of linked model processing
- inefficient to repeat for every document
* fix: improve separation of concerns for linked model handling
- extract linked model processing to a dedicated method
- add IsLinkedDocument flag to DocumentToConvert class
- move linked model warning generation to RevitRootObjectBuilder
- make RevitSendBinding responsible only for element collection
* refactor: dedicated LinkedModelHandler class for linked model processing
- extract linked model element collection logic to a separate class
- improve separation of concerns between flow control and element collection
- add clear documentation explaining the responsibility boundaries
* fix: duplicate if check still floating around
* docs: over-explaining myself
* Fix(revit): do not use converter settings in element unpacker (#687)
* fix resetting the selected object ids after collecting the elements
* Pass document to element unpacker for the sake of linked models
* fix: send by categories mode
---------
Co-authored-by: Björn <steinhagen.bjoern@gmail.com>
* fix(revit): handle multiple linked model instances with transform hashing (#688)
* feat: linked model transform caching in RevitRootObjectBuilder
Add transform-specific hashing to properly handle multiple instances of the same linked model. Uses transform properties to create a unique suffix for the applicationId, preventing cached objects from being incorrectly reused across different transform contexts.
* more comments
---------
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
* fix: handle null elements when unpacking linked model groups
- add null element check before GroupBy in ElementUnpacker to prevent NullReferenceException
- improve robustness when processing groups in linked models
- add documentation explaining linked model element handling throughout UnpackElements method
- edge case where group member elements might not resolve properly in linked contexts
* make linked model setting true by default
* Fix(revit): illegal attempt to modify document (#700)
* Run refresh object ids in revit task
* Proper not null
* await instead .result
* feat(revit): collection structure for multiple linked model instances (#701)
* feat: suffix for instances of linked model
* Extract out GetIdFromDocumentToConvert
---------
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
* Correct receive default setting for linked models even if irrevelant
* Fix post conflict
* Cleanup the code
* Add comment
---------
Co-authored-by: Björn Steinhagen <steinhagen.bjoern@gmail.com>
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: Jedd Morgan <45512892+JR-Morgan@users.noreply.github.com>
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* 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
* 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>
* 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>