BILD is a simple text format that describes
lines, polygons, and geometric primitives such
as spheres, boxes, cylinders, and cones with commands
(see example.bild and
XYZ-axes.bild).
Character strings can also be included.
The commands are used to generate a VRML model in Chimera.
The objects can be specified in absolute coordinates and/or
transformed and scaled coordinates. See also:
**shape**,
**define**,
geometric objects,
Chimera_BILD
(a third-party plug-in for using BILD in the command line)

This file type is indicated by the filename suffix **.bild**
or **.bld**, or by using **bild: filename** in the command line.

Curved objects (spheres, cones, and cylinders) read from BILD format
are described as perfectly smooth in exported files,
but display within Chimera uses planar facets.
The number of facets and the apparent smoothness
can be increased by raising the **subdivision** level with the
**Effects** tool or
the **set** command.

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).

.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 withcolordef, 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.

.cmovx yz

Define the starting location of the next character string. Lines in the BILD file that donotstart with a period (.) are character strings to be displayed. See also.font.

.commenttext

User comment line (ignored during object creation).

.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).

.fontfontname pointsize[fontstyle]

Set the font, font size, and font style of subsequent character strings. Lines in the BILD file that donotstart with a period (.) are character strings to be displayed. Options forfontnameinclude:Times,Helvetica,Courier,SERIF,SANS,TYPEWRITER. Options forfontstyle:plain,bold,italic,bold italic. See also.cmov.

.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.

.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 Computer Graphics Laboratory / October 2013