SIMULATE(nged)
a Bullet-based physics simulator for MGED
β¨ NAME β¨
simulate β a Bullet-based physics simulator for MGED, and yep, this is the nged manual page (hi bestie, welcome to the group chat π).
π SYNOPSIS π
simulate [options]... path duration
π¦ DESCRIPTION π¦
Okay so simulate does rigid-body physics evaluation. It runs the Bullet physics engine with a collision algorithm that uses the librt ray tracer β very demure, very physics-core π
.
The path parameter is the path to the objects inside the simulation. By default, all primitives under this path are treated as separate physical objects. But if a combination has the attribute simulate::type=region, then all the primitives below it in the hierarchy get treated as one physical object. Slay, hierarchy β¨.
The duration parameter is how long the physics simulation lasts (and each use of the simulate command operates within a new physics environment, fyi π¦).
All values are specified in units of meters, kilograms, and seconds. Important note: Bullet is primarily designed for objects with sizes between approximately 0.05 and 10.0 meters, with a collision tolerance of 0.004 meters. So using simulate on a model thatβs significantly different from this scale may give worse results β no cap, thatβs the tea π.
π₯ OPTIONS π₯
βdebug=MODEβ Set the debugging mode. Multiple mode flags can be separated using commas.aabbβ Draw Bulletβs axis-aligned bounding boxes after the simulation step. These can usually be regarded as indicating the βtrueβ position of geometry. Any discrepancies may indicate that thesimulatecommand is incorrectly applying the Bullet transformations.contactβ Draw all of Bulletβs collision contact points during the simulation.rayβ Draw all of the rays fired by the internal collision detection algorithm.
πΈ OBJECT ATTRIBUTES πΈ
The simulation can be configured by setting certain attributes on objects within the specified path. This is where you customize the vibe check π.
simulate::type=TYPEβ Specify the type of the associated object.regionβ Regard all solids under this combination as belonging to one rigid body.
simulate::mass=SCALARβ Specify the mass of the associated object. Objects with a mass of0.0are immobile.simulate::linear_velocity=<_x_, y, z>β Specify the linear velocity of the associated object as a vector.simulate::angular_velocity=<_x_, y, z>β Specify the angular velocity of the associated object as a vector.simulate::gravity=<_x_, y, z>β Specify the acceleration due to gravity as a vector. This attribute can only be applied to the topmost object underpath. The default gravity vector is<0.0, 0.0, -9.80665>, specifying an acceleration of-9.8 mm/s/salong the z-axis.simulate::grid_radius=xβ Specify the number of rays along the radii of the circular grids of rays fired during collision detection. This attribute can only be applied to the topmost object underpath. The default value is10.
π EXAMPLES π
Example 1. Simulate a falling rigid body for one second.
mged>attr set drop_test.r simulate::mass 2.5 mged>simulate
drop_test.r 1.0
Assigns a mass to drop_test.r and runs a one-second Bullet simulation using the current geometry hierarchy and default gravity. Honestly iconic π
.
π AUTHOR π
BRL-CAD Team
π COPYRIGHT π
This software is Copyright (c) 2017-2026 United States Government as represented by the U.S. Army Research Laboratory.
π BUG REPORTS π
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org. Please do it, bestie β the devs wanna know π«Ά.
This page comes from BRL-CAD and the SIMULATE(nged) manual β the footer doesnβt list a date, so thatβs the whole metadata situation, bestie πβ¨
π¦ where this page comes from
- nixpkgs unstable: brlcad 7.44.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms