speckle-blender/README.md

6.2 KiB

<


Speckle | Blender

Twitter Follow Community forum users website docs

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.

Speckle Connector for Blender

[!WARNING] This is a legacy repo! A new next generation connector will be coming soon. In the meantime, check out our active next generation repos here 👇
speckle-sharp-connectors: our .NET next generation connectors and desktop UI
speckle-sharp-sdk: our .NET SDK, Tests, and Objects

Blender Connector

The Speckle UI can be found in the 3d viewport toolbar (N), under the Speckle tab.

Head to the 📚 documentation for more information.

Installation

We officially support Blender 3.3 and newer, on Windows and Mac.

Please follow our installation instructions on our connector docs

Usage

Once enabled in Preferences -> Addons, The Speckle connector UI can be found in the 3d viewport toolbar (N), under the Speckle tab.

  • Available user accounts are automatically detected and made available. To add user accounts use Speckle Manager.
  • Select the user from the dropdown list in the Users panel. This will populate the Projects list with available projects for the selected user account.
  • Select a model and version from the dropdown menus.
  • Click on Receive to download and convert the objects from the selected model version. The objects will be linked into a Blender Collection, named <PROJECT_NAME> [ <MODEL_NAME> @ <VERSION_ID> ].
  • Click on Open Model in Web to view the model in your web browser.

Supported Elements

The Blender Connector is still a work in progress and, as such, data sent from the Blender connector is a highly lossy exchange. Our connectors are ever evolving to facilitate more and more Speckle usecases. We welcome feedback, requests, edge cases, and contributions!

The full matrix of supported Blender and Speckle types can be found here

Additional Features

  • Speckle properties will be imported as custom properties on Blender objects. Nested dictionaries are expanded to individual properties by flattening their key hierarchy. I.e. propA:{'propB': {'propC':10, 'propD':'foobar'}} is flattened to propA.propB.propC = 10 and propA.propB.propD = "foobar".

  • If a renderMaterial property is found, SpeckleBlender will create a material named using the sub-property renderMaterial.name. If a material with that name already exists in Blender, SpeckleBlender will just assign that existing material to the object. This allows geometry to be updated without having to re-assign and re-create materials.

  • Receiving vertex colors is supported. The colors list from Speckle meshes is translated to a vertex color layer.

  • Receive/Send scripts. Allow injecting a custom python function to the receive/send process to automate any blender operations

Dependency Installation and Compatibility with Other Blender Addons

Upon first launch of the addon, the Speckle connector installs its SpecklePy dependencies in %appdata%/Speckle/connector_installations on Windows and ~/.config/Speckle/connector_installations on Mac. This is done through our installer.py. Through pip, we install the correct version of each dependency for your blender python version, host OS, and system architecture. As such, an internet connection is required for first launch of the connector.

Other blender addons may require dependencies that conflict with specklepy. In these cases, one or both addons may fail to load. If you suspect you're seeing a conflict, Please uninstall other third party addons one at a time to identify which addon is conflicting.

If you find an addon that conflicts, please try using a different version of that addon (newer or older).

If you can't find a version of an addon that works, please let us know on our forums the name of the addon, the versions you've tried, the version of the Speckle connector you've tried, and your OS (win/mac/linux).

Contributing

Please make sure you read the contribution guidelines for an overview of the best practices we try to follow.

Community

The Speckle Community hangs out on the forum, do join and introduce yourself & feel free to ask us questions!

License

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.

Notes

Thanks to Tom Svilans (Github) for the original v1 contribution!