NEW Connectors Early Alpha Preview

Disclaimer: This post contains technical content and is primarily meant for the developers and hackers out there!

We’ve been hard at work revamping our connector internals, and we’re ready to do a self-serve demo! If you’ve followed the activity in the repos, you’ve probably noticed a flurry of “DUI3” related work. What does this stand for?

POLL: What does DUI stand for?

  • Driving Under the Influence :beers:
  • Desktop User Interface
  • Both

0 voters

This Desktop User Interface is used in almost all our connectors, and we’ve refreshed not just the UI, but the whole underlying patterns and foundations upon which connector development rests with two goals in mind:

  • Shipping faster: coupled with the UI, we’ll soon be able to make daily independent releases of connectors on a need by basis–we don’t want you waiting for a new release for a simple bug fix or new feature added.
  • Shipping better: we’re now shaping exciting new features that will make connectors more approachable to new specklers, and hopefully make the old speckler’s life easier, while also attuning to our new web app and the great rename.

[Spoiler] In full transparency, coupled with the changes to the web app, this is Speckle 3.0 in disguise.

Warning⚠️: this is a very early release - nothing more than an alpha and it is not intended for any sort of mass consumption - it’s just a very early preview! There is a lot missing from every direction - many yet unported conversions, many yet unsupported host applications, missing features and settings, etc. so treat it as an early sketch of the direction in which we’re going!

Limitations:

  • DUI3 connector builds currently exist for Rhino 7, Revit 2023, Autocad 2023, SketchUp 2021-24 (Win/Mac) and ArcGIS Pro 3.
  • :warning::warning:You will need to uninstall all existing connectors as currently we don’t support running them side by side.:warning::warning:

Ready to try it out? We want to hear what you think about the new features and user experience! Give it a spin and drop us a comment with your feedback, thoughts, questions, and grievances :wink:

Here are the zips for each of the applications mentioned above. If you’re with us so far, you probably already know where you need to unzip and unblock them for each host application. If you don’t, then maybe you should not install them at all - you can compromise your local setup and standard Speckle will potentially stop working!

For the curious, here’s an incomplete list of changes:

:man_technologist: .NET side of things:

  • Connector architecture is now standardizing on a DI pattern that should make the development of new connectors, by us or by you, easier with less boilerplate.
  • Converter architecture has been revamped - we’re moving away from kits as you knew them towards a DI pattern that will allow object versioning.
  • Based on the above, object models will be shipped together with the connector - massively simplifying third party development and distribution of connectors.
  • Improved serializer that can attach given ObjectReferences to tree, allowing for conversion caching on send.
  • The one traversal to rule them all has been slightly changed - with a big impact on how we think about things.

:paintbrush: UI/UX side of things:

  • We’re back to using a web-based UI (CefSharp in Revit, Webview2 everywhere else)
  • Overhauled the overall flow of sending and receiving data, following through from the great rename.
  • Introduced change tracking on send, so you are aware when changes you made to the model in the host app affect any sent data
  • Notifications are now bound to model cards, as per their relevance.
  • Account switching & co. has been rethought and gotten out of the way as much as possible.

There will be many more upcoming breaking changes, not just the ones listed below. We also reserve the right to “undo” or rollback many of the things listed above! Here’s an incomplete preview of what we expect to come next:

  • Blocks and instances will change the way they’re structured to be more meaningful
  • Hosted elements will most likely no longer be hosted in their parents
  • Data structuring will be more rigorous and centralized around collections

DOWNLOAD LINK📥: 3.0.0-alpha.1 – Google Drive

Installing Instructions

Rhino 7

Installing

  1. Download the latest release from XXXXX
  2. If you have our stable connector installed:
    • Open Manager for Speckle
    • Uninstall the Rhino/Grasshopper connector and any other connectors in your local machine. (This is to ensure your local setup is clean.)
  3. Load the new alpha plugin in Rhino:
    • Decompress the zip file in a folder of your choice. (When in doubt, a good place to put it is the default Rhino plugin folder, but any location would do.)
    • Locate the file called Speckle.Connectors.Rhino7.rhp
      dui3-alpha-rename-needed-announcement-draft-forum-post-google-docs (1)
    • Open Rhino 7
    • Drag the .rhp file into the Rhino viewport, this will cause Rhino to load the plugin. (You should see a message in the console confirming it was loaded.)
      dui3-alpha-rename-needed-announcement-draft-forum-post-google-docs (2)
  4. Type SpeckleNewUI in the command line. You should see the Speckle panel appear.
    dui3-alpha-rename-needed-announcement-draft-forum-post-google-docs (3)

Uninstalling the Rhino connector

To uninstall the new Rhino connector, just remove the folder you decompressed the Zip file upon installation.

When in doubt, the location of the plugin can always be inspected via Rhino’s PluginManager interface.

Known Issues/Limitations

There are some things we haven’t gotten around yet that are important to note:

  1. Sharing files between users that contain Speckle streams is not supported ATM. User will only see the streams they’ve added to the file based on their local accounts.
  2. Change tracking is excluding blocks at the moment, so files using many blocks may not see as much of a performance gain.
  3. Only Rhino 7 is supported at the moment
  4. Limited error reporting: Displays success/failure but lacks the ability to produce detailed reports.
  5. No side-by-side support with the “stable” Rhino connector.
  6. Selection button on receive only works on success.
Revit 2023

Installing

  1. Download the latest release from XXXXX
  2. If you have our stable connector installed:
    • Open Manager for Speckle
    • Uninstall the Revit connector and any other connectors in your local machine. (This is to ensure your local setup is clean.)
  3. Drop the files in the correct location for Revit:
    • Decompress the zip file, you will see two items inside
      • Speckle.Connectors.Revit2023.addin file
      • Speckle.Connectors.Revit2023 folder
    • Type the following address into your folder explorer %appdata%\Autodesk\Revit\Addins\2023
    • Move both of these items into that folder
  4. Load Plugin
    • When loading up Revit 2023, you should see this prompt. Push Always Load.
      dui3-alpha-rename-needed-announcement-draft-forum-post-google-docs (4)

Uninstalling the Revit connector

To uninstall the new Revit connector, just delete the folder and the .addin file that you moved into the %appdata%\Autodesk\Revit\Addins\2023 folder.

Known Issues/Limitations :pause_button:

There are some things we haven’t gotten around yet that are important to note:

  1. Change tracking is excluding model groups at the moment
  2. Only Revit 2023 is supported at the moment
  3. Limited error reporting: Displays success/failure but lacks the ability to produce detailed reports.
  4. No side-by-side support with the “stable” Rhino connector.
  5. The connector only sends data, it doesn’t receive yet
AutoCAD 2023

Installing

  1. Download the latest release from XXXXX
  2. If you have our stable connector installed:
    • Open Manager for Speckle
    • Uninstall the AutoCAD connector and any other connectors in your local machine. (This is to ensure your local setup is clean.)
  3. Load the new alpha plugin in AutoCAD:

Uninstalling the AutoCAD 2023 connector

To uninstall the new AutoCAD 2023 connector, just remove the folder you decompressed the Zip file upon installation.

Known Issues/Limitations

There are some things we haven’t gotten around yet that are important to note.

Installation and Accounts

  • Only AutoCAD 2023 is supported at the moment, and there is no side-by-side support with the “stable” AutoCAD connector.
  • Sharing files between users that contain Speckle streams is not currently supported. User will only see the streams they’ve added to the file based on their local accounts.

Object Support

Limited object support compared to the “stable” AutoCAD connector. Currently only the following types are supported on send and receive:

  • Point
  • Line
  • Arc
  • Circle
  • Ellipse
  • Polyline, 2D Polyline, 3D Polyline
  • Spline
  • Mesh

Publishing Models

  • Change tracking does not apply to blocks at the moment, so files with many blocks may not have the same performance gain compared to those without.
  • Publishing a model with a description is not currently supported
  • Error reporting is limited: displays success/failure status but does not include detailed item reports.

Loading Models

  • Selection button only works on success.
  • Error reporting is limited: displays success/failure status but does not include detailed item reports.
SketchUp 2021-2024

Installing

  1. Download the latest release from XXXXX
  2. If you have our stable connector installed:
    • Open Manager for Speckle
    • Uninstall the SketchUp connector. (This is to ensure your local setup is clean.)
  3. Load the new alpha plugin in SketchUp:

Uninstalling the SketchUp Connector

To uninstall the new SketchUp connector, just delete the speckle_connector folder and the speckle_connector.rb file.

ArcGIS Pro 3

Installation

  1. Place the attached file Speckle.Connectors.ArcGIS3.esriAddinX into the folder C:\Users\<your user name>\Documents\ArcGIS\AddIns\ArcGISPro. You will see a Speckle launch button in Add-In tab.

Uninstalling

Delete the file Speckle.Connectors.ArcGIS3.esriAddinX from the folder C:\Users\<your user name>\Documents\ArcGIS\AddIns\ArcGISPro.

Known Limitations

  • Saving Model cards in the ArcGIS Project is not supported yet.
  • Sending support:
    • Feature class (Point, Multipoint, Polyline, Polygon, Multipatch) without symbology
    • Raster
    • Pointcloud (.las dataset type)
    • Standalone tables
  • Receive support:
    • Native GIS Feature class (Point, Multipoint, Polyline, Polygon, Multipatch) without symbology
    • Native GIS Standalone tables
    • Non-native basic (Points, Line geometries (except Polycurves that contain Arcs), Meshes), at the moment without additional properties and without symbology
    • Interacting with the UI during “Adding to Map” might freeze the app for some time
11 Likes

Also worth noting that the downloaded .zip most likely needs unblocking.

  • right click on it before unzipping > properties
  • check Unblock at the bottom

1 Like