volume_builder_add_object¶
Creates a volume builder and adds a cube object to it. Configures cube’s object settings.
volume_builder_add_object.py¶
"""Creates a volume builder and adds a cube object to it. Configures cube's object settings.
Topics:
* c4d.Ovolumebuilder
* c4d.modules.volume.VolumeBuilder
"""
__author__ = "Maxime Adam"
__copyright__ = "Copyright (C) 2026 MAXON Computer GmbH"
__license__ = "Apache-2.0 License"
__version__ = "R20"
import c4d
def main():
# Creates volume builder object
volumeBuilder = c4d.BaseObject(c4d.Ovolumebuilder)
if volumeBuilder is None:
raise Exception('Could not create Volume Builder object')
# Inserts volume builder into the active document
doc.InsertObject(volumeBuilder, None, None)
doc.SetActiveObject(volumeBuilder)
# Creates a cube object
cube = c4d.BaseObject(c4d.Ocube)
if cube is None:
raise Exception('Could not create cube object')
# Inserts cube into the active document
doc.InsertObject(cube, None, None)
# Adds cube object to the volume builder
ret = volumeBuilder.AddSceneObject(cube)
if not ret:
raise Exception('Could not add scene object')
# Retrieves cube's volume builder settings container
settings = volumeBuilder.GetSettingsContainerForObject(cube)
if settings is None:
raise Exception('Could not access settings')
# Configures cube's settings
settings[c4d.ID_VOLUMEBUILDER_TAG_USEPOINTS] = True
settings[c4d.ID_VOLUMEBUILDER_TAG_MESHRADIUS] = 10.0
# Pushes an update event to Cinema 4D
c4d.EventAdd()
if __name__ == '__main__':
main()