BILD is a simple text format that describes lines, polygons, and simple shapes
such as spheres, boxes, cylinders, and cones
(see example.bild and
XYZ-axes.bild).
The objects can be specified in absolute coordinates and/or
transformed and scaled coordinates.
This input format is indicated by the filename suffix **.bild**
or **.bld**, or with the **format bild** option in the
**open** command.
For geometric objects that can be used in
**distance** and
**angle** measurements,
see **define** instead.
See also:
**shape**,
**struts**,
**measure inertia**,
3D object formats

Curved objects (spheres, cones, and cylinders) read from BILD format are displayed within ChimeraX using planar facets. Lines are implemented as very thin cylinders (radius 0.08).

Square brackets denote optional parameters.

.arrowx1 y1 z1 x2 y2 z2[r1[r2[rho]]]

Draw an arrow from (x1, y1, z1) to (x2, y2, z2). An arrow consists of a cylinder stretching from the initial point to an intermediary junction, and a cone stretching from the junction to the final point. The radius of the cylinder isr1(default0.1), the radius of the base of the cone isr2(default 4*r1), and the fraction of the total distance taken up by the cylinder isrho(default0.75).

.associateatom-spec

Specify one or more atoms to associate with subsequently defined items (geometric objects) for purposes of selection. In other words, selecting the atoms will select the object(s) andvice versa. Selecting only a subset of the associated atoms, however, will not automatically select an object. Multiple objects associated with the same set of atoms can only be selected collectively, not individually. Using.associatewith a blank specification indicates that subsequently defined objects should not be associated with any atoms.

.boxx1 y1 z1 x2 y2 z2

Draw a box with opposite corners at (x1, y1, z1) and (x2, y2, z2).

.colorname

or

.colorr g b

Set the color of subsequently defined items. Thenamecan be a built-in name, a name defined previously withcolor name, or an integer that refers to the old BILD color wheel (0-65, inclusive). Alternatively, a color can be described by its red (r), green (g), and blue (b) components, each in the range 0-1, inclusive. Any transparency in the color is ignored, but transparency can be set separately.

.commenttext

User comment line (ignored during object creation). See also.note.

.conex1 y1 z1 x2 y2 z2 r[open]

Draw a cone with a base of radiusrcentered at (x1, y1, z1) and a tip at (x2, y2, z2). If the keywordopenis present, the base of the cone will be invisible.

.cylinderx1 y1 z1 x2 y2 z2 r[open]

Draw a cylinder with radiusrand bases centered at (x1, y1, z1) and (x2, y2, z2). If the keywordopenis present, the bases of the cylinder will be invisible.

.dotatx y z

or

.dotx y z

Draw a sphere of unit radius centered at (x, y, z). The sphere center is treated as a vertex if there is a subsequent.draw,.drawrel, or.moverelcommand.

.drawx y z

or

.dx y z

Add another vertex to the current set of line segments. A line will be drawn from the previous vertex to this vertex at (x, y, z). There should be a prior.move,.moverel,.dotat, or.markercommand (these initiate sets of line segments).

.drawreldx dy dz

or

.drdx dy dz

Add another vertex to the current set of line segments. A line will be drawn from the previous vertex at (x, y, z) to this vertex at (x+dx,y+dy,z+dz).

.markerx y z

Draw a box of unit cubic diagonal centered at (x, y, z),i.e., a box with opposite corners at (x– 0.5,y– 0.5,z– 0.5) and (x+ 0.5,y+ 0.5,z+ 0.5). The box center is treated as a vertex if there is a subsequent.draw,.drawrel, or.moverelcommand.

.movex y z

or

.mx y z

Start a new set of line segments whose first vertex is at (x, y, z).

.movereldx dy dz

or

.mrdx dy dz

Start a new set of line segments whose first vertex is at (x+dz,y+dy,z+dz), where (x, y, z) is the coordinate of the last vertex defined.

.notetext

Balloon label (to appear upon mouseover) for subsequently defined items, instead of the generic “object N: object_type” information that would otherwise appear. Using.notewithout any text restores the default behavior for subsequently defined items. See also.comment.

.polygonx1 y1 z1 x2 y2 z2 ... xN yN zN

Draw a flat polygon with vertices at (x1, y1, z1), (x2, y2, z2), ..., (xN, yN, zN).

.pop

Discard the most recent transformation (rotation, scaling, or translation) from the transformation stack.

.rotateangle axis

or

.rotangle axis

Rotate all subsequent coordinates byangledegrees about the givenaxis. Theaxiscan be given as a single letter (x,y, orz) or as three numbers defining an arbitrary vector:x_{a}y_{a}z. This transformation is added to the top of the transformation stack._{a}

.scalexscale[yscale[zscale]]

Scale all subsequent coordinates by the given factor(s). The x coordinates will be scaled byxscale, y coordinates byyscale(equal toxscaleby default), and z coordinates byzscale(equal toxscaleby default). This transformation is added to the top of the transformation stack.

.spherex y z r

Draw a sphere centered at (x, y, z) with radiusr.

.translatedx dy dz

or

.trandx dy dz

Translate all subsequent coordinates by the specified amount. This transformation is added to the top of the transformation stack.

.transparencyvalue

Set the transparency of subsequently defined items. Thevaluecan range from 0.0 (not transparent) to 1.0 (completely transparent).

.vectorx1 y1 z1 x2 y2 z2

or

.vx1 y1 z1 x2 y2 z2

Draw a line segment from (x1, y1, z1) to (x2, y2, z2). This command is a shorthand for.mx1 y1 z1

.dx2 y2 z2

UCSF Resource for Biocomputing, Visualization, and Informatics / November 2021