In [109]:
Copied!
import bpy
print("Blender version:", bpy.app.version_string) # current blender version
import importlib.metadata
print("Databpy version:", importlib.metadata.version("databpy"))
import bpy
print("Blender version:", bpy.app.version_string) # current blender version
import importlib.metadata
print("Databpy version:", importlib.metadata.version("databpy"))
Blender version: 4.4.3 Databpy version: 0.0.18
In [110]:
Copied!
import numpy as np
import databpy as db
vertex = np.array([[0, 0, 0]])
obj = db.create_bob(vertex, name="Mesh1")
obj.name
import numpy as np
import databpy as db
vertex = np.array([[0, 0, 0]])
obj = db.create_bob(vertex, name="Mesh1")
obj.name
Out[110]:
'Mesh1'
In [111]:
Copied!
obj.position
obj.position
Out[111]:
array([[0., 0., 0.]])
In [112]:
Copied!
import numpy as np
import databpy as db
coords = np.random.rand(20, 3)
obj = db.create_bob(coords, name="Mesh2")
obj.name
import numpy as np
import databpy as db
coords = np.random.rand(20, 3)
obj = db.create_bob(coords, name="Mesh2")
obj.name
Out[112]:
'Mesh2'
In [113]:
Copied!
obj.position[:3] # first three
obj.position[:3] # first three
Out[113]:
array([[0.85635167, 0.50563103, 0.94801462], [0.98673707, 0.94620389, 0.14079188], [0.40638462, 0.20826402, 0.07702765]])
In [114]:
Copied!
%%time
import numpy as np
import databpy as db
# Generate 2 million random 3D points
coords = np.random.rand(2_000_000, 3)
# Create a mesh object using databpy
obj = db.create_bob(coords, name="Mesh2M")
print(obj.name)
%%time
import numpy as np
import databpy as db
# Generate 2 million random 3D points
coords = np.random.rand(2_000_000, 3)
# Create a mesh object using databpy
obj = db.create_bob(coords, name="Mesh2M")
print(obj.name)
Mesh2M CPU times: user 711 ms, sys: 44.5 ms, total: 755 ms Wall time: 760 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/
In [115]:
Copied!
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"Intensity": [10, 20],
}
)
bob = polars_df_to_bob(df, name="MeshInt")
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"Intensity": [10, 20],
}
)
bob = polars_df_to_bob(df, name="MeshInt")
In [116]:
Copied!
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"opacity": [0.34, 0.92],
}
)
bob = polars_df_to_bob(df, name="MeshFloat")
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"opacity": [0.34, 0.92],
}
)
bob = polars_df_to_bob(df, name="MeshFloat")
In [117]:
Copied!
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"Is_Visible": [True, False],
}
)
bob = polars_df_to_bob(df, name="MeshBool")
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame(
{
"Is_Visible": [True, False],
}
)
bob = polars_df_to_bob(df, name="MeshBool")
In [118]:
Copied!
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"Star": [
[3.4, 3.5, 0.0],
[3.1, 5.6, 0.0]
]
})
obj = polars_df_to_bob(df, name="MeshVector")
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"Star": [
[3.4, 3.5, 0.0],
[3.1, 5.6, 0.0]
]
})
obj = polars_df_to_bob(df, name="MeshVector")
In [119]:
Copied!
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"String": ["Hello", "World"],
})
# Stings are not supported
obj = polars_df_to_bob(df, name="MeshVector")
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"String": ["Hello", "World"],
})
# Stings are not supported
obj = polars_df_to_bob(df, name="MeshVector")
In [120]:
Copied!
# all together
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"Intensity": [10, 20],
"opacity": [0.34, 0.92],
"Is_Visible": [True, False],
"Star": [
[3.4, 3.5, 0.0],
[3.1, 5.6, 0.0]
]
})
obj = polars_df_to_bob(df, name="MeshVector")
# all together
import numpy as np
import polars as pl
from csv_importer.parsers import polars_df_to_bob
df = pl.DataFrame({
"Intensity": [10, 20],
"opacity": [0.34, 0.92],
"Is_Visible": [True, False],
"Star": [
[3.4, 3.5, 0.0],
[3.1, 5.6, 0.0]
]
})
obj = polars_df_to_bob(df, name="MeshVector")
In [123]:
Copied!
from pathlib import Path
from csv_importer.csv import load_csv
csv_path = Path.home() / "projects" / "blender_csv_import" / "docs" / "sample_datasets" / "data_california_housing_normalized.csv"
# `load_csv` is like `like polars_df_to_bob`, but with a csv path input
obj = load_csv(csv_path)
print(obj.name)
from pathlib import Path
from csv_importer.csv import load_csv
csv_path = Path.home() / "projects" / "blender_csv_import" / "docs" / "sample_datasets" / "data_california_housing_normalized.csv"
# `load_csv` is like `like polars_df_to_bob`, but with a csv path input
obj = load_csv(csv_path)
print(obj.name)
CSV_data_california_housing_normalized
In [ ]:
Copied!