
As a convention, the C++/python class name for an API schema must end with "API". Since it cannot provide a typeName, an API schema is considered to be non-concrete. The prim's qualities include its inheritance structure, attributes, relationships etc.

API schema - An API schema provides an interface to a prim's qualities, but does not specify a typeName for the underlying prim.UsdGeomScope is an example of a concrete, typed IsA schema.

UsdGeomImageable is an example of a non-concrete IsA schema. A non-concrete (abstract) IsA schema provides only a name for the schema, and hence cannot be instantiated non-concrete schemas exist to serve as super-classes for related sets of concrete IsA schemas. An IsA schema will be concrete (or instantiable) if its schema declaration provides both a name for the schema (in quotes) and a typeName in the da file in which it is defined. Furthermore, an IsA schema can be concrete or non-concrete. Every IsA schema must derive from the core class UsdTyped, which is the base class for all typed schemas. IsA schema - An IsA schema can impart a typeName to a prim in addition to providing an interface to a prim's qualities.Schema classes are classified into the following two types: There are other schemas in USD/pxr/usd/lib/usd under usdGeom, usdRi, usdShade and more! Types of Schema Classes

are examples of schema classes generated using the script. UsdModelAPI, UsdGeomImageable, UsdGeomMesh etc. For more info on the script and all of the options it provides see the references section below.
#Pxr surface renderman tutorial generator#
USD provides a code generator script called 'usdGenSchema' for creating new schema classes.
