Speckle is the first AEC data hub that connects with your favorite AEC tools. Speckle exists to overcome the challenges of working in a fragmented industry where communication, creative workflows, and the exchange of data are often hindered by siloed software and processes. It is here to make the industry better.
This repo is the home of our next-generation Speckle .NET projects:
- Desktop UI
DUI3
: our next generation Desktop User Interface for all connectors.
- Speckle Connectors
Autocad Connector
: for Autodesk AutoCAD and Civil3D 2022+Rhino Connector
: for McNeel Rhino 7+Revit Connector
: for Autodesk Revit 2022+ArcGIS Connector
: for Esri ArcGISTekla Connector
: for Trimble Tekla 2024
- Speckle Converters
Autocad Converter
: for Autodesk AutoCAD 2022+Civil3d Converter
: for Autodesk Civil3D 2022+Rhino Converter
: for McNeel Rhino 7+Revit Converter
: for Autodesk Revit 2023+ArcGIS Converter
: for Esri ArcGISTekla Converter
: for Trimble Tekla 2024
- SDK
SDK
: Autofac module, connector utilities, and dependency injection.
Make sure to also check and ⭐️ these other Speckle next generation repositories:
speckle-sharp-sdk
: our csharp SDK for next gen connectors and developmentspeckle-sketchup
: Sketchup connectorspeckle-powerbi
: PowerBi connector- and more connectors & tooling!
Clone this repo. Each section has its own readme, so follow each readme for specific build and debug instructions.
Issues or questions? We encourage everyone interested to debug / hack / contribute / give feedback to this project.
A note on Accounts: The connectors themselves don't have features to manage your Speckle accounts; this functionality is delegated to the Speckle Manager desktop app. You can install it from here.
For good development experience and environment setup, run the commands below as needed.
We're using CSharpier to format our code. You can install Csharpier in a few ways:
- Install CSharpier as a local tool and reformat from CLI
dotnet tool install csharpier dotnet csharpier
- Install CSharpier as a global tool and reformat from CLI
dotnet tool install csharpier -g dotnet csharpier
- Install the CSharpier extension for Visual Studio or Rider.
For best DX, we recommend turning on CSharpier'sreformat on save
setting if you've installed it in your IDE.
We're using npm package locks to store exact and versioned dependency trees. Occasionally you will need to clean your local package-lock files, eg when switching between Speckle.Connectors.sln
and local.sln
.
Run this command in CLI to delete all package.lock.json files before a restore:
.\build.ps1 clean-locks
To make sure your local environment is ready for a clean build, run this command to delete all bin
and obj
directories and restore all projects:
.\build.ps1 deep-clean
If you'd like to make changes to the speckle-sharp-sdk
side-by-side with changes to this repo's projects, use **Local.sln**
.
This solution includes the Core and Objects projects from the speckle-sharp-sdk repo, and uses a new Configuration to create a build directory alongside Debug
and Release
.
Warning
Using Local.sln
will modify all your package locks. Don't check these in! Revert with the clean-locks
command or use the regular solution to revert once your changes are made.
For any security vulnerabilities or concerns, please contact us directly at security[at]speckle.systems.
Unless otherwise described, the code in this repository is licensed under the Apache-2.0 License. Please note that some modules, extensions or code herein might be otherwise licensed. This is indicated either in the root of the containing folder under a different license file, or in the respective file's header. If you have any questions, don't hesitate to get in touch with us via email.