import importlib.metadataimport sysfrom pathlib import Pathimport bpyimport databpy as dbimport numpy as npimport polars as pl# The kernel runs inside Blender (not in the notebook folder), so add the docs helpers to sys.pathsys.path.append(str(Path.home() /"projects/bpy-gallery/docs/utils"))from gallery_utils import ASSETSprint("Blender version:", bpy.app.version_string)print("Databpy version:", importlib.metadata.version("databpy"))
%%time# Generate 2 million random 3D pointscoords = np.random.rand(2_000_000, 3)# Create a mesh object using databpyobj = db.create_bob(coords, name="Mesh2M")print(obj.name)
Mesh2M
CPU times: user 28.6 ms, sys: 3.54 ms, total: 32.2 ms
Wall time: 32.2 ms
Setting Attributes
To run the code below, first install the Blender extension from the following link: https://extensions.blender.org/add-ons/csv-importer/
# import only works when installed from the extension store, not when installed from local zip file.from bl_ext.blender_org.csv_importer.csv import load_csvfrom bl_ext.blender_org.csv_importer.parsers import polars_df_to_bobdf = pl.DataFrame( {"Intensity": [10, 20], })bob = polars_df_to_bob(df, name="MeshInt")