A collection of helper functions and code used for speeding up Blender 3D Python script development.
Project description
Summary
A collection of helper functions and code used for speeding up Blender 3D Python script development.
Important: This package assumes you are using Blender's embedded Python interpreter.
Installation
Installation Walkthrough Video
YouTube: How to install the bpy Building Blocks Python package
From the command line via pip (into Blender's embedded Python interpreter)
on Windows
Important:
Make sure the site-packages
folder of Blender's embedded Python interpreter is writable
.
See video ^ if you are not sure how to do that
If you won't do this the package will be installed into another folder outside of Blender's embedded Python interpreter.
And you will see this warning: Defaulting to user installation because normal site-packages is not writeable
Run the pip install:
Blender <VERSION>/<VERSION>/python/bin/python.exe -m pip install bpy-building-blocks
Example:
> cd C:\Program Files\Blender Foundation\Blender 3.2\3.2\python\bin
> .\python.exe -m pip install bpy-building-blocks
on macOS
Important: Make sure pip is available.
Run ensurepip
/Applications/Blender.app/Contents/Resources/<VERSION>/python/bin/python -m ensurepip
Run the pip install:
/Applications/Blender.app/Contents/Resources/<VERSION>/python/bin/python -m pip install bpy-building-blocks
on Linux
Important: Make sure pip is available.
Run ensurepip
~/<INSTALL LOCATION OF BLENDER>/<VERSION>/python/bin/python -m ensurepip
Run the pip install:
~/<INSTALL LOCATION OF BLENDER>/<VERSION>/python/bin/python -m pip install bpy-building-blocks
Via Blender Add-on
bpy_building_blocks_addon on github
See video for details YouTube: How to install the bpy Building Blocks Python package
Package Contents
Utilities
- active_object() - Get a references to the currently active object
- clean_scene() - Removing all of the objects, collection, materials, particles, textures, images, curves, meshes, actions, nodes, and worlds from the scene; Checkout this video explanation with example "How to clean the scene with Python in Blender (with examples)"
- purge_orphans() - Remove all orphan data blocks; see this from more info: https://youtu.be/3rNqVPtbhzc?t=149
- editmode() - A context manager to get into and out of edit mode
- make_active(obj) - Make the passed in object active
- parent(child_obj, parent_obj, keep_transform=False) - Parent one object to another
- render_animation() - Renders the animation in the currently active scene
- render_image(write_still=False) - Renders the currently active scene
Color Utilities
- bpybb.color.convert_srgb_to_linear_rgb(srgb_color_component) - Converting from sRGB to Linear RGB based on sRGB to CIE XYZ
- bpybb.color.hex_color_to_rgb(hex_color) - Converting from a color in the form of a hex triplet string to a Linear RGB (Supports: "#RRGGBB" or "RRGGBB")
- bpybb.color.hex_color_to_rgba(hex_color, alpha=1.0) - Converting from a color in the form of a hex triplet string to a Linear RGB (Supports: "#RRGGBB" or "RRGGBB") with an Alpha value
Add-on Utilities
- bpybb.addon.enable_addon(addon_module_name) - enables a given addon; Checkout this video explanation with example "How to enable add-ons with Python in Blender (with examples)"
- bpybb.addon.enable_animation_animall() - enable Animall addon
- bpybb.addon.enable_ant_landscape() - enable ANT Landscape addon
- bpybb.addon.enable_extra_curves() - enable Add Curve Extra Objects addon
- bpybb.addon.enable_extra_meshes() - enable Add Mesh Extra Objects addon
- bpybb.addon.enable_import_images_as_planes() - enable Images as Planes addon
- bpybb.addon.enable_mod_tools() - enable Modifier Tools addon
- bpybb.addon.enable_pointcache_pc2() - enable Pointcache (pc2) addon
Collection Utilities
- bpybb.collection.create_collection(col_name) - creates a Blender Scene Collection
HDRI Utilities
- bpybb.hdri.apply_hdri(path_to_image, bg_color, hdri_light_strength, bg_strength) - creates a HDRI setup based on a technique from a FlippedNormals tutorial
Material Utilities
- bpybb.material.apply_material(material) - apply a material to the currently active object.
- bpybb.material.make_color_ramp_from_color_list(colors, color_ramp_node) - creates new sliders on a Color Ramp Node and applies the list of colors on each slider
Mesh Utilities
- bpybb.mesh.get_vert_coordinates_list(obj) - get a list of vertex coordinates for a given object
Random Utilities
- bpybb.random.time_seed() - Sets the random seed based on the time and copies the seed into the clipboard
Object Utilities
- bpybb.object.add_empty(name=None) - Add an Empty object into the scene
- bpybb.object.apply_location() - Applies the location of the current object
- bpybb.object.track_empty(obj) - Adds an Empty object and adds a To Track Constraint on the passed in object to track the Empty
Output Utilities
- bpybb.output.set_1080p_render_res() - Set the resolution of the rendered image to 1080p
- bpybb.output.set_1080px_square_render_res() - Set the resolution of the rendered image to 1080 by 1080 pixels
- bpybb.output.set_1440px_square_render_res() - Set the resolution of the rendered image to 1440 by 1440 pixels
- bpybb.output.set_2048px_square_render_res() - Set the resolution of the rendered image to 2048 by 2048 pixels
- bpybb.output.set_2k_render_res() - Set the resolution of the rendered image to 2K
- bpybb.output.set_4096px_square_render_res() - Set the resolution of the rendered image to 4096 by 4096 pixels
- bpybb.output.set_4k_render_res() - Set the resolution of the rendered image to 4K
- bpybb.output.set_720px_square_render_res() - Set the resolution of the rendered image to 720 by 720 pixels
- bpybb.output.set_instagram_portrait_render_res() - Set the resolution of the rendered image to 1080x1350
- bpybb.output.set_instagram_square_render_res() - Set the resolution of the rendered image to 1080x1080
- bpybb.output.set_square_render_res(pixels) - Set the resolution of the rendered image to a square
- bpybb.output.set_twitter_landscape_render_res() - Set the resolution of the rendered image to 1280x720 from Twitter's Media Best Practices ref: https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/uploading-media/media-best-practices
- bpybb.output.set_twitter_square_render_res() - Set the resolution of the rendered image to 720x720 from Twitter's Media Best Practices ref: https://developer.twitter.com/en/docs/twitter-api/v1/media/upload-media/uploading-media/media-best-practices
- bpybb.output.set_wqhd_render_res() - Set the resolution of the rendered image to 2560x1440 (QHD)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for bpy_building_blocks-0.0.21.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74d84d6893fb5388a5deede1c70e0bdecc64262036087d25697801c8cfcf4f31 |
|
MD5 | 4d29f8e6bb0204971fea8da6c3b405bb |
|
BLAKE2b-256 | 4b35a01f9b72566393298c2ae731ff999020f6e9448b3fbcb78f13cd193cc56d |
Hashes for bpy_building_blocks-0.0.21-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34bf28bb4ce9ca58ccdf208f33a9e317459a64911b8aa6ab90a389bd2ad68019 |
|
MD5 | 79242ae04117e250dad743ad1a9ed5b2 |
|
BLAKE2b-256 | d86c47d785402e0c964d03edaa69187363d89d40ff70a4eff6e1f4ca7dbd7418 |