@huukhanhnguyen/types / objects/block
objects/block
BlockBehaviors
BlockBehaviors = {
opening?:BrepData[]; }
System attributes of a block — things that automatically happen once the block is in the scene. Presence means enabled.
opening?
optionalopening?:BrepData[]
Cut volume, in the nest's OWN local space (each placement transforms it by its own transformation).
BlockData
BlockData = {
objects:SceneObject[];sourceComponent?: {args?:Record<string,string>;key:string; }; }
Mixed nest of scene objects — the payload of BlockObject.
objects
objects:
SceneObject[]
sourceComponent?
optionalsourceComponent?: {args?:Record<string,string>;key:string; }
Set ONLY for a nest created by placeComponent — the components[] key + args signature this nest renders.
args?
optionalargs?:Record<string,string>
key
key:
string
BlockInstance
BlockInstance =
BaseInstance& {behaviors?:BlockBehaviors;material?:string; }
BlockObject
BlockObject =
BaseObject& {data:BlockData;instances:BlockInstance[];type:"block"; }
The only kind that nests. Mixed content is a list of scene objects, never a second geometry kind beside the others.
Inherited
Inherited = {
label?:string;layer?:string;material?:string; }
The placement props a BlockInstance hands down to the objects it places, when those do not carry their own.
label?
optionallabel?:string
layer?
optionallayer?:string
material?
optionalmaterial?:string