ComfyUI Node
BD CubePart Segment
Open-vocabulary part decomposition (Roblox CubePart): mesh + up to 8 part names -> one mesh per part.
BD CubePart Segment
- mesh
- parts
- combined
- part_names
◄partsbody, left wheel, right wheel►
◄seed0►
◄guidance_scale7.5►
◄num_inference_steps50►
◄resolution_base8.5►
◄schedulerdpm_solver►
◄timeshift4.0►
◄num_samples128000►
◄mesh_path►
◄auto_downloadtrue►
◄model_dir►
◄text_encoder_path►
Category🧠BrainDead/CubePart
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| parts | STRING | body, left wheel, right wheel | Up to 8 part names, comma- or newline-separated. Open vocabulary. Extra names past 8 are dropped (logged). |
| seed | INT | 00–2147483647 | Random seed for reproducibility. |
| guidance_scale | FLOAT | 7.50–20 | Classifier-free guidance strength. |
| num_inference_steps | INT | 501–200 | Diffusion denoising steps. |
| resolution_base | FLOAT | 8.56–10 | Marching-cubes grid resolution base (higher = finer, slower). |
| scheduler | COMBO | dpm_solver | Sampling scheduler. |
| timeshift | FLOAT | 4.01–10 | Flow-matching timestep shift. |
| num_samples | INT | 12800016000–256000 | Surface points sampled from the input mesh for encoding. |
| meshopt | TRIMESH | Input mesh from a BD mesh source. If unset, mesh_path is used. | |
| mesh_pathopt | STRING | Path to a .glb on disk. Used only when no `mesh` is wired. | |
| auto_downloadopt | BOOLEAN | true | Download missing weights from HF on first run (Roblox/cubepart, Qwen/Qwen3-VL-4B-Instruct). Off = error if not pre-downloaded. |
| model_diropt | STRING | Override the cubepart weights dir. Empty = auto-resolve via ComfyUI folder_paths / extra_model_paths.yaml ('cubepart' key, else models/cubepart). | |
| text_encoder_pathopt | STRING | Override the Qwen3-VL-4B-Instruct dir (loaded offline). Empty = auto-resolve under the LLM models folder. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| parts | TRIMESH_LIST | — |
| combined | TRIMESH | — |
| part_names | STRING | — |