Skip to main content

Behaviors

Collisions​

Definitions​

The collision between two objects is generally defined as the object bounding boxes intersecting each other.

Thus placing a book on the middle shelf of a bookshelf is a collision, because collision ignores the actual 3D mesh.

More information on the concept of bounding box can be found here : https://en.wikipedia.org/wiki/Bounding_volume.

The bounding box of an assembly is the bounding box of the full combined geometry, unless one node within the assembly is tagged “collide”, in which case the bounding box of this node becomes the collide box of the global assembly. Usage examples include removing fronts and handles from a kitchen cabinet collide box.

collisions
In this example, the book is inside the bounding box of the shelf

Product-Product translate collision​

Translate collisions between products are generally permitted, but can be prevented through the collide product attribute, in the behaviors section.

Values :

  • Collide = 0 (yes) : collision permitted (default). Objects can be placed into each other : “soft objects”.
  • Collide = 1 (no) : collision forbidden : “hard objects”
Dragged objectCollided objectCollided object
–behavior.collide = 0behavior.collide = 1
behavior.collide = 0Collision permittedCollision permitted
behavior.collide = 1Collision permittedCollision is forbidden by the manipulator

Product-Product collision for other manipulators​

Collision is always permitted for other manipulators : rotate, elevate, and the measure command. However, a snap generally allows the placement of objects against each other if so desired.

Product-room collisions​

The management of collisions between products and walls, floors, openings, room objects is application-dependant.

targetPosition, defaultAltitude, manipMode, ungroupable, modular, replaceable​

These behaviors are application-dependent. For kitchen, they are described here.