  This article describes a volumetric approach for procedural shape modeling
and a new Procedural Shape Modeling Language (PSML) that facilitates the
specification of these models. PSML provides programmers the ability to
describe shapes in terms of their 3D elements where each element may be a
semantic group of 3D objects, e.g., a brick wall, or an indivisible object,
e.g., an individual brick. Modeling shapes in this manner facilitates the
creation of models that more closely approximate the organization and structure
of their real-world counterparts. As such, users may query these models for
volumetric information such as the number, position, orientation and volume of
3D elements which cannot be provided using surface based model-building
techniques. PSML also provides a number of new language-specific capabilities
that allow for a rich variety of context-sensitive behaviors and
post-processing functions. These capabilities include an object-oriented
approach for model design, methods for querying the model for component-based
information and the ability to access model elements and components to perform
Boolean operations on the model parts. PSML is open-source and includes freely
available tutorial videos, demonstration code and an integrated development
environment to support writing PSML programs.
