* adds ability to deconstruct speckle props, and also to create empty props
* by default add an input parameter
---------
Co-authored-by: Björn Steinhagen <steinhagen.bjoern@gmail.com>
* add text converter to GH
* Get the first matching Property named Value
* adjust parameter description (debatable)
* add text converter to GH
* Get the first matching Property named Value
* adjust parameter description (debatable)
* add text converter to GH
* Get the first matching Property named Value
* adjust parameter description (debatable)
* fake commit
* Revert "fake commit"
This reverts commit 702fbce8d5.
* adjusts comments and factors in text scale in rhino
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* fix: left-click enabled for `SpeckleSelectModelComponent`
* fix: left-click instead of right-click
- `RespondToMouseDown` to disable component selection when clicking the button
- `RespondToMouseUp` to respond to left-click and not right-click
* refactor: left-click instead of right-click description
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* add slnx and generate from it (but got errors)
* can generate slnx
* Can generate hostapp specific slnx
* use slnx for build and clean up
* Revert as we're still on 8 SDK
* really not use slnx for builds
* Make the code generate SLNs too
* use existing consts
* add grasshopper
* Don't generate old slns for slugs
* add SLNX info to the readme
* forgot revit 26
* add MixPanel manager like v2
* add mixpanel to send and receive
* fix tests
* Delete old events
* Don't track receive and send operation
They are already tracked by UI - we shouldn't track them on low level, they always need to be tracked with UI clicks etc
* Pass account from outside
* Add email if available
* Add mixpanel to GH
* Add ui dui3 prop as default
* Remove mixpanel object from tests
* renames categories
* TODO notes for NodeRun later
* Add note for account id nullability
* Grasshopper specific send and receive info for workspace ids
* Auto property
* isMultiplayer prop for mixpanel
* fix mismatch in account id and user id
* Helper function for convertion source app name to slug
---------
Co-authored-by: Adam Hathcock <adam@hathcock.uk>
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>
* Don't throw exceptions but handle missing model cards and log it.
* Change another thing to not throw
* RunMain for Revit should always run on the Revit context
* add comment
* feat: Boilerplate project for Grasshopper v3
* Working POC receive with working Rhino conversions
* v3 Receive outputs most objects, very basic
* feat: Working initial nodes
Receive, Collection, URL parsing for models, root object unpacking
* feat: unpacking logic wip
* feat: total wip expand collection node
* wip
* wip
* feat: adds value type component, all is very raw and wip
* mega wips
* wip wip
* wip
* wip
* wip: conversions (wip!)
* wip: centralises converter access in grasshopper
makes life... easier
* wip: filter objects by path
* wip: various cleanup
* wip: more cleanup and comments
* dev merge build fixes
* Adds Alan's select model component
* adds point, pointcloud, and hatch display to grasshopper object
* adds send component
* fixes send component and adds additional bitmap icons
* Update GrasshopperSendOperation.cs
* adds url to send component
* fixes fallback conversion bug
* feat(grasshopper): asyncify send and receive nodes (#694)
* adds async component base
* adds reference to async component
* adds async to send component
* updates receive async to be a separate component
also adds cancellation, auto receive, progress
* package lock updates
* updates send async with cancellation, progress, and more
* Update packages.lock.json
* Update Local.sln
* reorganize classes
- refactor create collection node to not duplicate logic
- adds model object support to object goo cast method
* adds bake to params
* castfrom bug
* fix converter bugs after dev merge
* adds layer baker and bake to objects
* cleans up typed converters for brep, extrusion, subd
* fixes modelobject casting
* adds bake to object param
* updates object and collection baking
* feat(grasshopper): add property receive nodes (#690)
* adds property path selector and filter by path components
* Update PropertyGroupPathsSelector.cs
* Auto stash before merge of "claire/cnx-1428-property-paths-selector-node" and "origin/claire/cnx-1428-property-paths-selector-node"
* fix dev merge issues
* Update packages.lock.json
* Create packages.lock.json
---------
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
* refactors everything to use new speckle collection class
* fixes bake bug
* uses observable collections to add proper baking to create collection nodes
* Update SpeckleCollectionWrapper.cs
* fix/feat: various
re-applies topology; prevents mutation on send; renames wrapper classes to have wrapper in name etc.
* chore: package.lock.json commit.
this might be not needed?
* feat(grasshopper): polishes property filtering nodes (#714)
* refactors properties to cast to simple types
* updates property groups
* merge conflict fixes
* fixes property group bugs
* fixes model object property group cast
* fixes property group cast
* update param category
* fixes output tree generation
* supports model object casting in the path selector
note: model objects will also register in the path list, along with their props. need to fix this
* feat(grasshopper): add create data object node (#719)
* Avoid multiple enumeration issues when saving if we copy the list first (#713)
* add create data object component
* fixes extrusion display
* adds name and user strings dynamically to output model objects
---------
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
* Revert "feat(grasshopper): add create data object node (#719)"
This reverts commit 04bd151da3.
* feat(grasshopper): adds create object node (#724)
* Avoid multiple enumeration issues when saving if we copy the list first (#713)
* add create data object component
* fixes extrusion display
* adds name and user strings dynamically to output model objects
* undo geometry list to geometry in object goo
* Update SpeckleGrasshopperObject.cs
---------
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
* adds create property group component (#725)
* fixes property bug
* more prop casting fixes
* feat(grasshopper): add support for grasshopper in rhino 7 (#733)
* moves gh 8 to shared project
* adds grasshopper 7
* moves model object logic into partial class files
* Update Local.sln
* adds brep extrusion and subd receive to data objects
* Update DataObjectConverter.cs
* package locks
* feat(grasshopper): add support for sending and receiving colors (#745)
* feat (revit): receive Region as native FilledRegion (#696)
* 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>
* adds color baker to receive
* Update SpeckleGrasshopperObject.ModelObjects.cs
* adds colors on send
* Update GrasshopperColorUnpacker.cs
* removes host object builder (unneeded)
* fixes navisworks package locks
---------
Co-authored-by: KatKatKateryna <89912278+KatKatKateryna@users.noreply.github.com>
* fixes layer baking (#746)
* adds preview to speckle object params (#747)
* fix(grasshopper): renames collections, publish, and load (#748)
* renames collections, publish, and load names
* adds bool run to sync load and publish
* creates expand object component (#750)
also refactors previews for collections to be on the parameter
* chore(grasshopper): changes collection path selector to omit input collection name (#751)
* changes collection path selector to omit input collection name
also fixes preview bug in collections
* changes direct object path to colleciton name instead of "_"
* fixes path bug for objects directly inside input collection
* feat(grasshopper): add support for sending and receiving render materials (#753)
* adds support for render materials on receive and create speckle object
also adds a speckle material wrapper and param
* fixes receiving and baking bugs
* Update GrasshopperColorUnpacker.cs
* Update GrasshopperSendOperation.cs
* update locks
* feat(grasshopper): adds regex search to valueset component (#754)
* adds regex search to valueset component
* Update SpecklePropertyWrapper.cs
* cleans run
* feat(grasshopper): adds icons to all components fml (#755)
* adds param icons
* adds all icons
* Update FilterPropertiesByPropertyGroupPaths.cs
* Update Speckle.Connectors.GrasshopperShared.projitems
* fixes async send exception (#758)
* small fix to publish to include created version
* simplifies speckle model resource to model link
* dev changes
* more dev merge fixes
* Revert "more dev merge fixes"
This reverts commit 1323c336c7.
* Revert "dev changes"
This reverts commit c5ff149bb6.
* Revert "Merge branch 'dev' into grasshopper"
This reverts commit 8bcc70cced, reversing
changes made to 2ae80cc7ba.
* fixes material baking on objects (#767)
* not really a fix, but optimizes enumeration (#769)
* fixes exception, and also removes dynamic keys prop (#772)
* adds better tooltip and warning (#773)
* adds casting from speckle object to model object (#774)
* feat(grasshopper): adds render material to model object cast if it exists (#775)
* adds casting from speckle object to model object
* casts render material if it exists
* Update SpeckleGrasshopperObject.cs
* fixes send async issue
* feat(grasshopper): add filter objects node (#778)
* updates resources
* adds a temporary filter object component
* Update GetCollectionObjects.cs
* fixes bugs in collection and filter nodes
* adds nuget
* adds missing package references
* adds missing prop
* fixes default render material bug (#779)
* feat(grasshopper): changes expand obj node to deconstruct node (#781)
* changes expand obj to deconstruct
* Update ComponentUtils.cs
* fixes bug in deconstruct node
* update package locks
* Reverted revithostobjectbuilder to match dev
* Reverted revit converter to match dev
* reverts changes to various files in importers, local, and sdk
* reverts changes to tests and rhino send binding
* updates local with grasshopper
* more merge conflict resolutions
* more merge conflict build fixes
* removes extra tests
* removes unused package locks
* feat(grasshopper): adds casting of collections to model layers (#790)
* adds casting to model layers
* Account Service fixes
* feat(grasshopper): make create object a passthrough (#791)
* changes create speckle object to a passthrough node
also adds casting from model object to material and properties
* Update SpeckleMaterialWrapper.ModelObjects.cs
* repackages objects into data objects on send (#794)
* allows for creation of multiple property groups (#799)
* bump nuget
* refactor(grasshopper): removes Base inheritance on wrappers (#802)
* removes base inheritance and adds new speckleWrapper class
* removes all base inheritence
* small send bugs
* Feat(gh): add search to account and project node (#804)
* Add search and show more components for projects, models, versions
* Cleanup
* Proper button for show more versions
* Fix build errors
* feat(grasshopper): filter objects node now outputs list of removed objects (#805)
* allows for creation of multiple property groups
* adds second output to filter objects component
* removes load on open option
* add path to create speckle object output
* Update CreateSpeckleObject.cs
* Update FilterSpeckleObjects.cs
* feat(grasshopper): add layer to model object casting (#807)
* preserves layer on model object casting, if exists
* Update SpeckleCollectionWrapper.cs
* adds deep copying and fixes more mutations in create collection and send
* adds casting of speckle mat to render mat, and hides url param
* bug fixes
* removes dataobject grouping (#809)
* fix(grasshopper): adds support for pointcloud and hatch (#811)
* adds missing pointcloud and hatch conversions
* changes name of create speckle object
* removes passthrough speckle object name change
* should fix topology issue
* throws clearer exception when casting unbaked model objects to speckle objects
* Dim/gh props (#812)
* feat: makes property creation node item based
* feat: makes property paths selector output a flat list regardless of input structure
* feat: adds simple & clean get obj props
* feat: leaner output param diff
allows for connections to be held when swapping nodes and such
* feat: cleanup (replaces old component with new)
* adds error and returns in case of bad type input in create props
---------
Co-authored-by: Claire Kuang <kuang.claire@gmail.com>
* fix(grasshopper): materials stuff (#816)
* fixed by always sending new id on the wrapper.
* Update CreateSpeckleObject.cs
* fix(grasshopper): more material bugs (#817)
* fixes render material proxy assignment bug
* retrieves model object color and material depending on source
* chore(grasshopper): adjusts icons and names (#818)
* adjusts icon sizes, cleans up names
* removes wrongly sized icons
* update locks
* Update GrasshopperReceiveOperation.cs
* feat(grasshopper): adds sample scripts and documentation (#822)
* adds docs and sample scripts
* Update Speckle Grasshopper - Sample Scripts.gh
* updates sample scripts and docs
* fixed units (#823)
* removes unneeded files
* removes changes to unrelated files
* re-adds missing controlpoint converter
* oops wrong folder
* Update ControlPointToSpeckleConverter.cs
* fixes geometry mutation bug in speckle object passthrough node
* Feat(gh): workspaces and search wizard (#820)
* 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>
---------
Co-authored-by: Alan Rynne <alan@speckle.systems>
Co-authored-by: Dimitrie Stefanescu <didimitrie@gmail.com>
Co-authored-by: Adam Hathcock <adamhathcock@users.noreply.github.com>
Co-authored-by: KatKatKateryna <89912278+KatKatKateryna@users.noreply.github.com>
Co-authored-by: Oğuzhan Koral <45078678+oguzhankoral@users.noreply.github.com>
Co-authored-by: oguzhankoral <oguzhankoral@gmail.com>
Co-authored-by: Adam Hathcock <adam@hathcock.uk>
* 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>