Marking up drawings#
papermodels reads standard PDF annotations (or DXF entities, where the layer name plays the role of annotation text). Nothing about the drawing itself is read, only the markups you place on it.
Pages are planes#
Each page of the PDF is one plane of the structure, ordered from the lowest level first. Elements on one page transfer load to elements on the page below wherever their geometries overlap.
Several plans on one sheet#
If one sheet holds several plans, draw a page annotation (a rectangle with
the text page) around each plan, and an origin annotation (a small
rectangle with the text origin) at the same reference point on each plan,
such as the same grid intersection. Plans are ordered left to right, lowest
level on the left. Each virtual page is then treated exactly like a separate PDF
page, including how its elements are tagged.
Pages that your PDF software has rotated are un-rotated automatically.
Note
The word origin cannot appear in any other legend entry (in a Type, Rank or
Occupancy value).
The legend#
papermodels does not guess what a markup means. It matches each markup to a
legend entry: an annotation with the same appearance (line color, fill
color, line weight, dash pattern, opacity and shape) whose text starts with the
legend identifier (Legend by default). Legend entries need only appear on one
page of the document.
A legend entry’s text is a list of Key: Value lines:
Legend
Type: Floor Beam
Rank: 1
Keys are case-insensitive and spaces in them become underscores, so
Reaction Type becomes reaction_type. Any extra key you add is carried
through to the element.
Structural elements#
Structural elements need a Type and a Rank.
TypeA descriptive name. Its initials become the tag prefix, so
Floor Beam→FBandJoist→J.RankAn integer giving the element’s position in the load path. Lower ranks are supported by higher ranks, so joists might be rank 0, beams rank 1, and walls and columns a high rank such as 50. Elements only transfer load to elements of a higher rank.
Reaction Type(optional)Point(default) orLinear. This matters for polygons, which can represent both columns and walls. A column delivers a point load and a wall delivers a line load, and papermodels cannot tell which from an aspect ratio, so you state it.
Draw beams and joists as lines (single segments) and walls and columns as rectangles.
Legend Legend
Type: Column Type: Wall
Rank: 50 Rank: 50
Reaction Type: Linear
Loading areas#
A loading area is a polygon whose legend entry has an Occupancy field:
Legend
Occupancy: Residential
Loading areas can be any shape. Each one is intersected with the trib areas of the elements below it and converted into exact distributed loads with the load-distribution package.
Trib areas#
To give an element a tributary area by hand, rather than having one generated,
draw a polygon whose legend entry has Type: Trib Area and place it over the
element.
Warning
If an element with a hand-drawn trib area has nothing transferring load to it, it becomes a collector. Do not assign a collector behaviour to it, or the generated trib area will overwrite yours. See Example 6: User-drawn trib areas.
Joist prototypes, extents and containers#
A joist array is drawn as a single prototype joist. By default the array spans the region where all of the prototype’s supports exist. To control the extent, draw one of:
an extent line (
Typecontainingextent), which sets how far the array runs, with the prototype’s cantilevers held constant, ora joist container polygon (
Typecontainingcontainer), the outline the joists fill. Each joist is the container cut along its station line, so cantilevers and backspans can vary along the array.
See JoistArrayModel and the
Design notes notes for how stations are placed.