Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
JR-Morgan committed Oct 26, 2023
1 parent c97433b commit c6f2e2c
Showing 1 changed file with 10 additions and 45 deletions.
55 changes: 10 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,25 @@
# Speckle Automate function template - Python
# Blender <> Automate


This is a template repository for a Speckle Automate functions written in python
using the [specklepy](https://pypi.org/project/specklepy/) SDK to interact with Speckle data.
Speckle Automate unlocks new potentials for running Blender in the cloud.

This template contains the full scaffolding required to publish a function to the automate environment.
Also has some sane defaults for a development environment setups.

## Getting started

1. Use this template repository to create a new repository in your own / organization's profile.

Register the function

### Add new dependencies

To add new python package dependencies to the project, use:
`$ poetry add pandas`

### Change launch variables

describe how the launch.json should be edited

### Github Codespaces

create new repo from template, and use the create new code


### Local dev environment




# Archive

This is a simple example of how to use the Speckle Automate Python package to automate the creation of a Speckle stream.
This function uses Blender's redering engine *Cycles* this automate function produces global illumation renders for each 3d view/camera in your versioned Speckle data.


## Using this Speckle Function

1. [Create](https://automate.speckle.dev/) a new Speckle Automation.
1. Select your Speckle Project and Speckle Model.
1. Select the existing Speckle Function named [`Random comment on IFC beam`](https://automate.speckle.dev/functions/e110be8fad).
1. Enter a phrase to use in the comment.
1. Select the existing Speckle Function named [`Rblender-automate`](https://automate.speckle.dev/functions/fe6015a999).
1. Click `Create Automation`.

## Getting Started with creating your own Speckle Function

1. [Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repository.
1. [Clone](https://docs.github.com/en/get-started/quickstart/fork-a-repo#cloning-your-forked-repository) your forked repository to your development environment, or use [GitHub CodeSpaces](https://github.com/features/codespaces).
1. [Register](https://automate.speckle.dev/) your Function with [Speckle Automate](https://automate.speckle.dev/).
1. After completing the registration of the Function you will be shown a Function Publish Token and a Function ID. You will need these later.
1. Save your Function Publish Token as a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) named `SPECKLE_AUTOMATE_FUNCTION_PUBLISH_TOKEN`.
1. Save your Function ID as a [GitHub Action Secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) named `SPECKLE_AUTOMATE_FUNCTION_ID`.
1. Make changes to your Function in `main.py`. See below for the Developer Requirements, and instructions on how to test.
1. Every commit to `main` branch will create a new version of your Speckle Function.
## Repostructure

The function entry point is `main.py` following the structure of the [speckle_automate_python_example](https://github.com/specklesystems/speckle_automate_python_example)
The function serializes an `automate_data.json` file with the required data to receive the Speckle data within a Blender subprocess running the Speckle Blender connector.
`speckle_import.py` runs within the Blender context, receiving speckle data, applying material styalisation, replacing Speckle Rooms with point lights, and rendering each camera to the `./Screenshots` folder. Automate will then pickup and attach these renders as blobs to the automate result.


## Developer Requirements

Expand Down

0 comments on commit c6f2e2c

Please sign in to comment.