fix(users): handle accts w/out company/server name
SpeckleBlender 2.0
Speckle add-on for Blender 2.92
Introduction
The Speckle UI can be found in the 3d viewport toolbar (N), under the Speckle tab.
Disclaimer
This code is WIP and as such should be used with extreme caution on non-sensitive projects.
Installation
- Place
bpy_specklefolder in youraddonsfolder. On Windows this is typically%APPDATA%/Blender Foundation/Blender/2.80/scripts/addons. - Go to
Edit->Preferences(Ctrl + Alt + U) - Go to the
Add-onstab - Find and enable
SpeckleBlender 2.0in theScenecategory. - The Speckle UI can be found in the 3d viewport toolbar (N), under the
Speckletab.
Usage
- 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
Userspanel. This will populate theStreamslist with available streams for the selected user. - Select a branch and commit from the dropdown menus.
- Click on
Receiveto download the objects from the selected stream, branch, and commit. The stream objects will be loaded into a Blender Collection, named<STREAM_NAME> [ <STREAM_BRANCH> @ <BRANCH_COMMIT> ]. - Click on
View stream data (API)to view the stream in your web browser.
Caveats
- Mesh objects are supported. Breps are imported as meshes using their
displayValuedata. - Curves have limited support:
Polylinesare supported;NurbsCurvesare supported, though they are not guaranteed to look the same;Linesare supported;Arcsare not supported, though they are very roughly approximated;PolyCurvesare supported for linear / polyline segments and very approximate arc segments. These conversions are a point of focus for further development.
Custom properties
- SpeckleBlender will look for a
texture_coordinatesproperty and use that to create a UV layer for the imported object. These texture coordinates are a space-separated list of floats ([u v u v u v etc...]) that is encoded as a base64 blob. This is subject to change as SpeckleBlender develops. - If a
materialproperty is found, SpeckleBlender will create a material named using the sub-propertymaterial.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. - Vertex colors are supported. The
colorslist from Speckle meshes is translated to a vertex color layer. - 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 topropA.propB.propC = 10andpropA.propB.propD = "foobar".
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
SpeckleBlender is written and maintained by Tom Svilans (Github).