Professional Documents
Culture Documents
12. Sponsoring Agency Name and Address 13. Type of Report and Period Covered
Federal Highway Administration XXX
Office of Infrastructure Bridges and Structures
1200 New Jersey Ave., SE
Washington, DC 20590
19.Security Classif. (of this 20. Security Classif. (of this page) 21. No of Pages 22. Price
report) Unclassified 296 $XXX.XX
Unclassified
III
SI* (MODERN METRIC) CONVERSION FACTORS
APPROXIMATE CONVERSIONS TO SI UNITS
Symbol When You Know Multiply By To Find Symbol
LENGTH
in inches 25.4 millimeters mm
ft feet 0.305 meters m
yd yards 0.914 meters m
mi miles 1.61 kilometers km
AREA
2 2
in square inches 645.2 square millimeters mm
2 2
ft square feet 0.093 square meters m
2 2
yd square yard 0.836 square meters m
ac acres 0.405 hectares ha
2 2
mi square miles 2.59 square kilometers km
VOLUME
fl oz fluid ounces 29.57 milliliters mL
gal gallons 3.785 liters L
3 3
ft cubic feet 0.028 cubic meters m
3 3
yd cubic yards 0.765 cubic meters m
3
NOTE: volumes greater than 1000 L shall be shown in m
MASS
oz ounces 28.35 grams g
lb pounds 0.454 kilograms kg
T short tons (2000 lb) 0.907 megagrams (or "metric ton") Mg (or "t")
TEMPERATURE (exact degrees)
o o
F Fahrenheit 5 (F-32)/9 Celsius C
or (F-32)/1.8
ILLUMINATION
fc foot-candles 10.76 lux lx
2 2
fl foot-Lamberts 3.426 candela/m cd/m
FORCE and PRESSURE or STRESS
lbf poundforce 4.45 newtons N
2
lbf/in poundforce per square inch 6.89 kilopascals kPa
IV
Notice
This document is disseminated under the sponsorship of the U.S. Department of Transportation
in the interest of information exchange. The U.S. Government assumes no liability for the use of
the information contained in this document.
The U.S. Government does not endorse products or manufacturers. Trademarks or
manufacturers names appear in this report only because they are considered essential to the
objective of the document.
V
This page intentionally left blank.
Contents
Section Page
Contents ........................................................................................................................................ vii
VII
CONTENTS
Appendices
Table
Figures
1 OpenBrIM Concept ............................................................................................................ 3-1
2 Rectangular Footing Template View in OpenBrIM Library ..................................................... 3-3
3 Pier2Footing Shown in a Project ......................................................................................... 3-4
4 Pier2Footing Selected Inside Project ................................................................................... 3-5
5 OpenBrIM Opening Screen ................................................................................................. 4-1
6 Initial Registration Screen ................................................................................................... 4-2
7 OpenBrIM Library App Layout ............................................................................................. 4-3
8 Library Object Description .................................................................................................. 4-3
9 Library Object Parameters .................................................................................................. 4-4
10 XML Code .......................................................................................................................... 4-4
11 Hollow Box Beam Section ................................................................................................... 5-1
12 ParamML Code for Hollow Section Line Object .................................................................... 5-2
13 Line Object with Hollow Section ......................................................................................... 5-3
14 Surface Object for Bolted Gusset Plate ................................................................................ 5-4
15 ParamML Code for Bolted Gusset Plate Surface Object ........................................................ 5-5
16 Tapered Column Elevation Views ........................................................................................ 5-6
17 ParamML Code for Tapered Column Volume Object ............................................................ 5-6
18 Volume Object for Tapered Column .................................................................................... 5-7
19 Precast Girder Standard Drawing ........................................................................................ 5-8
20 Precast Girder Schedule ..................................................................................................... 5-9
21 Oregon Bulb-T Girder Object .............................................................................................. 5-9
22 Example Alignment .......................................................................................................... 5-11
23 Ramp 119 S-N Horizontal Alignment ................................................................................. 5-12
24 Ramp 119 S-N Horizontal Curve Data ................................................................................ 5-12
25 Ramp 119 S-N Horizontal Alignment in OpenBrIM ............................................................. 5-13
VIII
CONTENTS
IX
CONTENTS
X
Section 1 Executive Summary
Bridge Information Modeling (BrIM) has been slower to develop in the transportation infrastructure
industry than Building Information Modeling (BIM) has in the commercial sectors. This project was
undertaken to explore new methods for engineering bridges that take advantage of the rapid
advancements in computer information technology. As the business world progresses, there is more
emphasis on reducing paper documents, and replacing them with electronic formats.
Another goal of the project was to investigate ways to standardize information as it is passed between
the participants in bridge projects from initial project concept through to end of the useful service life.
There are many players involved and many transactions that take place during this life cycle. The end
goal is achieving interoperability between all of these entities with the least amount of data recreation
and ultimately advancing the bridge engineering practice.
Traditional BIM/BrIM modeling relies on the use of vendors proprietary software to create models in a
data format native to the application. For sharing data with other application platforms, organizations,
and users, a translation of the data via some type of agreed-upon standard is required. A standard file
system called Industry Foundation Classes (IFC) is used extensively in the building industry for
exchanging digital information, but that system hasnt been developed fully for bridges.
An alternative method for exchanging bridge information modeling data between different application
platforms, organizations, and users, is developed and documented as part of this work. Collectively it is
called openBrIM. It is a community driven, non-proprietary, open, on-cloud, parametric information
modeling system designed for the bridge industry. With OpenBrIM, ideally there would not be any file
exchange. Rather, theres one central data repository from which all participants operate. Participants
are allowed to access information from and to contribute information into the repository. The
OpenBriM community manages libraries, enforces security, assures integrity, and promotes
collaboration.
For this project, we have developed approximately 30 standard bridge component objects and
incorporated them into openBrIM. OpenBrIM definitions use a standard XML data format to describe
dimensions and other data parameters for bridge engineering information. Bridge component library
objects are defined parametrically, allowing repeated use for similar components by varying the
geometric and/or physical property data. Common data can be defined globally within a project and
automatically update all affected objects. In the future, new objects, materials, relationships, etc. will be
developed by the bridge community the actual users of the information with the most knowledge
about various bridge components.
OpenBrIM offers complete independence from any local software installation with free web-based
modeling and visualization tools. The program gains enormous flexibility by providing information
through the internationally accepted XML standard, requiring only minimal hardware resources with a
web browser connected to the internet. For example, a conference room computer could quickly access
a model during a meeting, or an inspector could verify a bridge component in the field with their tablet
or smartphone.
The ability to review, manipulate, and build models in OpenBrIM without having any knowledge of
programming or ability to read computer code will significantly facilitate adoption of this as standard
practice by the broader bridge design and construction community.
OpenBrIM is a more holistic, all-encompassing, adaptable approach that merits attention by the bridge
engineering community.
1-1
This page intentionally left blank.
Section 2 Introduction
The research work described herein was performed under the FHWA Cooperative Agreement project
DTFH61-11-H-00027 led by Lehigh University, Advancing Steel and Concrete Bridge Technology to
Improve Infrastructure Performance. This specific assignment was performed by CH2M as Task 12b,
Technical Review and Industry Outreach for Bridge Information Modeling (BrIM) Standards.
2-1
SECTION 2 INTRODUCTION
2-2
SECTION 2 INTRODUCTION
Shear Stud
Strands
Bearing
Pedestal
Hammer Head Pier
Multi-column Pier
Pile
Abutment U
Integral Pile Abutment
Longitudinal Rebar
Transverse Rebar
Web Connecting Plate (splice)
Flange Connecting Plate (splice)
Bolt
The intent of the review was to determine whether the bridge components were defined correctly, used
terminology common to the bridge community, and could be used to develop a robust set of standards
for use in BrIM models.
The second major work item was to develop documentation for standard bridge component templates.
The documentation of a typical component template would be comprised of:
A one page graphic representation of the component, with all variable dimensions defined. The
graphic would include a plan view, elevation view, section view, and/or 3-D isometric view, as
necessary to define the object. The base reference point for the object will be identified.
An .xml file with the translation coding of the object. Variable names will match those on the
graphic.
A definition of how the object is used in the data schema.
The last major work item was to develop and deliver an industry outreach program with the goal of
promoting the concept of BrIM and exchange information with the bridge engineering practice through
webinars and workshops.
2.1.2.2 Modified
As work commenced, some new developments took place that would impact the original scope of work.
It was determined that the example bridge models were not available electronically, many of the
components were not defined with variable parameters but with constant values, and the bridge
models were not broken down into individual objects that could be readily turned into standards. Red
Equation Corporation issued version 3 of the OpenBrIM application that had been used by SUNY Buffalo
as the viewing/modeling demonstration program. Versions 1 and 2 were both local installations on
users computers. Version 3 is cloud based and has significantly more features than its predecessors,
including an additional library app that is used to develop individual bridge component standards. The
file format used for versions 1 and 2 was XML. Version 3 introduced ParamML, a variation of XML with a
modified syntax for defining objects. While versions 1 and 2 were based on parametric modeling,
version 3 added onto that concept by introducing how component standards can be developed and
2-3
SECTION 2 INTRODUCTION
assembled in a collaborative manner to create a bridge model. It was determined that more and better
standards could be developed using Version 3. This resulted in less checking of the bridge models
created by SUNY Buffalo, and more development of individual standardized library component objects.
The documentation of the standard library objects and the industry outreach program were still
performed as originally planned.
2-4
SECTION 2 INTRODUCTION
years. The basic concept behind the NIBS project is that software vendors develop their programs to
read and write standard translation files in the IFC format facilitating transfer of data to and from their
application. This approach is quite different from the OpenBrIM approach discussed in Section 2 of this
document. It is quite possible that the bridge engineering industry may have need of both: a well-
defined standard exchange format such as IFC and a fully flexible approach such as openBrIM.
2-5
This page intentionally left blank.
Section 3 OpenBrIM Concept
3.1 Overview
Traditional BIM/BrIM modeling relies on the use of vendors proprietary software to create models in a
data format native to the application. For sharing data with other application platforms, organizations,
and users, a translation of the data is required. In the building industry, this translation is generally done
using the IFC standard previously mentioned in Section 2.1.3. Therefore the applications native data
format must be translated into the IFC format by creating a separate file. The file becomes the medium
for sharing the data with others. Each time data is shared between different entities, a file is created to
complete the transaction. While this is not the only way the system can work, it is the predominant way
that it is currently being employed.
OpenBrIM is an alternative method for exchanging bridge information modeling data between different
application platforms, organizations, and users. It is a community driven, free, open, on-cloud
information modeling system designed for the bridge industry. With OpenBrIM, there is no file
exchange. Theres one central data repository from which all participants operate (see Figure 1).
Participants are allowed to access information from and to contribute information into the repository.
OpenBriM manages data, enforces security, assures integrity, and promotes collaboration.
An informational video describing the process can be found on the OpenBrIM web page:
https://www.openbrim.org/www/brim/
It is also accessible through the following link:
https://youtu.be/B6tXSv3BrSE
3-1
SECTION 3 OPENBRIM CONCEPT
3-2
SECTION 3 OPENBRIM CONCEPT
In its simplest form, OpenBrIM data used to describe a bridge component consists of an object with an
easily recognized name. All of the parameters used to describe the object also have easily recognized
names. The 3D representation of the rectangular footing example shown in Figure 2, is completely
defined with the following data definition:
<O N="RectangularFooting" T="Project">
<P N="Length" V="120" D="Footing Length (Along Bridge Alignment)" />
<P N="Width" V="192" D="Footing Width (Transverse to Bridge Alignment)" />
<P N="Depth" V="48" D="Footing Depth" />
<P N=FootingConcrete V=Concrete fc 4 ksi T=Material />
</O>
There are additional lines of code in the template file required to create the graphical representation of
the footing in the OpenBrIM application, and these features will be defined further in subsequent
sections of the report. For other software applications, it is up to the developer to create the graphical
representation of the component based only on the data defined. In describing the overall OpenBrIM
3-3
SECTION 3 OPENBRIM CONCEPT
concept, the important point is that a small number of parameters with logical names can be used to
describe a bridge component.
The object definition line for the rectangular footing example has both a name and type attribute. The
type attribute, T=Project, is used as the first line of any template file. There is only one object with the
project designation type allowed in any template file. However, a full bridge project model file can
reference multiple component object templates, simply by using an object tag with the type attribute
set to the name attribute of the component object.
<O N=Pier2Footing T="RectangularFooting">
<P N="Length" V="84" D="Footing Length (Along Bridge Alignment)" />
<P N="Width" V="246" D="Footing Width (Transverse to Bridge Alignment)" />
<P N="Depth" V="48" D="Footing Depth" />
<P N=FootingConcrete V=Concrete fc 4 ksi T=Material />
</O>
Note that the three parameters used to describe the footing dimensions have different values than
those from the template file. When referencing a component object from a project file, the values of the
parameters from the project file override those in the component template. While the dimensions are
not visible in the graphical project view (see Figure 3), they are visible in the parameter window on the
right hand side of the figure.
When an object is selected by clicking on it in the project window, it is highlighted in red, and the
dimensions from the library are displayed on the view (see Figure 4).
3-4
SECTION 3 OPENBRIM CONCEPT
While the previous example is for a simple object, it demonstrates how the process is intended to work.
The more complex the component, the more data parameters required to properly define it.
3-5
SECTION 3 OPENBRIM CONCEPT
The real advantage of a centralized data repository is the ability to eliminate the physical exchange of
files between different participants. It does require that all software applications intended to access and
update the model have the ability to read and write data in a single standardized format.
Ownership and stewardship of the centralized data repositories is yet to be determined. These details
are an administrative issue that will need to be decided collaboratively by FHWA, AASHTO, and the rest
of the bridge community. One possibility is that it becomes the responsibility of the FHWA or their
designee. However, there are other options that should be investigated. The main focus of this report is
on the technical aspects of the OpenBrIM approach.
3-6
Section 4 OpenBrIM Applications
4.1 Purpose
Although bridge information modeling is primarily management of the data associated with a bridge and
its components, the data is easier to understand if it can be displayed graphically. Therefore it became a
goal of the current work to not only define standard ways of describing bridge components and their
data, but to have a robust tool to display those components in a graphical environment. OpenBrIM
Version 3 is comprised of two modules OpenBrIM App and OpenBrIM Library. The library tool is
dedicated to creating 3-D bridge component objects from simple drawing primitives, whereas the
OpenBrIM App is used to assemble entire bridge models from the librarys 3-D component objects. The
App and Library are principally validation tools. If an object can be displayed graphically within the
OpenBrIM applications, then it should also be capable of being modeled by other dedicated
applications.
Neither of these tools are intended to take the place of existing 3-D bridge modeling applications that
are already in use by engineers and owners. Traditional functions like high-resolution visualization,
structural analysis and design, and clash detection, are intended to remain with the proprietary software
vendors. OpenBrIMs purpose is to facilitate interoperability between application platforms and users
via an industry accepted data structure.
OpenBrIM has been primarily developed and tested on Google Chrome, however it also supports
Internet Explorer version 11 or higher and Mozilla Firefox. It can run on a wide variety of platforms such
as Mac OSX, Apple IOS, Android, and Microsoft phones and tablets. Access to OpenBrIM is free and
available to anyone interested in collaborating with bridge industry colleagues by registering at the
following URL:
http://openbrim.org
First time users must create an account by clicking on the button Create an Account on the opening
screen shown in Figure 5, then completing the information requested in Figure 6. Once registered,
returning users enter an email address and password for access.
4-1
SECTION 4 OPENBRIM APPLICATIONS
Registration provides use of the OpenBrIM App to create projects and library objects, and read-only
access to other users library objects. Being able to view others library objects provides the perfect
platform for collaboration. Users can copy those objects into their own library and experiment with
them by making modifications or using portions of the code to develop their own similar objects.
4-2
SECTION 4 OPENBRIM APPLICATIONS
In addition to being used to create component objects which are displayed in 3-D views, OpenBrIM
Library is used to develop documentation to assist authors and reviewers to understand how the object
is constructed and referenced from projects. The dropdown list in the text window includes three items
specifically directed to documentation.
Docs describes the purpose of the object and should be used to identify special features or
limitations on its use (see Figure 8).
4-3
SECTION 4 OPENBRIM APPLICATIONS
Params identifies all of the parametric values used to define the object. By adding the attribute
Role=Input to key input parameters, they are automatically added to the Params screen to
facilitate editing the data (see Figure 9). If there are a large number of parameters, they can be
grouped by using the Category attribute. Multiple category names can be assigned for clarity
and convenience.
XML View contains the code to graphically display the object (see Figure 10). Lines 8-15 of the
code are all that are needed to describe a rectangular surface extruded into a solid object by
defining a thickness.
The graphical view in the right window is also considered a part of library object documentation. It
includes the display of dimensions in the 3-D views. As the dimensional parameters are edited
interactively, the graphical view is updated automatically.
In addition to the 3-D view, OpenBrIM has basic CADD graphics capabilities. CADD views can be created
from scratch, or by using a special object called CADDFrom3D, which can create views directly from the
3-D view. CADDFrom3D will incorporate dimensions developed on the 3-D view. Both of these methods
assist in documentation.
4-4
SECTION 4 OPENBRIM APPLICATIONS
The text window dropdown list also includes two items to assist in the process of object standardization:
Status and Discussions. Objects must pass through the following series of steps to become a standard
OpenBrIM object.
1. In Development: Object is currently under development.
2. Proposed: Object is open for community review.
3. Accepted: Object is accepted by the OpenBrIM board towards standardization.
4. Incubation: Object is in testing period.
5. Standard: Object is part of the OpenBrIM standard.
Objects are open to review and discussion from the bridge engineering community at all times.
Discussions are moderated by the OpenBrIM board.
All objects created by authors have the initial status In Development. When the author determines
that the object is adequately developed and fully documented, he or she can change the status to
Proposed, and the object is opened for review and discussion. All comments by reviewers are emailed
to the author, and are also recorded in the Discussions section of the object. When all comments and
questions are resolved, the object is submitted to the OpenBrIM board for acceptance towards
standardization. Upon board Acceptance, the object is opened up for a testing period, which will also
generate review comments and discussion. Steps to achieve OpenBrIM Accepted and Standard
status will require passing a set of criteria that is yet to be determined.
4-5
This page intentionally left blank.
Section 5 Bridge Component Modeling
5.1 Basic Geometric Constructs
The building blocks of an OpenBrIM model are the individual bridge component library objects. There
are several basic types of objects that are used to graphically describe bridge components Point,
Surface, Volume, Line, Circle, Shape and Section. Every component can be constructed with these simple
elements.
Point objects are used to define the end locations of Lines and the perimeter of Shape and Surface
objects. A Shape object is defined in a 2-D plane using only X and Y coordinates. Neither Point nor Shape
objects display graphically on their own in 3-D views. They are only used to construct other objects.
Section objects are created from one or more Shape objects, and do not display graphically in 3-D views
either. A hollow Section object is constructed from two Shape objects, one defining the outside
perimeter, and the other the hollow void. Figure 11 shows a typical hollow box beam Section object
constructed from two Shape objects. The graphic was created using the 2-D CADD features of
OpenBrIM, and depicts the input dimension parameters necessary to define the Section object.
5-1
SECTION 5 BRIDGE COMPONENT MODELING
The ParamML code to define the box beam is given in Figure 12. The input parameters are defined at
the top of the file and correspond directly to those in the CADD graphic. A Shape object is constructed
by defining the X and Y coordinates of the box beam perimeter. A second Shape object is constructed for
the hollow void perimeter and uses the Parameter IsCutOut set equal to 1. These two Shape objects
are placed within the Section object named Hollow Box Beam. The outside perimeter shape is defined
first, followed by the void. Multiple voids can be defined. Note that when an object like this is developed
as a standard library object, only the data defined with Role=Input is passed between a project file and
the library. The ParamML code used to define the Shape, Section, and Line object is used only by the
OpenBrIM App to create the 3-D graphic. Other software applications that access this data will use their
own proprietary code routines to develop their graphic representations of the object.
Line objects are constructed from two Point objects (endpoints) and a Section object. The Section object
is extruded between the two endpoints to make a 3-D object as shown in Figure 13. Sections are
positioned normal to the line with their origin (0, 0) coincident with the line. The red line represents the
actual endpoints of the line and is excluded from the actual object definition. It is shown to help clarify
how the line extrusion works. Line objects are most often used when one dimension of a component is
5-2
SECTION 5 BRIDGE COMPONENT MODELING
significantly larger than the other two, the other two dimensions are constant, and the object is
primarily horizontal. Bridge beams and girders are examples of components that are typically
constructed using Line objects.
A Surface object is similar to a Shape in that it must have all of its Point objects defined in a single plane.
Unlike the Shape object, a Surface object is displayed graphically. An optional thickness parameter can
be used to extrude the Shape into a 3-D object. The plane describing a Surface object can be oriented in
3-D space with additional Z coordinates for the Point objects. The first three points of a Surface define
the 3-D plane of the object. All other points must be defined in that plane. Circle objects are a special
case of a Shape object. Surface objects are most often used when one dimension is significantly smaller
than the other two, and the other two are constant. Surface objects are ideal for defining steel plates
with bolt holes, like the Bolted Gusset Plate shown in Figure 14.
5-3
SECTION 5 BRIDGE COMPONENT MODELING
Figure 15 shows the ParamML Code to define a Gusset Plate with bolt holes. As with the Line object, the
input parameters are defined at the top of the file. The plate Surface object is constructed by simply
defining the X and Y coordinates of the plate corners. In this case, the origin (0, 0, 0) or insertion point of
the object is at the center of the plate on the plane of the defined surface, not the center of the
thickness. A group of Circle objects are used to define the bolt holes. All holes have the Parameter
IsCutOut set equal to 1. The plate outside perimeter is defined first, followed by the holes. A grid of
holes are defined using nested Repeat objects, which are based on the number of rows, columns, and
bolt spacing.
5-4
SECTION 5 BRIDGE COMPONENT MODELING
Volume objects are constructed by connecting Surface objects. Each Surface object is required to have
the same number of points around the perimeter for proper extrusion. The Surface objects do not have
to be in parallel planes. Simple Volume objects are constructed from two Surface objects. More complex
Volume objects can be constructed from three or more connecting Surface objects. Volume objects are
often used when components are non-prismatic or otherwise irregular. The following example of a
doubly tapered bridge pier exhibits the power of the Volume object. The base of the column is a 48
wide by 96 deep rectangular shape with 6 chamfered corners. It has a longitudinal slope that
decreases the width of the section to 24, and a transverse slope that increases the depth of the section
to 144 with height. Figure 16 shows the elevation views with intended dimensions, Figure 17 shows the
ParamML coding, and Figure 18 shows the 3-D representation of the tapered column.
Another type of Volume object is constructed similar to a Line object, by defining a Section object that
connects two Point objects. This is most commonly used for defining primarily vertical members like pier
columns.
5-5
SECTION 5 BRIDGE COMPONENT MODELING
5-6
SECTION 5 BRIDGE COMPONENT MODELING
5-7
SECTION 5 BRIDGE COMPONENT MODELING
5-8
SECTION 5 BRIDGE COMPONENT MODELING
The complex geometry of the skewed top flange of the Bulb-T girder can be modeled as shown in
Figure 21, and helps demonstrate the versatility of OpenBrIM to develop any bridge component into a
parametric library object.
5-9
SECTION 5 BRIDGE COMPONENT MODELING
5.3 Units
All models use an internal system of units for storing data as shown below:
<O N="Units" T="Group">
<O N="Internal" T="Unit">
<P N="Length" V="INCH" T="Text" />
<P N="Force" V="KIPS" T="Text" />
<P N="Angle" V="RADIANS" T="Text" />
<P N="Temperature" V="FAHRENHEIT" T="Text" />
</O>
.
.
.
The internal unit for length is the inch and for angle is radians. Many bridge components are more
conveniently described with length units of feet (e.g., span lengths, girder spacing, and elevations) or
with angular units of degrees (e.g., skew). New Units group definitions are allowed to be applied to a
model for clarity, by inserting a new object with the type attribute of Unit. The new definition, named
Layout is inserted in the Group named Units.
.
.
.
<O N="Layout" T="Unit">
<P N="Length" V="FEET" T="Text" />
<P N="Force" V="KIPS" T="Text" />
<P N="Angle" V="DEGREES" T="Text" />
<P N="Temperature" V="FAHRENHEIT" T="Text" />
</O>
</O>
When defining new Parameter objects where it is desired to use length units of feet instead of the inch
internal system units, the definition needs to include attributes UT=Length and UC=Layout.
5-10
SECTION 5 BRIDGE COMPONENT MODELING
5.4 Alignment
Every component in a bridge can be located and oriented with respect to the roadway geometric
alignment and cross section, which makes it one of the most important elements in the process of
developing a BrIM model. The Alignment object and its Horizontal, Vertical and Cross Slope segments
are basic built-in components of the OpenBrIM App. Figure 22 shows an exaggerated alignment
containing all the various types of alignment definitions that can be modeled. In plan, the horizontal
alignment includes a tangent section followed by spiral, circular, and spiral curves, then ends in a
tangent section. Vertically, there is a constant upward grade transitioning through a parabolic vertical
curve into a downward grade. The cross slope starts with a crown, then warps through the spiral curve
to constant superelevation in the circular curve, then warps back to a crown through another spiral
curve, then remains in a crown to the end. The red line in the longitudinal direction represents the
Horizontal Control Line (HCL), and the red lines in the transverse direction represent break points in the
Cross Slope. The shaded surface defines the entire roadway section and follows the horizontal and
vertical curves, and warps to any superelevation transitions.
Most of the development work undertaken in this project was done using an example steel girder bridge
provided by the FHWA. The project is Ramp 119 S-N over S.R. 51 on the Mon/Fayette Expressway,
Uniontown to Brownsville Section, owned by the Pennsylvania Turnpike Commission. Plans were
produced in 2008. The structure is a three-span (130-180-130) steel I-girder bridge on a horizontal
alignment with a 764 radius section combined with a tangent section, a vertical 5.79% grade combined
with a 550 vertical curve, and superelevation variation from 8% to 2% in five transitions. This geometry
will be used to demonstrate how the alignment for an OpenBrIM model is developed.
The basic Alignment object requires a Name along with Station, and Azimuth Parameters. Azimuth 0 is
defined as North, and displays the Y-direction in the X-Y plane shown on the computer screen. The
Ramp 119 S-N project definition is shown below.
<O N="BL119S_N" T="Alignment">
<P N="Station" V="6000*12" UT="Length" UC="Layout" />
<P N="Azimuth" V="PI/2" UT="Angle" UC="Layout" />
.
.
5-11
SECTION 5 BRIDGE COMPONENT MODELING
.
</O>
The actual start station of the alignment is defined as 60+00 (in feet). The Value, V=6000*12, is an
expression which converts to 72000, and is stored in the internal inch units. The UT=Length and
UC=Layout as discussed in Section 5.3, will display those units as feet in the program interface. The
Azimuth value of PI/2 (/2) or 90 defines the start of the alignment along the X-direction in the X-Y
plane.
The ParamML code to create the entire horizontal alignment is shown below and contains only eight
lines. The alignment starts and end beyond the ends of the bridge.
5-12
SECTION 5 BRIDGE COMPONENT MODELING
5-13
SECTION 5 BRIDGE COMPONENT MODELING
Only three points are required to define the Ramp 119 S-N structure in OpenBrIM. The first point
corresponds to the beginning of the horizontal alignment. The second and third points define the VPC
and VPT of the curve. The ParamML code is as follows:
<O N="Begin" T="ElevationPoint">
<P N="Station" V="6000*12" UT="Length" UC="Layout" />
<P N="Grade" V="0.0579" />
<P N="Elevation" V="1032.14*12" UT="Length" UC="Layout" />
</O>
<O N="VPC_1" T="ElevationPoint">
<P N="Station" V="6425*12" UT="Length" UC="Layout" />
<P N="Grade" V="0.0579" />
<P N="Elevation" V="1056.75*12" UT="Length" UC="Layout" />
</O>
<O N="VPT_1" T="ElevationPoint">
<P N="Station" V="6975*12" UT="Length" UC="Layout" />
<P N="Grade" V="-0.005" />
<P N="Elevation" V="1067.795*12" UT="Length" UC="Layout" />
</O>
5-14
SECTION 5 BRIDGE COMPONENT MODELING
Figure 28 shows a developed elevation of the vertical profile in the OpenBrIM App.
5-15
SECTION 5 BRIDGE COMPONENT MODELING
5-16
SECTION 5 BRIDGE COMPONENT MODELING
The ParamML code for one cross section is listed below. The sequence is repeated at each station where
there is a change in any of the individual cross section segment slopes.
<O N="Sta_6125" T="CrossSection">
<P N="Station" V="73500" UT="Length" UC="Layout" />
<P N="LeftEdgeToHCL" V="272.25" UT="Length" UC="Layout" />
<P N="ElevationAtHCL" V="0" UT="Length" UC="Layout" />
<O N="Left Barrier" T="CrossSectionSegment">
<P N="Slope" V="-0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
<O N="Left Shoulder" T="CrossSectionSegment">
<P N="Slope" V="0.02" />
<P N="Width" V="48" UT="Length" UC="Layout" />
</O>
<O N="Left Shy" T="CrossSectionSegment">
<P N="Slope" V="-0.02" />
<P N="Width" V="24" UT="Length" UC="Layout" />
</O>
<O N="Lane" T="CrossSectionSegment">
<P N="Slope" V="-0.08" />
<P N="Width" V="180" UT="Length" UC="Layout" />
</O>
<O N="Right Shoulder" T="CrossSectionSegment">
<P N="Slope" V="-0.08" />
<P N="Width" V="144" UT="Length" UC="Layout" />
</O>
<O N="Right Barrier" T="CrossSectionSegment">
<P N="Slope" V="0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
</O>
Figure 30 shows the five cross sections defining the variation in cross slopes. The figure was created by
removing the horizontal curve from the alignment and creating a full width transverse line at each
variation. This shows the change from an 8% cross slope in the travel lane at the beginning of the bridge
to a 2% cross slope at the end of the bridge.
5-17
SECTION 5 BRIDGE COMPONENT MODELING
5-18
SECTION 5 BRIDGE COMPONENT MODELING
alignHX(Alignment, station, tOff) Given an alignment, station and transverse offset, this
returns the global X coordinate of a point.
alignHY(Alignment, station, tOff) Given an alignment, station and transverse offset, this
returns the global Y coordinate of a point.
alignT(Alignment, station, tOff) Given an alignment, station and transverse offset, this returns
the vertical distance from the alignment control line due to cross-slope adjustment.
alignTA(Alignment, station, tOff) Given an alignment, station and transverse offset, this
returns the angle of the slope (in radians) above that point.
alignV(Alignment, station) Given an alignment and station, this returns vertical distance from
the alignment control line due to vertical profile adjustment.
The second feature is meant for disregarding alignment cross-section adjustment of portions of an
object such as a section or surface. There may be instances where the top of an object is intended to
conform fully to the roadway vertical and cross slope alignment, but the bottom of the object is
intended to be level or straight. In the definition of the surface or section, the parameter, AlignTB=0 is
added to the point definition of any two or more points that are desired to be straight. An abutment
backwall, and the buildup over girders in a deck are instances where this feature may be used.
The alignT() function and the AlignTB parameter were the only ones used during the development of
this project, and both will be explained in Section 5.6 in the descriptions of the component library
objects.
5-19
SECTION 5 BRIDGE COMPONENT MODELING
5-20
SECTION 5 BRIDGE COMPONENT MODELING
5-21
SECTION 5 BRIDGE COMPONENT MODELING
Sections that follow describe some of the individual library component objects by major component
categories. The more complex objects will be described in detail. Full documentation on each library
object can be found in Appendix A.
5.5.1 Abutments
Bridge abutments are configured in many different ways. The most common types are full-height, stub,
spill-through, and integral. Because of this, developing a generic parametric abutment object would be
difficult. Typically an abutment is comprised of sub-components, such as piles, footings, a stem wall for
support of the superstructure, a backwall and wingwalls to retain the embankment, bearing pedestals,
and cheek walls to hide and protect the bridge bearings. Figure 31 shows the full height abutment of
Ramp 119 S-N and the different component library objects that can be used to define it. Those objects
will be described in more detail below. The assembly into a bridge model will be detailed in Section 6.
5-22
SECTION 5 BRIDGE COMPONENT MODELING
section can be battered in the direction of either the web or the flanges. Each of these angles is defined
as an input parameter as shown in Figure 33.
5-23
SECTION 5 BRIDGE COMPONENT MODELING
5-24
SECTION 5 BRIDGE COMPONENT MODELING
<P N="WWA_Length" V="384" D="Footing Length (Transverse to Bridge Alignment)" Role="Input" />
<P N="WWA_Width" V="108" D="Footing Width (Along Bridge Alignment)" Role="Input" />
<P N="WWB_Length" V="324" D="Footing Length (Transverse to Bridge Alignment)" Role="Input" />
<P N="WWB_Width" V="108" D="Footing Width (Along Bridge Alignment)" Role="Input" />
<P N="Depth" V="30" D="Footing Depth" Role="Input" />
<P N="BotElev" V="0" D="Footing Bottom Elevation" Role="Input" />
<P N="CL_Bearing" V="42" D="CL Bearing to Front Edge of Footing" Role="Input" />
<P N="HCL_Offset" V="188.25" D="HCL to Left Edge of Footing" Role="Input" />
.
.
.
The same lines of code above are used in the project file, however any of the data values can be
changed to achieve different sized footings. A surface object with thickness is used to create the
graphical view of the footing. The surface is comprised of point objects defining the perimeter of the
footing. ParamML code required to develop the object is as follows:
<O T="Surface" Z="BotElev">
<P N="Thickness" V="Depth" />
<O T="Point" X="-HCL_Offset" Y="-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset" Y="-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset" Y="WWA_Length-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset-WWA_Width" Y="WWA_Length-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset-WWA_Width" Y="Width-CL_Bearing" />
<O T="Point" X="-HCL_Offset+WWB_Width" Y="Width-CL_Bearing" />
<O T="Point" X="-HCL_Offset+WWB_Width" Y="WWB_Length-CL_Bearing" />
<O T="Point" X="-HCL_Offset" Y="WWB_Length-CL_Bearing" />
</O>
Additional code is required to create the CADD view with dimensioning. Those views are primarily to
help with visualization of the object for documentation purposes.
5.5.1.4 Backwall
The Abutment Backwall library object is meant to be placed on top of Stem Abutment (BB) object. This
object has the option of a blockout for support of an approach panel. The blockout can extend full width
of the backwall, or it can be limited on either end by a left stub and right stub. The graphic construct is a
Volume object extruded longitudinally along the bridge alignment from Surface objects corresponding
to the back face and front face of the backwall and two at the pavement seat.
A unique feature provided with the Backwall object is the ability to have its top surface match the
varying roadway cross slope, and the bottom surface remain constant to match the Stem Wall. Ignoring
for the moment, the additional definition needed for the pavement seat blockout, the library Volume
object could be defined with only two end surfaces each with four corner points as shown in Figure 36.
However, in the project, if the Abutment Backwall object is defined with the AlignT=Warp parameter,
5-25
SECTION 5 BRIDGE COMPONENT MODELING
it will force the top of the backwall to conform to the transverse cross section alignment profile. By
defining only the two bottom points for each surface, and assigning the AlignTB=0 attribute to them,
the bottom will be straight as shown in Figure 37.
5-26
SECTION 5 BRIDGE COMPONENT MODELING
</O>
5.5.1.5 Wingwall
Wingwall objects are typically placed on top of Footing objects. The walls are often tapered so that the
thicker section is at the footing level. The top of the wall can follow the bridge vertical profile, while the
bottom is level.
5.5.1.6 Cheekwall
The Cheekwall library object is meant to be placed on top of Stem Abutment (BB) library object. This
object is placed outside of the girders on the edge of the abutment as a visual cover and protection of
the bearing connection. The top of the cheekwall has the option to slope using the "TopSlope"
parameter. The bottom of the cheekwall has the option to follow a stem pedestal slope using the
"PedSlope" parameter.
5-27
SECTION 5 BRIDGE COMPONENT MODELING
5.5.2 Piers
Piers, like abutments, can take on many configurations and developing a generic parametric pier object
would also be difficult. The most common types of piers are multiple column drop cap, hammerhead,
pile bents, etc. Typically piers are comprised of sub-components, such as piles or drilled shafts, footings,
columns, and a pier cap and bearing pedestals. Figure 38 shows piers for Ramp 119 S-N and the typical
components that have been turned into library objects.
5-28
SECTION 5 BRIDGE COMPONENT MODELING
5-29
SECTION 5 BRIDGE COMPONENT MODELING
The intersecting points connecting the Rectangular Column to the cantilever arms of the cap have a
large radius fillet. Any interior corner point on a Surface or Section object can be assigned a parameter
to denote that the intersection is formed by a fillet radius or a straight chamfer. The following
highlighted ParmML code exhibits how a fillet radius is made. In addition to having X, Y, and Z
coordinates, a Point object can also have the expression R=60 to denote that radius is to be applied.
5-30
SECTION 5 BRIDGE COMPONENT MODELING
5.5.3 Bearings
5.5.3.1 Pot Bearing
Pot Bearing is a schematic representation of a bearing system with masonry base plate, pot & piston,
and a top sole plate. The masonry plate is a rectangle with four anchor bolts in the corners, and the pot
and piston are cylinders, all constructed as Surface objects with thicknesses. The top sole plate has a
tapered thickness to account for the vertical grade of the girders, and is constructed as a Volume object.
The average sole plate thickness is an input parameter, and the tapered dimensions are developed by
OpenBrIM based on the vertical grade at the bearing location. The 3-D representation is shown in
Figure 40.
5-31
SECTION 5 BRIDGE COMPONENT MODELING
5-32
SECTION 5 BRIDGE COMPONENT MODELING
The parameters defining the cross section include the web depth (dw) and thickness (tw), the top flange
width (bft) and thickness (tft), and the bottom flange width (bfb) and thickness (tfb) are seen in the data
entry screen (see Figure 42). The array of numbers for the flanges are range variables and further
explained below. Only Line objects can utilize this feature.
For the thickness of the top flange, the data shown in Figure 43 uses the following double bracket
expression for the range variable tft, [[0, 600], 1, [600, 1000], 3]. This means that from 0 to 600 inches
along the girder, the top flange is 1 thick, and from 600 to 1000 inches, it is 3 thick. This nomenclature
allows any number of plate size changes within a single girder field section. For every thickness, there
needs to be a bracketed range preceding it. Once a range variable is set up in the library object, any
number of parameters can be referenced from the project. A single value results in a constant
dimension for the entire object. To account for five plate changes, will require five non overlapping
ranges and five values. Any type of step variation can be specified.
5-33
SECTION 5 BRIDGE COMPONENT MODELING
The girder also includes provisions for various types of vertical stiffeners, including shear stiffeners, cross
frame connection plates, bearing stiffeners at supports, and jacking stiffeners near supports for future
bearing replacement. Figure 44 shows the parameters needed to define shear stiffeners. Cross frame
connection plates, as well as bearing and jacking stiffeners are defined similarly. Stiffener dimensional
parameters are passed through the SteelGirderMB object to the Vertical Stiffener object described in
the next sub-section. The parameters WebStiffOrient determines which side of the web the stiffener is
located, by the values L, R, B, or N, for left, right, both, or none. By selecting N, the stiffener dimensional
data can be left out. The WebStiffLoc parameter locates the stiffener along the length of the girder
section.
The following excerpt is from the ParamML code for the object. Point, Shape, Section, and Line objects
are used to draw the basic girder. The girder parameters tft, bft, dw, tw, tfb, and bfb are used to develop
the Point objects to create individual flange and web Shape objects that are then combined into a
Section object. The hierarchy of the different objects can be seen in the indentation of the code lines. A
Line object is used to extrude the Section between the defined end points of the girder.
<O N="GirderFieldSection" T="Group">
<O N="IGirder" T="Section">
<O N="Top Flange" T="Shape">
<P N="Material" V="STEEL" T="Material" D="Material" />
<O T="Point" Y="tft" X="-bft/2" />
<O T="Point" Y="tft" X="bft/2" />
<O T="Point" Y="0" X="bft/2" />
<O T="Point" Y="0" X="-bft/2" />
</O>
<O N="Web" T="Shape">
<P N="Material" V="STEEL" T="Material" D="Material" />
5-34
SECTION 5 BRIDGE COMPONENT MODELING
5-35
SECTION 5 BRIDGE COMPONENT MODELING
5-36
SECTION 5 BRIDGE COMPONENT MODELING
5-37
SECTION 5 BRIDGE COMPONENT MODELING
The ParamML code for this type of element shown below is very simple. The additional code to develop
the CADD view is included in Appendix A.
<O N="VerticalStiffener" T="Project">
<O N="Dimensions" T="Group">
<P N="w" V="8" D="Width" Role="Input" Category="Dimensions" />
<P N="h" V="66" D="Height" Role="Input" Category="Dimensions" />
<P N="t" V="0.75" D="Thickness" Role="Input" Category="Dimensions" />
<P N="clipV" V="2.5" D="Vertical clip height" Role="Input" Category="Dimensions" />
<P N="clipH" V="1.5" D="Horizontal clip width" Role="Input" Category="Dimensions" />
<P N="tw" V="0.5" D="Girder web thickness" Role="Input" Category="Dimensions" />
</O>
<O T="Surface" X="t/2">
<P N="Thickness" V="t" />
<O T="Point" Y="clipH" Z="0" />
<O T="Point" Y="w" Z="0" />
<O T="Point" Y="w" Z="-h" />
<O T="Point" Y="clipH" Z="-h" />
<O T="Point" Y="0" Z="-h+clipV" />
<O T="Point" Y="0" Z="-clipV" />
</O>
</O>
5-38
SECTION 5 BRIDGE COMPONENT MODELING
In addition to the flange and web splice plate thicknesses, the necessary input parameters for the
BoltedFieldSplice (BB) object are the number and spacing of bolts on the flanges and web, and the edge
distances for the bolts. See Figure 48 and Figure 49. The bolt spacing and edge distances determine the
splice plate sizes.
While the splice object appears to be complex, it is constructed out of 12 individual plate Surface objects
with thickness. The complexity is all in aligning the individual pieces together into a unit.
5-39
SECTION 5 BRIDGE COMPONENT MODELING
5-40
SECTION 5 BRIDGE COMPONENT MODELING
5.5.5.4 Bolt
The Bolt (BB) object represents a bolt clamping two or more plates between two arbitrary points in
space.
5-41
SECTION 5 BRIDGE COMPONENT MODELING
5-42
SECTION 5 BRIDGE COMPONENT MODELING
5-43
SECTION 5 BRIDGE COMPONENT MODELING
5.5.6 Decks
5.5.6.1 Deck
Deck object is used for creating cast-in-place concrete bridge decks on girders. The cross section of the
top of deck follows the alignment cross slope of the bridge, and the bottom of deck includes the build-
up or haunches for the girders. The deck object also follows the horizontal alignment and vertical
profile. Girder deck overhang options include constant thickness, or variable thickness from deck edge
to the exterior girder haunch. The deck component is defined as a Volume object created as an
extrusion between two Surface objects. The Surface objects are the cross sections at each end of the
deck section. Currently it is limited to a constant width roadway. Deck geometric configuration is shown
in Figure 53. An alignment was included in the library object definition to show how variable cross slope
is handled.
The corresponding input parameters are shown on the data entry screen in Figure 54, and consist of the
overall deck width, distance from the left edge of deck to the HCL, the deck thickness between girders,
at each edge, and at the girder centerline haunches, and the girder transverse offsets from the HCL and
the haunch widths (as arrays). Changing the number of values in the array for transverse offsets allows
the use of any number and spacing of girders. This can be done without modifying the code for the deck
object, which makes it very versatile. 3-D representations of a portion of a deck are shown in Figure 55
and Figure 56. The views illustrate how the deck can vary with an exaggerated change in cross slope
over a short distance, even with a very minimal amount of data definition.
5-44
SECTION 5 BRIDGE COMPONENT MODELING
The following code is used to create one Surface object consisting of only four points to define the top
and bottom edges of the deck slab, four points for each interior girder haunch, and either three or four
5-45
SECTION 5 BRIDGE COMPONENT MODELING
points for each of the two exterior girder haunches, depending on the overhang type selected. The code
uses the Repeat object to create the haunch corner points, the Guard parameter to eliminate one point
when the deck overhang thickness varies from the exterior girder haunch to the edge. In addition the
alignT() function is used to adjust the bottom of the haunch to be level over the girders when there is a
cross slope of the top of the deck. A second surface is created at the ending station, and the start
surface is extruded to the end surface. When rendering a deck, one hundred additional intermediate
surfaces are created between the two end surfaces.
<O N="Section1" T="Surface" X="StartStation">
<O T="Point" C="0.75" Z="0" Y="RightEdge" />
<O T="Point" C="0.75" Z="-RightDeck_t" Y="RightEdge" AlignTB="0" />
<O T="Repeat" index="S" CTRL="index" I="1" E="numGirders-1" S="0">
<P N="GA" V="alignT(CSAlignment, StartStation, GirderOffset[index]-0.5*HaunchWidth[index])" />
<P N="CL" V="alignT(CSAlignment, StartStation, GirderOffset[index])" />
<P N="GB" V="alignT(CSAlignment, StartStation, GirderOffset[index]+0.5*HaunchWidth[index])" />
<P N="ElevCorrA" V="GA-CL" />
<P N="ElevCorrB" V="GB-CL" />
<O T="Point" Z="-MinDeck_t" Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(RightOverhangType.NE.1).OR.(index.NE.S)" />
</O>
<O T="Point" Z="-TopDeckToTopGirderWeb-ElevCorrB" Y="GirderOffset[index]+0.5*HaunchWidth[index]"
AlignTB="0" />
<O T="Point" Z="-TopDeckToTopGirderWeb-ElevCorrA" Y="GirderOffset[index]-0.5*HaunchWidth[index]"
AlignTB="0" />
<O T="Point" Z="-MinDeck_t" Y="GirderOffset[index]-0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(LeftOverhangType.NE.1).OR.(index.NE.E)" />
</O>
</O>
<O T="Point" C="0.75" Z="-LeftDeck_t" Y="-LeftEdge" AlignTB="0" />
<O T="Point" C="0.75" Z="0" Y="-LeftEdge" />
</O>
5.5.8 Miscellaneous
5.5.8.1 Bent Rebar
BentRebar object is used as the basic template for all bent reinforcing steel bars. It is anticipated that
individual bar bend types will be developed parametrically with their own library objects, and will
reference this object. Any number of legs can be incorporated by the BentRebar object by increasing the
number of array elements for the input parameters Length, AngleX, AngleY, and AngleZ. BentRebar uses
5-46
SECTION 5 BRIDGE COMPONENT MODELING
the Line object with the Polyline="1" parameter. The polyline is created along the centerline of the bar.
Standard bar bend diagrams are detailed with to out-to-out dimensions, so individual bar bend objects
will need to account for the difference in leg lengths and the bend radius. An example stirrup bar is
shown in Figure 57.
5-47
This page intentionally left blank.
Section 6 Bridge Modeling
To test the capability of OpenBrIM to build a complete bridge model from standard components, the
Ramp 119 S-N structure previously identified in Section 5 was used. The complete model template file is
attached in Appendix B, and an overall graphic view is shown in Figure 58.
6-1
SECTION 6 BRIDGE MODELING
The New Object dialog box (see Figure 62) lists different types of objects in a dropdown list including
Basic, Alignment, Geometry, and users libraries. The figure below shows a Drilled Shaft user library
object for selection.
6-2
SECTION 6 BRIDGE MODELING
The new object is added with either the default values shown in the dialog box or with user entered
values (see Figure 63). When the object is selected in the 3-D view, it is highlighted in red, and any
dimensions that are associated with it are displayed.
6-3
SECTION 6 BRIDGE MODELING
A second drilled shaft can be positioned as it is created. The selected shaft in Figure 66 was created at TY
= 81 units. Now the project has two shafts 162 units apart.
6-4
SECTION 6 BRIDGE MODELING
6-5
SECTION 6 BRIDGE MODELING
6-6
SECTION 6 BRIDGE MODELING
Figure 68 shows the OpenBrIM App Object Explorer window. The associated ParamML code (without all
of the objects and parameters inside the groups) is as follows:
<O N="Substructure" T="Group">
<O N="Abutments" T="Group">
<O N="Abument Data" T="Group">
</O>
<O N="Abut1" T="Group">
</O>
<O N="Abut2" T="Group">
</O>
</O>
<O N="Piers" T="Group">
<O N="Column and Foundation Data" T="Group">
</O>
<O N="Pier1" T="Group">
</O>
<O N="Pier2" T="Group">
</O>
</O>
</O>
It is convenient to make an entire group not visible to make it easier to view portions of the model. This
is done by toggling the visibility icon on and off for a large group such as the Superstructure shown in
Figure 69.
6-7
SECTION 6 BRIDGE MODELING
One of the most useful features of grouping is that objects in groups inherit the properties of the group.
If all of the objects in a pier are part of the same group, then the whole pier unit can be positioned or
oriented by applying a translation or rotation to the group.
6-8
SECTION 6 BRIDGE MODELING
In addition, components must be oriented with respect to the HCL, PGL, and the Cross Slope of the
roadway using the AlignH, AlignV, and AlignT parameters given in Section 5.4.4. These parameters have
three settings, Warp, Orient, and None, and the setting type is a function of the type of primitive
object that the component is defined from (Line, Surface, or Volume). For Line objects, there is also a
different behavior for vertically oriented versus horizontally oriented. Figure 71 shows a plan view of a
test project used to visualize the behavior. The alignment is a sharp horizontal curve. The blue
components are Volume objects, red are Line objects, and green are Surface objects. There are five test
groups for bridge deck components, vertical columns, straight beams, horizontally curved beams, and
beams tilted along their primary axis.
6-9
SECTION 6 BRIDGE MODELING
The only noticeable difference in any of the test cases is the straight beam behavior, which uses the
parameters AlignH=Orient, AlignV=None, and AlignT=None for both Volume and Surface objects.
For the Line object, AlighH=None. The close-up, Figure 72, shows that the Line object for a straight
horizontal beam has its end points located on the alignment, whereas the Volume and Surface objects
have their centroid on the alignment. For beams chorded along a curved alignment, it is simpler to
define the beam library component with the Line object for use in a project.
Typically, when the parameter AlignH=Warp, the object will follow the horizontal alignment. If in a
curve, the object will be curved, and when in a tangent section, it will be straight. This is the typical
orientation setting for a horizontally curved steel girder bridge. If the girder is intended to be chorded
around the horizontal curve, AlignH=None is the appropriate setting. If the setting is AlignH=Orient,
and the girder is constructed with a Line object, it will have the same behavior as the Volume and
6-10
SECTION 6 BRIDGE MODELING
Surface objects, where the point at mid-span is on the alignment. When AlignV=Warp, objects follow
the vertical curve profile. AlignT=Warp is typically used for bridge decks sections or surfaces normal to
the HCL being extruded along the HCL. The top edge of such an object will take on the transverse cross
section profile of the alignment without having to specifically define break points in the object.
The AlignH, AlignV, and AlignT parameters are all set to Warp for the entire Deck group. This makes
the deck follow the HCL, PGL, and the cross section variation. The ten parameters define the shape of
the deck. Those parameters are inherited by the object named DeckPour1, which references the
standard library object Deck. Each deck pour section requires only the parameters StartStation and
EndStation, which are its X-coordinates at each end. The parameter TopDeckToTopGirderWeb
shown in Figure 73, not only defines the haunch or build-up thickness for all of the deck sections, it is
6-11
SECTION 6 BRIDGE MODELING
also important as the insertion point for all of the girders on the project. This provides an excellent
example of how the concept of parametric modeling is meant to be used.
6-12
SECTION 6 BRIDGE MODELING
Girder 1 field section 1 is 130-0 less 45-0 from centerline bearing of Abutment 1, making the overall
length of the piece 86-1 or 1,033. Since the girder follows both the HCL and PGL, but is oriented so
that the web is vertical its AlignH and AlignV parameters are set to Warp, and the AlignT parameter is
set to None. The ParamML code required to position and orient this girder section (stiffeners omitted
for clarity) is as follows:
6-13
SECTION 6 BRIDGE MODELING
6-14
SECTION 6 BRIDGE MODELING
The top chords have workpoints 10 below the previously defined girder workpoint at the top of the
web. The bottom workpoints are 7.5 above the 66 constant depth web. The configuration of the
library object was described in Section 5.5.5.8. Because the workpoints are referenced to the girders,
which are referenced from the deck, it allows the changing roadway cross section geometry to be
accounted for automatically in the positioning of the cross frames. The girder horizontal offsets from the
HCL provide the parameters for transverse position. Longitudinally, the cross frames are positioned at
the connection stiffeners of the girders, corrected by the stiffener plate thickness. Cross frames are
located longitudinally by distance from the starting reference, which is the Abutment 1 station. The
ParamML code in the project file (neglecting the gusset plate data for clarity) to generate all cross
frames in one bay is as follows:
6-16
SECTION 6 BRIDGE MODELING
6-17
This page intentionally left blank.
Section 7 Gaps
Development of OpenBrIM is still in the early stages. This work was intended to define and document
the definitions of some of the most common bridge objects and test the feasibility of using the
OpenBrIM approach in modeling representative bridge types. Although a number of bridge component
library templates have been established, there are many more that need to be developed. Some of the
gaps in component objects are:
Accommodating skew
Incorporating girder structural cambers and construction deformations
Incorporating steel girder cross frame drops for no-load, steel dead load, and total load
conditions
Welding details
Steel reinforcing bar bend details to incorporate standard hooks, etc.
Additional development of standard precast concrete components
Pretensioning and Post-Tensioning details
Additional bearing types
Expansion Joints
Drainage components
Lighting, signs and utility attachment components
Architectural treatment such as inset surface patterns and details on components
Digital terrain modeling of site work to represent existing and future ground contours
Non-graphical information gaps include:
Metadata storage for geotechnical (soil borings) and hydraulic reports
Metadata storage for as-constructed details, inspection reporting, scheduled maintenance, and
repairs for Asset Management, and durability monitoring
Probably the biggest gap in the OpenBrIM concept is in defining how the system will be owned,
implemented, and maintained.
7-1
This page intentionally left blank.
Section 8 Industry Outreach
A key component of the project scope of work included industry outreach in the form of the following
webinars, conference presentations, and workshops.
2015 AASHTO SCOBS T-19 presentation, Saratoga Springs, NY, April 20, 2015
Standardization of Bridge Information Modeling (BrIM) Webinar, April 27, 2015
2015 Cooperative Agreement Annual Meeting, Bethlehem, PA, May 28, 2015
IBC Workshop Bridge Information Modeling (BrIM) Standardization & Interoperability,
Pittsburgh, PA, June 11, 2015
FHWA Bridge Information Modeling (BrIM) Workshop, Washington, DC, August 25-26, 2015
The first three of these were primarily informational presentations, where material about the OpenBrIM
and NIBS projects were given. The first workshop held at the International Bridge Conference also
included several presentations and perspectives from the project teams, owners, and industry trade
organizations.
Most of the development of the OpenBrIM standard library objects and the example bridge model were
completed prior to the formal FHWA Bridge Information Modeling (BrIM) Workshop in Washington, DC.
During the workshop, the OpenBrIM concept and the current building standards using the Industry
Foundations Class (IFC) concept were presented to a group of approximately 35 bridge community
representatives from FHWA, AASHTO, industry trade organizations, academia, contractors, consultants,
and software vendors. The goal of the workshop was to help build consensus for an open standards
based approach for Bridge Information Modeling. While the workshop generated a lot of discussion on
the merits of two different approaches, it may have created more questions than answers on the path
forward. This report is focused on the findings of the OpenBrIM approach.
Some of the key questions, comments, concerns, and discussion from the DC workshop participants are
as follows:
1. Steel fabricators want to use 3-D BrIM models to eliminate the need for shop drawings.
2. There is a concern over liability when electronic data files take the place of 2-D paper drawings.
3. Contracting and procurement will require changes to procedures.
4. Data is needed to show cost savings and/or return on investment (ROI) when moving to BrIM
technology.
5. Qualitative examples and case studies are needed to educate public sector DOTs in the use of
BrIM.
6. Can this technology be extended for identifying utility interferences, and how is that data
obtained and incorporated into models?
7. How can rehabilitations/widenings of existing bridges be handled, and what is the level of work
required to model an existing bridge?
8. How can BrIM data be made available and separated from software that produces models?
9. How is compatibility and version control ensured between OpenBrIM objects that are created
by many different authors? Objects are extendable in OpenBrIM, meaning they can be copied
into a new users library and modified to suit the new users preferences. These modifications
cannot be changed by anyone else.
8-1
SECTION 8 INDUSTRY OUTREACH
10. An open format library concept will need oversight and QA/QC.
11. How are OpenBrIM library objects certified/validated? The library has a section for discussions.
Objects go through a development and discussion phases prior to becoming a standard. All
development is overseen by a committee, which needs to be defined.
12. Do Owners have the desire to create a library of their own digital definition of objects?
13. States want to leverage what other industries are doing. What is standard to one state is not
common to others.
14. Is an open library really what is needed? More openness requires more governance, and who
will govern OpenBrIM?
15. Should an AASHTO committee be created for vetting the certification process for OpenBrIM?
16. What can be done to incorporate both OpenBrIM and IFC? Are they compatible? Open BrIM is a
great platform to test and determine data requirements. OpenBrIM is a way to conceptualize
objects that can then become part of an IFC standard.
17. Software vendors need to step back to listen to the Owners/practitioners.
18. How would software vendors convert to OpenBrIM?
19. Original goal of OpenBrIM was to create a central repository of objects that could be used to
eliminate exchanges.
Future work on OpenBrIM development will need to focus on addressing the above questions. Work to
date has been in the discovery mode, which often develops additional questions and issues to solve.
8-2
Section 9 - Conclusions
9.1 Advantages of OpenBrIM
There are several very advantageous features of the OpenBrIM approach.
OpenBrIM places the responsibility of standards development in the good hands of the bridge
community, thus its slogan Community Driven Bridge Information Modeling. This creates an
opportunity for the actual users of the information to define the data necessary for the standard
bridge components they are the most knowledgeable about, instead of having a software
programmer who may have little connection to the bridge industry develop the standards.
OpenBrIM makes use of centralized on-cloud data storage for individual bridge models and the
library of component standards. The bridge model data is accessible to all authorized users for a
particular project. This eliminates the need for physical file exchange, at least initially.
OpenBrIM offers complete independence from any local software installation. The program gains
enormous flexibility by providing information through the internationally accepted XML standard,
requiring only minimal hardware resources with a web browser connected to the internet. For
example, a conference room computer could quickly access a model during a meeting, or an
inspector could verify a bridge component in the field with their smartphone.
OpenBrIM is based on ParamML, an XML derivative, which uses a text based format. Bridge
component objects and their data parameters are given common English language names and
descriptors, allowing them to be readily understood by a large group of users. These names can be
developed to correspond with common bridge industry terminology. Standards can also be
developed in other languages for use internationally.
The ability to review, manipulate, and build projects in OpenBrIM without having extensive
knowledge of programming or ability to read computer code will significantly facilitate adoption of
this standard by the broader bridge design and construction community.
Bridge component library objects are defined parametrically, allowing repeated use for similar
components by varying the geometric and/or physical property data. Common data can be defined
globally within a project and automatically update all affected objects. For example, the industry
standard workpoint for a steel I-girder bridge is the top of web at the centerline of the girder. That
workpoint is a constant distance below the roadway surface elevation. In addition to defining the
steel girder geometry, it controls the depth of the concrete deck haunch, and its the control point
used in defining cross-frame geometry. Using that control location in girder, deck, and cross-frame
objects assures that all of those components are synchronized to retain their connectivity when the
parameters dimension is modified.
The OpenBrIM library of bridge component standards are open to everyone. This promotes
collaboration within the industry to develop new objects based on already developed standards. For
example, as part of this project, a versatile steel bridge K-type cross frame object was developed.
When another user needs to define an X-type cross frame, he or she can start with the available K-
type cross frame as a guide.
There are also some challenges to implement the OpenBrIM system.
OpenBrIM will require some type of organizational board to be the steward for the overall system.
This includes ownership and maintenance of the centralized data repositories, and moderating the
standards development process. Thus far, these issues have only been identified. There will be costs
9-1
SECTION 9 - CONCLUSIONS
with an on-cloud server system that will require a funding source. There will likely be a significant
amount of discussion and cooperation necessary to come to agreement on how such an
organization will operate.
While there are approximately 30 or more OpenBrIM bridge component library objects available,
they are in various stages of development. To date, there are none that are considered to be fully
developed standards for use. All of the objects lack steel reinforcement. Promoting OpenBrIM will
require a more complete library of standard component objects to be developed to show the
robustness of the concept. OpenBrIM is still essentially in Beta testing mode and not fully
production ready.
While we have extensively developed and tested compilation of library objects in project files
through ParamML coding, more development and experimentation is needed with similar project
construction through the user interface. It may continue to be a challenge to provide quick load
times for projects that contain increasing levels of detail and complexity.
9-2
Appendix A Library Object Definitions
This page intentionally left blank.
Pile (BB)
A-1
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
A-2
APPENDIX A LIBRARY OBJECT DEFINITIONS
<!--
-->
</O>
<O N="H-Pile Section" T="Section">
<O T="Point" X="-bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2-tf" />
<O T="Point" X="tw/2" Y="d/2-tf" />
<O T="Point" X="tw/2" Y="-d/2+tf" />
<O T="Point" X="bf/2" Y="-d/2+tf" />
<O T="Point" X="bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2+tf" />
<O T="Point" X="-tw/2" Y="-d/2+tf" />
<O T="Point" X="-tw/2" Y="d/2-tf" />
<O T="Point" X="-bf/2" Y="d/2-tf" />
</O>
<O T="Volume">
<P N="Color" V="#ff0000" T="Text" />
<P N="Opacity" V="0.75" />
<P N="BetaAngle" V="Beta" />
<P N="Section" V="PileSection" T="Section" />
<O T="Point" Y="0" Z="0" X="0" />
<O T="Point" Y="L*sin(Phi)*sin(Batter)" Z="-L*cos(Batter)" X="L*sin(Batter)*cos(Phi)" />
</O>
<O N="Section View" T="CADD">
<P N="margin" V="1" />
<O T="CADDShape" Y="0" X="0" RZ="Phi">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2-tf" />
<O T="Point" X="tw/2" Y="d/2-tf" R="fillet" />
<O T="Point" X="tw/2" Y="-d/2+tf" R="fillet" />
<O T="Point" X="bf/2" Y="-d/2+tf" />
<O T="Point" X="bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2+tf" />
<O T="Point" X="-tw/2" Y="-d/2+tf" R="fillet" />
<O T="Point" X="-tw/2" Y="d/2-tf" R="fillet" />
<O T="Point" X="-bf/2" Y="d/2-tf" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="Phi">
<P N="Label" V="d: %d" T="Text" />
<O T="Point" Y="-d/2" X="bf/2" />
<O T="Point" Y="d/2" X="bf/2" />
<O T="Point" Y="0" X="bf/2+2*margin" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="Phi">
<P N="Label" V="tw: %d" T="Text" />
<O T="Point" Y="0" X="-tw/2" />
<O T="Point" Y="0" X="tw/2" />
<O T="Point" Y="0" X="0" />
A-3
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="Phi">
<P N="Label" V="tf: %d" T="Text" />
<O T="Point" Y="d/2-tf" X="bf/2" />
<O T="Point" Y="d/2" X="bf/2" />
<O T="Point" Y="0" X="bf/2+margin" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="Phi">
<P N="Label" V="bf: %d" T="Text" />
<O T="Point" Y="d/2" X="-bf/2" />
<O T="Point" Y="d/2" X="bf/2" />
<O T="Point" Y="d/2+2*margin" X="0" />
</O>
</O>
</O>
A-4
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-5
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Abutment U-Shaped Footing" T="Project">
<P N="Length" V="484.5" D="Footing Length (Transverse to Bridge Alignment)" Role="Input" />
<P N="Width" V="108" D="Footing Width (Along Bridge Alignment)" Role="Input" />
<P N="WWA_Length" V="384" D="Footing Length (Transverse to Bridge Alignment)" Role="Input" />
<P N="WWA_Width" V="108" D="Footing Width (Along Bridge Alignment)" Role="Input" />
<P N="WWB_Length" V="324" D="Footing Length (Transverse to Bridge Alignment)" Role="Input" />
<P N="WWB_Width" V="108" D="Footing Width (Along Bridge Alignment)" Role="Input" />
<P N="Depth" V="30" D="Footing Depth" Role="Input" />
<P N="BotElev" V="0" D="Footing Bottom Elevation" Role="Input" />
<P N="CL_Bearing" V="42" D="CL Bearing to Front Edge of Footing" Role="Input" />
<P N="HCL_Offset" V="188.25" D="HCL to Left Edge of Footing" Role="Input" />
<!-- created by Mike Bartholomew on 6/18/2015 -->
<O T="Surface" Z="BotElev">
<P N="Thickness" V="Depth" />
<O T="Point" X="-HCL_Offset" Y="-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset" Y="-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset" Y="WWA_Length-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset-WWA_Width" Y="WWA_Length-CL_Bearing" />
<O T="Point" X="Length-HCL_Offset-WWA_Width" Y="Width-CL_Bearing" />
<O T="Point" X="-HCL_Offset+WWB_Width" Y="Width-CL_Bearing" />
<O T="Point" X="-HCL_Offset+WWB_Width" Y="WWB_Length-CL_Bearing" />
<O T="Point" X="-HCL_Offset" Y="WWB_Length-CL_Bearing" />
</O>
<O N="Plan View" T="CADD">
<P N="margin" V="10" />
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-Length/2" Y="0" />
<O T="Point" X="Length/2" Y="0" />
<O T="Point" X="Length/2" Y="WWA_Length" />
<O T="Point" X="Length/2-WWA_Width" Y="WWA_Length" />
<O T="Point" X="Length/2-WWA_Width" Y="Width" />
<O T="Point" X="-Length/2+WWB_Width" Y="Width" />
<O T="Point" X="-Length/2+WWB_Width" Y="WWB_Length" />
<O T="Point" X="-Length/2" Y="WWB_Length" />
</O>
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 999)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="F" T="Text" />
<O T="Point" X="-54" Y="0-2*margin" />
<O T="Point" X="-54" Y="Width+2*margin" />
</O>
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 999)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="F" T="Text" />
<O T="Point" X="-Length/2-2*margin" Y="42" />
<O T="Point" X="Length/2+2*margin" Y="42" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Length = %d" T="Text" />
<O T="Point" X="-Length/2" Y="-margin" />
<O T="Point" X="Length/2" Y="-margin" />
<O T="Point" X="0" Y="-5*margin" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Width = %d" T="Text" />
A-6
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-7
APPENDIX A LIBRARY OBJECT DEFINITIONS
|Stem Abutment (BB)| library object is central object of compiling associated abutment objects. Other
abutment objects that are related include |Abutment Backwall 2|, |ConcPedestal (BB)|, |Pot Bearing|,
|Footing|, |Stem Wall (BB)|, |Cheekwall|, |Pile (BB)|, and |Wing Wall (BB)|. The library object includes
placement of pedestals; independent placement of pedestals can be accomplished by setting
PedestalDepth[0] and PedestalLocations1[0]. The stem height (StemH) is set at centerline and the top
slope of the stem varies about centerline based on the "PedSlope" parameter.
A-8
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Stem Abutment (BB)" T="Project">
<P N="Color" V="#00B2EE" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--<p> |Stem Abutment (BB)| library object is central object of compiling associated
abutment objects. Other abutment objects that are related include |Abutment Backwall 2|, |ConcPedestal
(BB)|
, |Pot Bearing|, |Footing|, |Stem Wall (BB)|, |Cheekwall|, |Pile (BB)|, and |Wing Wall (BB)|.
The library object includes placement of pedestals; independent placement of pedestals can be
accomplished by setting PedestalDepth[0] and PedestalLocations1[0].</p>
<p>
The stem height (StemH) is set at centerline and the top slope of the stem varies about
centerline based on the "PedSlope" parameter.
</p>-->
<!-- <i>created by <b>Alex Harrison</b> on 6/8/2015</i> -->
<!-- <i>updated by <b>Mike Bartholomew</b> on 6/18/2015</i> -->
<!-- <i>updated by <b>Benjamin Blasen</b> on 7/8/2015</i> -->
A-9
APPENDIX A LIBRARY OBJECT DEFINITIONS
<!--
-->
</O>
<O N="AbutData" T="Group">
<P N="AbutLength" V="436" D="Total Abut Length" Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
<P N="StemWidth" V="60" D="Abut Width" Role="Input" Category="AbutData" UT="Length" UC="Properties"
/>
<P N="PedSlope" V="0.069" D="Slope of surface for pedestal mounts" Role="Input" Category="AbutData"
UT="Length" UC="Properties" />
<P N="BackWallHeight" V="85" D="" Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="BackWallThick" V="24" D="" Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="BackWallNotchH" V="9" D="" Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="BackWallNotchV" V="20" D="" Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="StemH" V="84" D="Min Depth at Center" Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
</O>
<O N="PedestalData" T="Group">
<P N="PedestalTopWidth" V="36" D="Top Width of the Girder Supports" Role="Input"
Category="PedestalData" UT="Length" UC="Properties" />
<P N="PedestalBotWidth" V="46" D="Bottom Width of the Girder Supports" Role="Input"
Category="PedestalData" UT="Length" UC="Properties" />
<P N="PedestalL1" V="36" D="Length of Girder Support 1" Role="Input" Category="PedestalData" UT="Length"
UC="Properties" />
<P N="PedestalDepth" V="[0,6,4,2]" D="Depth of Girder Supports" Role="Input" Category="PedestalData"
UT="Length" UC="Properties" />
<P N="PedestalLocations1" V="[-171, -57, 57, 171]" D="Location of Pedistal set 1 from CL Abut" Role="Input"
Category="PedestalData" UT="Length" UC="Properties" />
<P N="PedestalOffset1" V="0" D="Location of girder support set 1 from CL Cap" Role="Input"
Category="PedestalData" UT="Length" UC="Properties" />
</O>
<O T="Volume">
<O N="A" T="Surface">
<O T="Point" X="-StemWidth/2" Z="-(AbutLength/2)*PedSlope" Y="-AbutLength/2" />
<O T="Point" X="StemWidth/2" Z="-(AbutLength/2)*PedSlope" Y="-AbutLength/2" />
<O T="Point" X="StemWidth/2" Z="-StemH" Y="-AbutLength/2" />
<O T="Point" X="-StemWidth/2" Z="-StemH" Y="-AbutLength/2" />
</O>
<O N="B" T="Surface">
<O T="Point" X="-StemWidth/2" Z="(AbutLength/2)*PedSlope" Y="AbutLength/2" />
<O T="Point" X="StemWidth/2" Z="(AbutLength/2)*PedSlope" Y="AbutLength/2" />
<O T="Point" X="StemWidth/2" Z="-StemH" Y="AbutLength/2" />
<O T="Point" X="-StemWidth/2" Z="-StemH" Y="AbutLength/2" />
</O>
</O>
<O T="Group">
<P N="Guard" V="PedestalL1.GT.0" />
<O T="Repeat">
<P N="S" V="0" />
<P N="E" V="length(PedestalLocations1)" />
<P N="I" V="1" />
<P N="CTRL" V="hnI" T="Text" />
<P N="hnI" V="0" />
<O T="Group">
<P N="Guard" V="hnI.GT.0" />
A-10
APPENDIX A LIBRARY OBJECT DEFINITIONS
<O T="Group">
<O N="GirdSupport" T="ConcPedestal (BB)" Z="PedestalLocations1[hnI-1]*PedSlope"
Y="PedestalLocations1[hnI-1]">
<P N="SupportSlope" V="PedSlope" D="T" />
<P N="SupportTopWidth" V="PedestalTopWidth" />
<P N="SupportBotWidth" V="PedestalBotWidth" />
<P N="SupportL" V="PedestalL1" />
<P N="PedestalOffset" V="PedestalOffset1" />
<P N="SupportDepth" V="PedestalDepth[hnI-1]" />
</O>
</O>
</O>
</O>
</O>
<O N="Abutment - Profile" T="CADD">
<P N="margin" V="6" />
<O T="CADDShape">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="4" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="0" Y="0" />
<O T="Point" X="-AbutLength/2" Y="0" />
<O T="Point" X="-AbutLength/2" Y="StemH+PedSlope*AbutLength/2" />
<O T="Point" X="0" Y="StemH" />
<O T="Point" X="AbutLength/2" Y="StemH-PedSlope*AbutLength/2" />
<O T="Point" X="AbutLength/2" Y="0" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="2" />
<O T="Point" X="0" Y="-12" />
<O T="Point" X="0" Y="12" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="2" />
<O T="Point" X="12" Y="0" />
<O T="Point" X="-12" Y="0" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Abutment Length = %d" T="Text" />
<O T="Point" Y="0" X="-AbutLength/2" />
<O T="Point" Y="0" X="AbutLength/2" />
<O T="Point" Y="-margin*4" X="0" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="%d" T="Text" />
<O T="Point" Y="0" X="-AbutLength/2" />
<O T="Point" Y="StemH+PedSlope*AbutLength/2" X="-AbutLength/2" />
<O T="Point" Y="0" X="-AbutLength/2-margin*3" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="%d" T="Text" />
<O T="Point" Y="0" X="AbutLength/2" />
<O T="Point" Y="StemH-PedSlope*AbutLength/2" X="AbutLength/2" />
<O T="Point" Y="0" X="AbutLength/2+margin*3" />
A-11
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Height = %d" T="Text" />
<O T="Point" Y="0" X="0" />
<O T="Point" Y="StemH" X="0" />
<O T="Point" Y="0" X="0" />
</O>
</O>
</O>
A-12
APPENDIX A LIBRARY OBJECT DEFINITIONS
Abutment Backwall 2
|Abutment Backwall| library object is meant to be placed on top of |Stem Abutment (BB)| library
object. This object has the option of a notch which can be limited on either end by a left stub and right
stub. The bottom of the backwall can follow a straight pedestal slope from the stem. The top of the
backwall can warp to follow the transverse contour of the roadway.
If the top of the backwall is warping to the roadway, it is important to achieve the correct adjustment of
the bottom points of the backwall through the use of the 'ADJ' factors; these factors are automated for a
backwall which is centered on the centerline of the roadway, but require adjustment for their y-position
if used otherwise. Additionally, the station parameter "S1" and orientation parameter "ADJside" are
used for this adjustment and can be neglected when the warp is not being used.
A-13
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-14
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Abutment Backwall 2" T="Project">
<P N="Color" V="#9988DD" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--<p> |Abutment Backwall| library object is meant to be placed on top of
|Stem Abutment (BB)| library object. This object has the option of a notch which
can be limited on either end by a left stub and right stub. The bottom of the backwall
can follow a straight pedestal slope from the stem. The top of the backwall can warp to
follow the transverse contour of the roadway. </p>
<p>
If the top of the backwall is warping to the roadway, it is important to achieve the
correct adjustment of the bottom points of the backwall through the use of the 'ADJ' factors;
these factors are automated for a backwall which is centered on the centerline of the roadway,
but require adjustment for their y-position if used otherwise. Additionally, the station
parameter "S1" and orientation parameter "ADJside" are used for this adjustment and can be
neglected when the warp is not being used.
</p>-->
A-15
APPENDIX A LIBRARY OBJECT DEFINITIONS
-->
</O>
<O N="AbutData" T="Group">
<P N="AbutLength" V="436" D="Total Abut Length, in." Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="StemWidth" V="60" D="Abutment Width, in." Role="Input" Category="AbutData" UT="Length" UC="Properties" />
<P N="BackWallHeight" V="85" D="Back Wall Height, in." Role="Input" Category="AbutData" UT="Length" UC="Properties"
/>
<P N="BackWallThick" V="24" D="Back Wall Thickness, in." Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
<P N="BackWallNotchH" V="9" D="Back Wall Notch Thickness, in." Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
<P N="BackWallNotchV" V="20" D="Back Wall Notch Height, in." Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
<P N="stubL" V="20" D="Length of Left Stub in Back Wall (from cutout), in." Role="Input" Category="AbutData"
UT="Length" UC="Properties" />
<P N="stubR" V="20" D="Length of Right Stub in Back Wall (from cutout), in." Role="Input" Category="AbutData"
UT="Length" UC="Properties" />
<P N="PedSlope" V="0.069" D="Slope of surface for pedestal mounts" Role="Input" Category="AbutData" UT="Length"
UC="Properties" />
<P N="S1" V="0" />
<P N="ADJside" V="1" D="Determines the appropriate side for the vertical adjustment based on whether the backwall is
facing forward on station (1) or back on station (-1)." />
<P N="ADJLF" V="-alignT(Alignment, S1-StemWidth/2+BackWallThick, -AbutLength/2*ADJside)" D="Adjustment needed on
the left side of the start haunch" />
<P N="ADJRF" V="-alignT(Alignment, S1-StemWidth/2+BackWallThick, AbutLength/2*ADJside)" D="Adjustment needed on
the right side of the start haunch" />
<P N="ADJLB" V="-alignT(Alignment, S1-StemWidth/2, -AbutLength/2*ADJside)" D="Adjustment needed on the left side of
the start haunch" />
<P N="ADJRB" V="-alignT(Alignment, S1-StemWidth/2, AbutLength/2*ADJside)" D="Adjustment needed on the right side of
the start haunch" />
<P N="ADJLM" V="-alignT(Alignment, S1-StemWidth/2+BackWallNotchH, -AbutLength/2*ADJside)" D="Adjustment needed
on the left side of the start haunch" />
<P N="ADJRM" V="-alignT(Alignment, S1-StemWidth/2+BackWallNotchH, AbutLength/2*ADJside)" D="Adjustment needed
on the right side of the start haunch" />
</O>
<O T="Volume" AlignH="Warp" AlignT="Warp">
<O T="Surface" X="-StemWidth/2">
<P N="SegmentsAround" V="1" />
<P N="SegmentsAlong" V="1" />
<O T="Point" X="0" Z="PedSlope*AbutLength/2-ADJLF" Y="-AbutLength/2" AlignTB="0" />
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="-AbutLength/2">
<P N="Guard" V="stubL.EQ.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="-AbutLength/2+stubL" />
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="AbutLength/2-stubR" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="AbutLength/2">
<P N="Guard" V="stubR.EQ.0" />
A-16
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="Point" X="0" Z="-PedSlope*AbutLength/2-ADJRF" Y="AbutLength/2" AlignTB="0" />
</O>
<O T="Surface" X="-StemWidth/2+BackWallNotchH">
<P N="SegmentsAround" V="1" />
<P N="SegmentsAlong" V="1" />
<O T="Point" X="0" Z="PedSlope*AbutLength/2-ADJLM" Y="-AbutLength/2" AlignTB="0" />
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="-AbutLength/2">
<P N="Guard" V="stubL.EQ.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="-AbutLength/2+stubL" />
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="AbutLength/2-stubR" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight-BackWallNotchV" Y="AbutLength/2">
<P N="Guard" V="stubR.EQ.0" />
</O>
<O T="Point" X="0" Z="-PedSlope*AbutLength/2-ADJRM" Y="AbutLength/2" AlignTB="0" />
</O>
<O T="Surface" X="-StemWidth/2+BackWallNotchH">
<P N="SegmentsAround" V="1" />
<P N="SegmentsAlong" V="1" />
<P N="Thickness" V="-BackWallThick+BackWallNotchH" />
<O T="Point" X="0" Z="PedSlope*AbutLength/2-ADJLM" Y="-AbutLength/2" AlignTB="0" />
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.EQ.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.EQ.0" />
</O>
<O T="Point" X="0" Z="-PedSlope*AbutLength/2-ADJRM" Y="AbutLength/2" AlignTB="0" />
</O>
<O T="Surface" X="-StemWidth/2+BackWallThick">
<P N="SegmentsAround" V="1" />
<P N="SegmentsAlong" V="1" />
<O T="Point" X="0" Z="PedSlope*AbutLength/2-ADJLB" Y="-AbutLength/2" AlignTB="0" />
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.EQ.0" />
A-17
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="-AbutLength/2+stubL" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR" />
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2-stubR">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">
<P N="Guard" V="stubR.EQ.0" />
</O>
<O T="Point" X="0" Z="-PedSlope*AbutLength/2-ADJRB" Y="AbutLength/2" AlignTB="0" />
</O>
</O>
<O N="Abutment Backwall - Profile" T="CADD">
<P N="margin" V="6" />
<O T="CADDShape">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="4" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" Y="PedSlope*AbutLength/2" X="-AbutLength/2" AlignTB="0" />
<O T="Point" Y="BackWallHeight-BackWallNotchV" X="-AbutLength/2">
<P N="Guard" V="stubL.EQ.0" />
</O>
<O T="Point" Y="BackWallHeight" X="-AbutLength/2">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" Y="BackWallHeight" X="-AbutLength/2+stubL">
<P N="Guard" V="stubL.NE.0" />
</O>
<O T="Point" Y="BackWallHeight-BackWallNotchV" X="-AbutLength/2+stubL" />
<O T="Point" Y="BackWallHeight-BackWallNotchV" X="AbutLength/2-stubR" />
<O T="Point" Y="BackWallHeight" X="AbutLength/2-stubR">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" Y="BackWallHeight" X="AbutLength/2">
<P N="Guard" V="stubR.NE.0" />
</O>
<O T="Point" Y="BackWallHeight-BackWallNotchV" X="AbutLength/2">
<P N="Guard" V="stubR.EQ.0" />
</O>
<O T="Point" Y="-PedSlope*AbutLength/2" X="AbutLength/2" AlignTB="0" />
</O>
<O T="CADDLine">
<P N="Thickness" V="3" />
<O T="Point" X="-AbutLength/2+stubL" Y="BackWallHeight" />
<O T="Point" X="AbutLength/2-stubR" Y="BackWallHeight" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="2" />
<O T="Point" X="0" Y="-12" />
<O T="Point" X="0" Y="12" />
</O>
<O T="CADDLine">
A-18
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-19
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Height = %d" T="Text" />
<O T="Point" Y="0" X="BackWallThick" />
<O T="Point" Y="BackWallHeight" X="BackWallThick" />
<O T="Point" Y="BackWallHeight/2" X="BackWallThick+margin*3" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Notch 'V' = %d" T="Text" />
<O T="Point" Y="BackWallHeight-BackWallNotchV" X="BackWallNotchH" />
<O T="Point" Y="BackWallHeight" X="BackWallNotchH" />
<O T="Point" Y="0" X="BackWallNotchH-margin*6" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Notch 'H' = %d" T="Text" />
<O T="Point" Y="BackWallHeight" X="BackWallNotchH" />
<O T="Point" Y="BackWallHeight" X="BackWallThick" />
<O T="Point" Y="BackWallHeight+margin*2" X="0" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Thickness = %d" T="Text" />
<O T="Point" Y="0" X="0" />
<O T="Point" Y="0" X="BackWallThick" />
<O T="Point" Y="-margin*3" X="0" />
</O>
</O>
</O>
A-20
APPENDIX A LIBRARY OBJECT DEFINITIONS
Wingwall (BB)
|Wing Wall (BB)| object can be placed on either side of an abutment with or without a sloped side and
angled end. The top of the Wing Wall may also slope based upon the relative difference between the
"Top Wall Height", "Crown Height", and "Lower Wall Height." The side of the wall which is straight or
sloped can be controlled with the "Slope" parameter.
Limitations:
A-21
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-22
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Wing Wall (BB)" T="Project">
<P N="Color" V="#00B2EE" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--
<p> |Wing Wall (BB)| object can be placed on either side of an abutment with
or without a sloped side and angled end. The top of the Wing Wall may also slope
based upon the relative difference between the "Top Wall Height", "Crown Height",
and "Lower Wall Height." The side of the wall which is straight or sloped can be controlled with
the "Slope" parameter.
</p>
-->
<!--<p>
<i>Created <b>Benjamin Blasen</b> on 7/9/2015 </i>
</p>-->
A-23
APPENDIX A LIBRARY OBJECT DEFINITIONS
<!--<p>
Limitations:
<br>1) Does not include wingwall barrier</br>
<br>2) Does not include reinforcement</br>
<br>3) Does not include architectural details</br>
</p>-->
</O>
<O N="WingWallData" T="Group">
<P N="Length" V="299.5" D="Total Wall Longitudinal Length, in." Role="Input" Category="WingWallData" />
<P N="DistanceToCrown" V="234" D="Distance from left side to Crown, in." Role="Input"
Category="WingWallData" />
<P N="Base_Width" V="60" D="Wall Width at Base, in." Role="Input" Category="WingWallData" />
<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height, x/y" Role="Input"
Category="WingWallData" />
<P N="Top_Wall_Height" V="215.4" D="Height of wall at higher end, in." Role="Input"
Category="WingWallData" />
<P N="Crown_Height" V="200.76" D="Height of wall at crown, in." Role="Input" Category="WingWallData" />
<P N="Lower_Wall_Height" V="186.6" D="Height of wall at lower end, in." Role="Input"
Category="WingWallData" />
<P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" Category="WingWallData" />
<P N="Skew" V="0.3" D="Skew angle of end of wall, rad" Role="Input" Category="WingWallData" />
<P N="Slope" V="2" D="Wall sloped to the '1' for Right, or '2' for Left" Role="Input" Category="WingWallData"
/>
</O>
<O N="Sloped to the right" T="Volume">
<P N="Guard" V="Slope.EQ.1" />
<O T="Surface" D="1st Plane, Insertion Point at center of base width">
<O T="Point" X="0" Z="0" Y="-Base_Width/2" />
<O T="Point" X="0" Z="Top_Wall_Height" Y="Base_Width/2-(Base_Width-Top_Width*Top_Wall_Height)" />
<O T="Point" X="0" Z="Top_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)"
Y="Base_Width/2" />
<O T="Point" X="0" Z="0" Y="Base_Width/2" />
</O>
<O T="Surface" D="2nd Plane, located at crown">
<O T="Point" X="DistanceToCrown" Z="0" Y="-Base_Width/2" />
<O T="Point" X="DistanceToCrown" Z="Crown_Height" Y="Base_Width/2-(Base_Width-
Top_Width*Crown_Height)" />
<O T="Point" X="DistanceToCrown" Z="Crown_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)"
Y="Base_Width/2" />
<O T="Point" X="DistanceToCrown" Z="0" Y="Base_Width/2" />
</O>
<O T="Surface" D="3rd Plane, end of wall which may skew">
<O T="Point" X="Length" Z="0" Y="-Base_Width/2+Skew*(Length-DistanceToCrown)" />
<O T="Point" X="Length" Z="Lower_Wall_Height" Y="Base_Width/2-(Base_Width-
Top_Width*Lower_Wall_Height)+Skew*(Length-DistanceToCrown)" />
<O T="Point" X="Length" Z="Lower_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)"
Y="Base_Width/2+Skew*(Length-DistanceToCrown)" />
<O T="Point" X="Length" Z="0" Y="Base_Width/2+Skew*(Length-DistanceToCrown)" />
</O>
</O>
<O N="Sloped to the left" T="Volume" X="0" Y="0">
<P N="Guard" V="Slope.EQ.2" />
<O T="Surface" D="1st Plane, Insertion Point at center of base width">
<O T="Point" X="0" Z="0" Y="-Base_Width/2" />
<O T="Point" X="0" Z="Top_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)" Y="-
Base_Width/2" />
A-24
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-25
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-26
APPENDIX A LIBRARY OBJECT DEFINITIONS
Cheekwall
|Cheekwall| library object is meant to be placed on top of |Stem Abutment (BB)| library object. This
object is placed outside of the girders on the edge of the abutment as a visual cover and protection of
the bearing connection. The top of the cheekwall has the option to slope using the "TopSlope"
parameter. The bottom of the cheekwall has the opotion to follow a stem pedestal slope using the
"PedSlope" parameter.
A-27
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Cheekwall" T="Project">
<P N="Color" V="#00FF66" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--<p> |Cheekwall| library object is meant to be placed on top of
|Stem Abutment (BB)| library object. This object is placed outside of the girders
on the edge of the abutment as a visual cover and protection of the bearing connection.</p>
<p>
The top of the cheekwall has the option to slope using the "TopSlope" parameter. The bottom of
the cheekwall has the opotion to follow a stem pedestal slope using the "PedSlope" parameter.
</p>-->
<!-- <i>created by <b>Benjamin Blasen</b> on 7/17/2015</i> -->
<!--
-->
A-28
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="Group">
<P N="Height" V="79.68" D="Cheekwall height at front face, in." Role="Input" UT="Length" UC="Properties" />
<P N="Width" V="10" D="Abutment Width, in." Role="Input" UT="Length" UC="Properties" />
<P N="Length" V="36" D="Abutment Width, in." Role="Input" UT="Length" UC="Properties" />
<P N="PedSlope" V="0.069" D="Slope of surface for pedestal mounts" Role="Input" UT="Length"
UC="Properties" />
<P N="TopSlope" V="-0.0567" D="Slope of top of cheekwall" Role="Input" UT="Length" UC="Properties" />
</O>
<O T="Volume">
<O T="Surface" X="Length">
<O T="Point" Y="Width/2" Z="Width/2*PedSlope" />
<O T="Point" Y="Width/2" Z="Height" />
<O T="Point" Y="-Width/2" Z="Height" />
<O T="Point" Y="-Width/2" Z="-Width/2*PedSlope" />
</O>
<O T="Surface" X="0">
<O T="Point" Y="Width/2" Z="Width/2*PedSlope" />
<O T="Point" Y="Width/2" Z="Height+Length*TopSlope" />
<O T="Point" Y="-Width/2" Z="Height+Length*TopSlope" />
<O T="Point" Y="-Width/2" Z="-Width/2*PedSlope" />
</O>
</O>
<O N="Cheekwall - Section" T="CADD">
<P N="margin" V="3" />
<O T="CADDShape">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="4" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="0" Y="0" />
<O T="Point" X="Width" Y="0" />
<O T="Point" X="Width" Y="Height" />
<O T="Point" X="0" Y="Height" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="2" />
<O T="Point" X="0" Y="-4" />
<O T="Point" X="0" Y="4" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="2" />
<O T="Point" X="4" Y="0" />
<O T="Point" X="-4" Y="0" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Width = %d" T="Text" />
<O T="Point" Y="0" X="0" />
<O T="Point" Y="0" X="Width" />
<O T="Point" Y="-margin" X="0" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Height = %d" T="Text" />
<O T="Point" Y="0" X="Width" />
<O T="Point" Y="Height" X="Width" />
A-29
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-30
APPENDIX A LIBRARY OBJECT DEFINITIONS
ConcPedestal (BB)
|ConcPedestal (BB)| library object is for providing level bearing seats on top of |Stem Abutment (BB)|
or |Hammerhead Pier Cap (BB)| library objects. If the support seat is sloped, the thickness of the
pedestal is variable. The top and bottom widths can also vary.
A-31
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="ConcPedestal (BB)" T="Project">
<O N="ObjDesc" T="Group">
<!--<p> |ConcPedestal (BB)| library object is meant to be placed on top of
abutments or piers. </p>-->
<!-- <i>Created by <b>Alex Harrison</b> on 6/3/2015</i> -->
<!-- <i>Updated by <b>Benjamin Blasen</b> on 7/27/2015</i> -->
<!--
-->
</O>
<O N="PedestalData" T="Group">
<P N="PedestalOffset" V="0" D="Location of edge of pedestal, in." Role="Input" Category="PedestalData"
UT="Length" UC="Properties" />
<P N="SupportSlope" V=".069" D="Slope of support." Role="Input" Category="PedestalData" />
<P N="SupportTopWidth" V="36" D="Top width." Role="Input" Category="PedestalData" />
<P N="SupportBotWidth" V="46" D="Bottom width." Role="Input" Category="PedestalData" />
<P N="SupportL" V="36" D="Support longitudinal length." Role="Input" Category="PedestalData" />
<P N="SupportDepth" V="4" D="Depth of pedestal." Role="Input" Category="PedestalData" />
</O>
<O N="Pedestal" T="Volume">
<P N="xStart" V="PedestalOffset-SupportL/2" />
<P N="xEnd" V="PedestalOffset+SupportL/2" />
<O T="Section">
<O T="Point" X="xStart" Y="SupportBotWidth/2" Z="SupportBotWidth/2*SupportSlope" />
<O T="Point" X="xEnd" Y="SupportBotWidth/2" Z="SupportBotWidth/2*SupportSlope" />
<O T="Point" X="xEnd" Y="-SupportBotWidth/2" Z="-SupportBotWidth/2*SupportSlope" />
<O T="Point" X="xStart" Y="-SupportBotWidth/2" Z="-SupportBotWidth/2*SupportSlope" />
</O>
<O T="Section" Z="SupportDepth">
<O T="Point" X="xStart" Y="SupportTopWidth/2" />
<O T="Point" X="xEnd" Y="SupportTopWidth/2" />
<O T="Point" X="xEnd" Y="-SupportTopWidth/2" />
<O T="Point" X="xStart" Y="-SupportTopWidth/2" />
</O>
</O>
<O T="Private">
<O N="Reference" T="InsertionPoint">
<P N="Size" V="1" />
</O>
</O>
<O N="Elev from 3D" T="CADDFrom3D" RX="PI/2" RZ="PI/2">
<P N="Obj3D" V="Pedestal" T="Group" />
</O>
</O>
A-32
APPENDIX A LIBRARY OBJECT DEFINITIONS
Drilled Shaft
|DrilledShaft| library object is used for a Drilled Shaft with parameters D, for Diameter and L, for Length.
The reference insertion point is the center of the shaft at the top surface.
A-33
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="DrilledShaft" T="Project"> <P N="D" V="54" D="Shaft Diameter" Role="Input" />
A-34
APPENDIX A LIBRARY OBJECT DEFINITIONS
Rectangular Footing
A-35
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Rectangular Footing" T="Project">
<P N="Length" V="120" D="Footing Length (Along Bridge Alignment)" Role="Input" />
<P N="Width" V="192" D="Footing Width (Transverse to Bridge Alignment)" Role="Input" />
<P N="Depth" V="48" D="Footing Depth" Role="Input" />
<P N="BotElev" V="0" D="Footing Bottom Elevation" Role="Input" />
<P N="Opacity" V="0.8" />
<!-- created by Mike Bartholomew on 6/2/2015 -->
<O T="Surface" Z="BotElev">
<P N="Thickness" V="Depth" />
<O T="Point" X="-Length/2" Y="-Width/2" />
<O T="Point" X="Length/2" Y="-Width/2" />
<O T="Point" X="Length/2" Y="Width/2" />
<O T="Point" X="-Length/2" Y="Width/2" />
</O>
<O N="Plan View" T="CADD">
<P N="margin" V="2" />
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-Length/2" Y="-Width/2" />
<O T="Point" X="Length/2" Y="-Width/2" />
<O T="Point" X="Length/2" Y="Width/2" />
<O T="Point" X="-Length/2" Y="Width/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Width = %d" T="Text" />
<O T="Point" X="Length/2+margin" Y="-Width/2" />
<O T="Point" X="Length/2+margin" Y="Width/2" />
<O T="Point" X="Length/2+10*margin" Y="Width/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Length = %d" T="Text" />
<O T="Point" X="-Length/2" Y="Width/2+margin" />
<O T="Point" X="Length/2" Y="Width/2+margin" />
<O T="Point" X="0" Y="Width/2+10*margin" />
</O>
</O>
<O N="Longitudinal Elevation View" T="CADD">
<P N="margin" V="2" />
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-Length/2" Y="BotElev" />
<O T="Point" X="Length/2" Y="BotElev" />
<O T="Point" X="Length/2" Y="Depth" />
<O T="Point" X="-Length/2" Y="Depth" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Length = %d" T="Text" />
<O T="Point" X="-Length/2" Y="Depth+margin" />
<O T="Point" X="Length/2" Y="Depth+margin" />
<O T="Point" X="Length/2" Y="Depth+10*margin" />
A-36
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Depth = %d" T="Text" />
<O T="Point" X="Length/2+margin" Y="BotElev" />
<O T="Point" X="Length/2+margin" Y="BotElev+Depth" />
<O T="Point" X="Length/2+10*margin" Y="0" />
</O>
</O>
</O>
A-37
APPENDIX A LIBRARY OBJECT DEFINITIONS
Rectangular Column
A-38
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Rectangular Column" T="Project">
<P N="Depth" V="80" D="Column Depth (Along Bridge Alignment)" Role="Input" />
<P N="Width" V="90" D="Column Width (Transverse to Bridge Alignment)" Role="Input" />
<P N="TopElev" V="800" D="Column Top Elevation" Role="Input" />
<P N="BotElev" V="0" D="Column Bottom Elevation" Role="Input" />
<P N="Height" V="TopElev-BotElev" D="Column Height" />
<!-- created by Mike Bartholomew on 6/2/2015 -->
<O T="Surface">
<P N="Opacity" V="0.8" />
<P N="Thickness" V="Height" />
<O T="Point" X="-Depth/2" Y="-Width/2" Z="BotElev" />
<O T="Point" X="Depth/2" Y="-Width/2" Z="BotElev" />
<O T="Point" X="Depth/2" Y="Width/2" Z="BotElev" />
<O T="Point" X="-Depth/2" Y="Width/2" Z="BotElev" />
</O>
<O N="Plan View" T="CADD">
<P N="margin" V="2" />
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-Depth/2" Y="-Width/2" />
<O T="Point" X="Depth/2" Y="-Width/2" />
<O T="Point" X="Depth/2" Y="Width/2" />
<O T="Point" X="-Depth/2" Y="Width/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Width = %d" T="Text" />
<O T="Point" X="Depth/2+margin" Y="-Width/2" />
<O T="Point" X="Depth/2+margin" Y="Width/2" />
<O T="Point" X="Depth/2+10*margin" Y="Width/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Depth = %d" T="Text" />
<O T="Point" X="-Depth/2" Y="Width/2+margin" />
<O T="Point" X="Depth/2" Y="Width/2+margin" />
<O T="Point" X="0" Y="Width/2+10*margin" />
</O>
</O>
<O N="Longitudinal Elevation View" T="CADD">
<P N="margin" V="2" />
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="-Depth/2" Y="BotElev" />
<O T="Point" X="Depth/2" Y="BotElev" />
<O T="Point" X="Depth/2" Y="BotElev+Height" />
<O T="Point" X="-Depth/2" Y="BotElev+Height" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Depth = %d" T="Text" />
<O T="Point" X="-Depth/2" Y="BotElev+Height+2*margin" />
<O T="Point" X="Depth/2" Y="BotElev+Height+2*margin" />
A-39
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-40
APPENDIX A LIBRARY OBJECT DEFINITIONS
The |Hammerhead Pier Cap (BB)| object is used as the superstructure support base for a rectangular
single column pier. It serves as an extension of the pier column. The cap can have a constant cross slope
or a crown section, and can have either a single or double row of |ConcPedestal (BB)| objects for
bearing supports.
A-41
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Hammerhead Pier Cap (BB)" T="Project">
<P N="Color" V="#00B2EE" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--<p> |Hammerhead Pier Cap (BB)| library object.</p>-->
<!-- <i>created by Alex Harrison on 6/3/2015 -->
<!-- edited by Mike Bartholomew on 6/15/2015 -->
<!-- edited by Benjamin Blasen on 7/24/2015</i> -->
<!--<br>
Limitations
1) 1 Crown/2 Slopes
2) Oriented Along a layout line
3) Ends of cap are normal to cap lay out line</br>
-->
</O>
<O N="PierData" T="Group">
<P N="PierLength" V="436" D="Total Pier Length" Role="Input" Category="Pier Data" />
<P N="PierWidth" V="60" D="Pier Width" Role="Input" Category="Pier Data" />
<P N="DistanceToCrown" V="1" D="Distance from Left edge to Crown" Role="Input" Category="Pier Data" />
<P N="PCrossSlopeL" V="-.1" D="Cross Slope to left of Crown" Role="Input" Category="Pier Data" />
<P N="PCrossSlopeR" V="-.1" D="Cross Slope to Right of Crown" Role="Input" Category="Pier Data" />
<P N="MinD_R" V="52" D="Left Min Depth" Role="Input" Category="Pier Data" />
<P N="MaxD_R" V="123" D="Left Max Depth" Role="Input" Category="Pier Data" />
<P N="ColumnExt" V="50" D="Upper part of column" Role="Input" Category="Pier Data" />
<P N="ColumnRadius" V="59.7" D="Radius from Pier Cap to Colum" Role="Input" Category="Pier Data" />
<P N="ExtensionL" V="158" D="Left Sloped Section" Role="Input" Category="Pier Data" />
<P N="ExtensionR" V="158" D="Right Sloped Section" Role="Input" Category="Pier Data" />
<P N="MinD_L" V="52" D="Right Min Depth" Role="Input" Category="Pier Data" />
<P N="MaxD_L" V="123" D="Right Max Depth" Role="Input" Category="Pier Data" />
</O>
<O N="Pedestal" T="Group">
<P N="PedestalTopWidth" V="14" D="Top Width of the Girder Supports" Role="Input" Category="Pedestal
Data" />
<P N="PedestalBotWidth" V="18" D="Bottom Width of the Girder Supports" Role="Input" Category="Pedestal
Data" />
<P N="PedestalL1" V="24" D="Length of Girder Support 1" Role="Input" Category="Pedestal Data" />
<P N="PedestalL2" V="0" D="Length of Girder Support 2" Role="Input" Category="Pedestal Data" />
<P N="PedestalDepth" V="[0,1,2,3,4]" D="Depth of Girder Supports" Role="Input" Category="Pedestal Data" />
<P N="PedestalLocations1" V="[ -180, -80, 80, 180]" D="Location of Pedestal set 1 from CL Pier" Role="Input"
Category="Pedestal Data" />
<P N="PedestalLocations2" V="[-180, -80, 80, 180]" D="Location of girder Support set 2from left edge of deck"
Role="Input" Category="Pedestal Data" />
<P N="PedestalOffset1" V="0" D="Location of girder support set 1 from CL Cap" Role="Input"
Category="Pedestal Data" />
<P N="PedestalOffset2" V="-0" D="Location of girder support set 2 from CL Cap" Role="Input"
Category="Pedestal Data" />
</O>
<O N="Column and Foundation Data" T="Group">
<P N="ColumnH" V="60" D="Column Height" Role="Input" Category="Column Data" />
<P N="ColumnV" V="120" D="Column Width" Role="Input" Category="Column Data" />
<P N="FootTopElev" V="-40" D="" />
<P N="FootH" V="200" D="" />
A-42
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="Group">
<P N="Guard" V="PedestalLocations1[hnI-1].LT.DistanceToCrown" />
<O T="ConcPedestal (BB)" Z="-(PedestalLocations1[hnI-1]-DistanceToCrown)*PCrossSlopeR" Y="-
PedestalLocations1[hnI-1]">
<P N="SupportSlope" V="PCrossSlopeR" D="T" />
<P N="SupportTopWidth" V="PedestalTopWidth" />
<P N="SupportBotWidth" V="PedestalBotWidth" />
<P N="SupportL" V="PedestalL1" />
<P N="SupportDepth" V="PedestalDepth[hnI-1]" />
<P N="DistToCrown" V="PedestalLocations1[hnI-1]-DistanceToCrown" />
</O>
</O>
</O>
</O>
<O T="Group">
<P N="Guard" V="PedestalL2.GT.0" />
<O T="Repeat">
<P N="S" V="0" />
<P N="E" V="length(PedestalLocations2)" />
<P N="I" V="1" />
<P N="CTRL" V="hnI" T="Text" />
<P N="hnI" V="0" />
<O T="Group">
<P N="Guard" V="hnI.GT.0" />
<O T="Group">
<P N="Guard" V="PedestalLocations2[hnI-1].GT.DistanceToCrown" />
<O T="ConcPedestal (BB)" Z="-(-PedestalLocations2[hnI-1]+DistanceToCrown)*PCrossSlopeL" Y="-
PedestalLocations2[hnI-1]">
<P N="SupportSlope" V="-PCrossSlopeL" D="T" />
<P N="SupportTopWidth" V="PedestalTopWidth" />
<P N="SupportBotWidth" V="PedestalBotWidth" />
<P N="SupportL" V="PedestalL2" />
<P N="SupportDepth" V="PedestalDepth[hnI-1]" />
<P N="DistToCrown" V="PedestalLocations2[hnI-1]-DistanceToCrown" />
</O>
</O>
<O T="Group">
<P N="Guard" V="PedestalLocations2[hnI-1].EQ.DistanceToCrown" />
<O T="ConcPedestal (BB)" Z="0" Y="PedestalLocations2[hnI-1]">
<P N="SupportSlope" V="-(PCrossSlopeR+PCrossSlopeL)/2" D="T" />
<P N="SupportTopWidth" V="PedestalTopWidth" />
<P N="SupportBotWidth" V="PedestalBotWidth" />
<P N="SupportL" V="PedestalL2" />
<P N="SupportDepth" V="PedestalDepth[hnI-1]" />
<P N="DistToCrown" V="-PedestalLocations2[hnI-1]+DistanceToCrown" />
</O>
</O>
<O T="Group">
<P N="Guard" V="PedestalLocations2[hnI-1].LT.DistanceToCrown" />
<O T="ConcPedestal (BB)" Z="-(PedestalLocations2[hnI-1]-DistanceToCrown)*PCrossSlopeR" Y="-
PedestalLocations2[hnI-1]">
<P N="SupportSlope" V="PCrossSlopeR" D="T" />
<P N="SupportTopWidth" V="PedestalTopWidth" />
<P N="SupportBotWidth" V="PedestalBotWidth" />
<P N="SupportL" V="PedestalL2" />
A-44
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-45
APPENDIX A LIBRARY OBJECT DEFINITIONS
Pot Bearing
|Pot Bearing| is a simplified bearing system which uses a masonry base plate, pot and piston, and a top
sole plate. The sole plate can vary in thickness based on the slope of the bottom of the girders that it
supports.
ParamML Code
<O N="Pot Bearing" T="Project">
<P N="Opacity" V="0.9" />
<O N="ObjDesc" T="Group">
<!--
<p> |Pot Bearing| is a simplified bearing system which shows a masonry base plate,
A-46
APPENDIX A LIBRARY OBJECT DEFINITIONS
the pot & piston, and a top sole plate. The default total thickness of the system is 8.1875 inches.
</p>
-->
<!--<p>
<i>Created <b>Benjamin Blasen</b> on 7/20/2015 </i>
</p>-->
<!--<p>
Limitations:
<br>1) Does not include gaskets</br>
<br>2) Only the masonry base plate is variable based on user input.</br>
</p>-->
</O>
<O N="Parameters" T="Group">
<P N="EndUserInputFields" V="1" />
<P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" Category="Parameters" />
<P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" Category="Parameters" />
<P N="t" V="2.625" D="Thickness of the masonry plate (A), in." Role="Input" Category="Parameters" />
<P N="D" V="14.625" D="Distance of bolt holes from CL (D), in." Role="Input" Category="Parameters" />
<P N="d" V="1.00" D="Diameter of bolt holes, in." Role="Input" Category="Parameters" />
<P N="c" V="0.75" D="Bearing depth of piston compression, in." Role="Input" Category="Parameters" />
<P N="Sta" V="0" D="x-Station" Role="Input" Category="Parameters" />
</O>
<O N="PotBearing" T="Group">
<O N="MASONRY" T="Surface">
<P N="nr" V="2" D="Number of rows of bolt holes." Role="Input" Category="Parameters" />
<P N="nb" V="2" D="Number of equally spaced bolts per row." Role="Input" Category="Parameters" />
<P N="cl" V="h/2-D" D="Clearance of holes from edges (C/2-D)." Role="Input" Category="Parameters" />
<P N="Thickness" V="t" D="Masonry plate thickness." Role="Input" Category="Parameters" />
<P N="spX" V="(w-cl*2)/(nb-1)" D="spacing between bolt holes along X direction" />
<P N="spY" V="(h-cl*2)/(nr-1)" D="spacing between bolt holes along Y direction" />
<O T="Point" X="-w/2" Y="-h/2" Z="0" />
<O T="Point" X="w/2" Y="-h/2" Z="0" />
<O T="Point" X="w/2" Y="h/2" Z="0" />
<O T="Point" X="-w/2" Y="h/2" Z="0" />
<O T="Repeat" S="0" I="1" E="nr-1" CTRL="j" j="0">
<O T="Repeat" S="0" I="1" E="nb-1" CTRL="i" i="0">
<P N="locX" V="-w/2 + cl + spX * i" D="X location of the bolt hole" />
<P N="locY" V="-h/2 + cl + spY * j" D="Y location of the bolt hole" />
<O T="Circle" X="locX" Y="locY">
<P N="IsCutout" V="1" />
<P N="Segments" V="20" />
<P N="Radius" V="d/2" />
</O>
</O>
</O>
</O>
<O N="POT" T="Volume" Z="t">
<P N="M" V="14.875" D="Pot diameter." Role="Input" Category="Parameters" />
<O T="Circle" Z="2.5625">
<P N="Radius" V="M/2" />
</O>
<O T="Circle" Z="0">
<P N="Radius" V="M/2" />
</O>
</O>
A-47
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-48
APPENDIX A LIBRARY OBJECT DEFINITIONS
OregonBulbT
A-49
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="OregonBulbT" T="Project">
<!-- created by Mike Bartholomew on 12/18/2015 -->
<O N="Oregon Std Bulb-T Beam" T="Section">
<P N="w_tf" V="4" D="Top flange width, in " Role="Input" />
<P N="w" V="2" D="Bottom flange width, in " Role="Input" />
<P N="h" V="6.25" D="overall depth, in " Role="Input" />
<P N="t_ft_e" V="0.16666667" D="Top flange thickness (edge)" Role="Input" />
<P N="t_ft_w" V="0.33333333" D="Top flange thickness (web)" Role="Input" />
<P N="t_fb_e" V="0.5" D="Bottom flange thickness (edge)" Role="Input" />
<P N="t_fb_w" V="0.75" D="Bottom flange thickness (web)" Role="Input" />
<P N="b_w" V="0.5" D="width of web, in " Role="Input" />
<P N="Fillet" V="0.16666667" D="Top fillet, in " Role="Input" />
<P N="Chamfer" V="0.08333333" D="Bottom Chamfer, in " Role="Input" />
<O N="Full Section" T="Section">
<O T="Point" X="w_tf/2" Y="0" />
<O T="Point" X="w_tf/2" Y="-t_ft_e" />
<O T="Point" X="b_w/2+Fillet" Y="-t_ft_w" />
<O T="Point" X="b_w/2" Y="-t_ft_w-Fillet" />
<O T="Point" X="b_w/2" Y="-h+t_fb_w" />
<O T="Point" X="w/2" Y="-h+t_fb_e" />
<O T="Point" X="w/2" Y="-h+Chamfer" />
<O T="Point" X="w/2-Chamfer" Y="-h" />
<O T="Point" X="-w/2+Chamfer" Y="-h" />
<O T="Point" X="-w/2" Y="-h+Chamfer" />
<O T="Point" X="-w/2" Y="-h+t_fb_e" />
<O T="Point" X="-b_w/2" Y="-h+t_fb_w" />
<O T="Point" X="-b_w/2" Y="-t_ft_w-Fillet" />
<O T="Point" X="-b_w/2-Fillet" Y="-t_ft_w" />
<O T="Point" X="-w_tf/2" Y="-t_ft_e" />
<O T="Point" X="-w_tf/2" Y="0" />
</O>
<O N="End Section" T="Section">
<O T="Point" X="b_w/2" Y="0" />
<O T="Point" X="b_w/2" Y="-h+t_fb_w" />
<O T="Point" X="w/2" Y="-h+t_fb_e" />
<O T="Point" X="w/2" Y="-h+Chamfer" />
<O T="Point" X="w/2-Chamfer" Y="-h" />
<O T="Point" X="-w/2+Chamfer" Y="-h" />
<O T="Point" X="-w/2" Y="-h+Chamfer" />
<O T="Point" X="-w/2" Y="-h+t_fb_e" />
<O T="Point" X="-b_w/2" Y="-h+t_fb_w" />
<O T="Point" X="-b_w/2" Y="0" />
</O>
</O>
<O N="Girder 1" T="Group">
<O T="Line">
<P N="StartSkewX" V="0" />
<P N="EndSkewX" V="-0.4" />
<P N="Section" V="End Section" T="Section" />
<P N="Opacity" V="0.7" />
<P N="DrawBorder" V="1" />
<P N="DrawFaceA" V="1" />
<P N="DrawFaceB" V="1" />
<P N="DrawFaceBBorder" V="1" />
A-50
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-51
APPENDIX A LIBRARY OBJECT DEFINITIONS
|Std Box Beam (BB)| library object based on NY State DOT standard for adjacent box beams. Beams are
hollow and have intermediate and end diaphragms.
Limitations:
A-52
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
A-53
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="t_fb = %d" T="Text" />
<O T="Point" Y="-h" X="-w/2" />
<O T="Point" Y="-h+t_fb" X="-w/2" />
<O T="Point" Y="-h+t_ft/2" X="-w/2-margin*4" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="b_w = %d" T="Text" />
<O T="Point" Y="-h/2" X="-w/2+w_KeyB" />
<O T="Point" Y="-h/2" X="-w/2+b_w+w_KeyB" />
<O T="Point" Y="-h/2" X="-w/2+b_w/2+w_KeyB" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Fillet (typ.) = %d" T="Text" />
<O T="Point" Y="-t_ft" X="-w/2+w_KeyB+b_w" />
<O T="Point" Y="-t_ft" X="-w/2+w_KeyB+b_w+Fillet" />
<O T="Point" Y="margin*2" X="-w/2+w_KeyB+b_w+Fillet/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="Fillet (typ.) = %d" T="Text" />
<O T="Point" Y="-h+t_ft" X="-w/2+w_KeyB+b_w" />
<O T="Point" Y="-h+t_ft+Fillet" X="-w/2+w_KeyB+b_w" />
<O T="Point" Y="-h+t_ft+Fillet/2" X="-w/2-margin*2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="h_KeyT = %d" T="Text" />
<O T="Point" Y="-h_KeyT" X="w/2" />
<O T="Point" Y="0" X="w/2" />
<O T="Point" Y="-h_KeyT/2" X="w/2+margin*2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="h_KeyB = %d" T="Text" />
<O T="Point" Y="-h" X="w/2" />
<O T="Point" Y="-h+h_KeyB" X="w/2" />
<O T="Point" Y="-h+h_KeyB/2" X="w/2+margin*2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="w_KeyB = %d" T="Text" />
<O T="Point" Y="-h+h_KeyB+w_KeyB" X="w/2-w_KeyB" />
<O T="Point" Y="-h+h_KeyB+w_KeyB" X="w/2" />
<O T="Point" Y="-h+h_KeyB+margin*2" X="w/2+w_KeyB/2" />
</O>
<O T="CADDDimensionLine" Y="0" X="0" RZ="0">
<P N="Label" V="w_KeyT = %d" T="Text" />
<O T="Point" Y="-h_KeyT-w_KeyB" X="w/2-w_KeyB" />
<O T="Point" Y="-h_KeyT-w_KeyB" X="w/2-w_KeyT" />
<O T="Point" Y="-h_KeyT-margin*2" X="w/2-w_KeyT/2" />
</O>
</O>
<O N="Box Beam - Plan" T="CADD">
<P N="margin" V="0.5" />
<!-- creates box -->
<O T="CADDShape" Y="0" X="0" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
A-57
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-59
APPENDIX A LIBRARY OBJECT DEFINITIONS
SteelGirderMB
SteelGirderMB object is used for creating Bridge Steel Plate I-Girders. Girders can be defined as a single
object for the entire length of the bridge, or as individual field sections. The cross section is comprised of
a web and top and bottom flange plates. The widths and thicknesses of the plates can vary in steps
along the length of the girder.
The girder also includes provisions for various types of vertical stiffeners, including shear stiffeners, cross
frame connection plates, bearing stiffeners at supports, and jacking stiffeners near supports for future
bearing replacement.
A-60
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="SteelGirderMB" T="Project">
<P N="StartStation" V="0" />
<P N="Offset" V="0" />
<O N="ObjDesc" T="Group">
<!--
<p> |SteelGirderMB| object is used for creating Bridge Steel Plate I-Girders.
Girders can be defined as a single object for the entire length of the bridge,
or as individual field sections. The cross section is comprised of a web and
top and bottom flange plates. The widths and thicknesses of the plates can vary
in steps along the length of the girder. </p>
</p> The girder also includes provisions for various types of vertical
stiffeners, including shear stiffeners, cross frame connection plates,
bearing stiffeners at supports, and jacking stiffeners near supports for
future bearing replacement. </p> <P N="Opacity" V="1" />
-->
</O>
<!-- created by Mike Bartholomew on 7/23/2015 -->
<O N="Girder Cross Section Data" T="Group">
<P N="Length" V="1000" D="Length of Field Section" Role="Input" Category="Girder Cross Section Data" />
<P N="dw" V="90" D="Web depth of the I girder" Role="Input" Category="Girder Cross Section Data" />
<P N="tw" V="0.75" D="Web thickness of the I girder" Role="Input" Category="Girder Cross Section Data" />
<P N="tfb" V="[[0,320], 1,[320,680], 3,[680,1000], 1]" D="Thickness of the bottom flange of the I girder"
Role="Input" Category="Girder Cross Section Data" />
<P N="bft" V="[[0,320],20,[320,680],24,[680,1000],20]" D="Width of the top flange of the I girder"
Role="Input" Category="Girder Cross Section Data" />
<P N="tft" V="[[0,320], 1,[320,680], 3,[680,1000], 1]" D="Thickness of the top flange of the I girder"
Role="Input" Category="Girder Cross Section Data" />
<P N="bfb" V="[[0,320],20,[320,680],24,[680,1000],20]" D="Width of the bottom flange of the I girder"
Role="Input" Category="Girder Cross Section Data" /> <O N="StiffenerData" T="Group">
<O N="ShearStiffener" T="Group">
<P N="WebStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None"
Role="Input" Category="ShearStiffener" />
<P N="WebStiffT" V="0.25" D="Shear Stiffener Thickness" Role="Input" Category="ShearStiffener" />
<P N="WebStiffW" V="6" D="ShearStiffener Width" Role="Input" Category="ShearStiffener" />
<P N="WebStiffHeight" V="90" D="Shear Stiffener Height" Role="Input" Category="ShearStiffener" />
<P N="WebStiffClipH" V="1.5" D="Shear Stiffener Horizontal Clip" Role="Input" Category="ShearStiffener" />
<P N="WebStiffClipV" V="2.5" D="Shear Stiffener Vertical Clip" Role="Input" Category="ShearStiffener" />
<P N="WebStiffLoc" V="[300, 400, 500, 700, 800]" D="Shear Stiffener locations" Role="Input"
Category="ShearStiffener" />
</O>
<O N="ConnectionStiffener" T="Group">
<P N="ConnStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None"
Role="Input" Category="ConnectionStiffener" />
<P N="ConnStiffT" V="0.5" D="Connection Stiffener Thickness" Role="Input" Category="ConnectionStiffener"
/>
<P N="ConnStiffW" V="6" D="Connection Stiffener Width" Role="Input" Category="ConnectionStiffener" />
<P N="ConnStiffHeight" V="90" D="Connection Stiffener Height" Role="Input"
Category="ConnectionStiffener" />
<P N="ConnStiffClipH" V="1.5" D="Connection Stiffener Horizontal Clip" Role="Input"
Category="ConnectionStiffener" />
<P N="ConnStiffClipV" V="2.5" D="Connection Stiffener Vertical Clip" Role="Input"
Category="ConnectionStiffener" />
A-61
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-65
APPENDIX A LIBRARY OBJECT DEFINITIONS
VerticalStiffener
Stiffeners are defined as a Surface object with a thickness. A typical stiffener is rectangular with corner
clips at the girder web/flange intersection.
A-66
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="VerticalStiffener" T="Project">
<P N="Opacity" V="0.75" />
<!-- created by Mike Bartholomew on 6/10/2015 -->
<O N="Dimensions" T="Group">
<P N="w" V="8" D="Width" Role="Input" Category="Dimensions" />
<P N="h" V="66" D="Height" Role="Input" Category="Dimensions" />
<P N="t" V="0.75" D="Thickness" Role="Input" Category="Dimensions" />
<P N="clipV" V="2.5" D="Vertical clip height" Role="Input" Category="Dimensions" />
<P N="clipH" V="1.5" D="Horizontal clip width" Role="Input" Category="Dimensions" />
<P N="tw" V="0.5" D="Girder web thickness" Role="Input" Category="Dimensions" />
</O>
<O N="CrossFrameBolts" T="Group">
<P N="BoltDia" V="0.75" D="Diameter of bolt" Role="Input" Category="CrossFrameBolts" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" Role="Input"
Category="CrossFrameBolts" />
</O>
<O N="TopBoltGroup" T="Group">
<P N="cols" V="2" D="number of cols" Role="Input" Category="TopBoltGroup" />
<P N="rows" V="3" D="number of rows" Role="Input" Category="TopBoltGroup" />
<P N="spaceY" V="3" D="Horiz spacing between columns" Role="Input" Category="TopBoltGroup" />
<P N="spaceZ" V="3" D="Vert spacing between rows" Role="Input" Category="TopBoltGroup" />
</O>
<O N="BotBoltGroup" T="Group">
<P N="cols" V="2" D="number of cols" Role="Input" Category="BotBoltGroup" />
<P N="rows" V="5" D="number of rows" Role="Input" Category="BotBoltGroup" />
<P N="spaceY" V="3" D="Horiz spacing between columns" Role="Input" Category="BotBoltGroup" />
<P N="spaceZ" V="3" D="Vert spacing between rows" Role="Input" Category="BotBoltGroup" />
</O>
<O T="Surface" X="t/2">
<P N="Thickness" V="t" />
<O T="Point" Y="clipH" Z="0" />
<O T="Point" Y="w" Z="0" />
<O T="Point" Y="w" Z="-h" />
<O T="Point" Y="clipH" Z="-h" />
<O T="Point" Y="0" Z="-h+clipV" />
<O T="Point" Y="0" Z="-clipV" />
</O>
<O T="Private">
<O N="Elevation View" T="CADD">
<P N="margin" V="w/2" />
<O T="CADDShape" Y="0" X="tw/2" RZ="0">
<P N="Color" V="rgb(0, 0, 0)" T="Text" />
<P N="Thickness" V="2" />
<P N="IsClosed" V="T" T="Text" />
<O T="Point" X="clipH" Y="0" />
<O T="Point" X="w" Y="0" />
<O T="Point" X="w" Y="-h" />
<O T="Point" X="clipH" Y="-h" />
<O T="Point" X="0" Y="-h+clipV" />
<O T="Point" X="0" Y="-clipV" />
</O>
<O N="Working Lines" T="Group">
<O T="CADDLine" X="0" Y="0" RZ="0">
<P N="Color" V="#FF0000" T="Text" />
A-67
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-68
APPENDIX A LIBRARY OBJECT DEFINITIONS
BoltedFieldSplice (BB)
The BoltedFieldSplice (BB) joins two girders with different plate thicknesses. The object is comprised of
multiple connection plates which are constructed as Surface objects with a thickness. All plates include
holes for bolts. To account for the variation in web and flange thickness between girders, additional fill
plates are included on the thinner side of the connection. The BoltedFieldSpllice (BB) object references
other objects, including SplicePlate, Bolt (BB), and BoltGroup (BB).
A-69
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-70
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="BoltedFieldSplice (BB)" T="Project">
<O N="ObjDesc" T="Group">
<!--
<p> |BoltedFieldSplice (BB)| object represents a bolted splice connection between steel girders.
</p>
<br> Created by <i>Ali Koc</i> on 5/29/2015 </br>
<br> Updated by <i>Mike Bartholomew</i> on 6/28/2015 </br>
<br> Updated by <i>Benjamin Blasen</i> on 12/18/2015 </br>
-->
</O>
<O N="userinput" T="Group">
<P N="gap" V="1/4" D="gap between girders" Role="Input" Category="Splice Geometry" />
<P N="sp_sta" V="0" D="x-Station of splices" Role="Input" Category="Splice Geometry" />
<P N="flange_thickness" V="0.75" D="plate thickness of the flange connection" Role="Input" Category="Splice
Geometry" />
<P N="web_thickness" V="0.375" D="plate thickness of the web connection" Role="Input" Category="Splice
Geometry" />
<P N="ds" V="0.75" D="Diameter of the shaft of the bolt." Role="Input" Category="Bolts" />
<P N="dh" V="1.4375" D="Diameter of the head of the bolt." Role="Input" Category="Bolts" />
<P N="dn" V="1.4375" D="Diameter of the nut of the bolt." Role="Input" Category="Bolts" />
<P N="th" V="15/32" D="Thickness of the head." Role="Input" Category="Bolts" />
<P N="tn" V="47/64" D="Thickness of the nut." Role="Input" Category="Bolts" />
<P N="wnumx" V="2" D="the number of bolt columns in longitudinal axis per side" Role="Input"
Category="Web Bolt Pattern" />
<P N="wspcx" V="5.5" D="the spacing at center in longitudinal axis" Role="Input" Category="Web Bolt Pattern"
/>
<P N="wspx" V="3" D="the spacing between bolts in longitudinal axis" Role="Input" Category="Web Bolt
Pattern" />
<P N="wedx" V="1.75" D="the edge clearance in longitudinal axis" Role="Input" Category="Web Bolt Pattern"
/>
<P N="wnumy" V="20" D="the number of bolt rows in vertical axis" Role="Input" Category="Web Bolt Pattern"
/>
<P N="wspy" V="3" D="the spacing between bolts along vertical axis" Role="Input" Category="Web Bolt
Pattern" />
<P N="wedy" V="1.75" D="the edge clearance in vertical axis" Role="Input" Category="Web Bolt Pattern" />
<P N="fnumx" V="3" D="the number of equally spaced bolts in longitudinal axis" Role="Input"
Category="Flange Bolt Pattern" />
<P N="fspcx" V="4.5" D="the spacing at center in longitudinal axis" Role="Input" Category="Flange Bolt
Pattern" />
<P N="fspx" V="4.25" D="the spacing between bolts in longitudinal axis" Role="Input" Category="Flange Bolt
Pattern" />
<P N="fedx" V="1.75" D="the edge clearance in longitudinal axis" Role="Input" Category="Flange Bolt Pattern"
/>
<P N="fnumy" V="2" D="the number of equally spaced bolts in transverse axis" Role="Input" Category="Flange
Bolt Pattern" />
<P N="fspy" V="4.25" D="the spacing between bolts along transverse axis" Role="Input" Category="Flange Bolt
Pattern" />
<P N="fedy" V="1.75" D="the edge clearance in transverse axis" Role="Input" Category="Flange Bolt Pattern"
/>
<P N="fspcy" V="6" D="the spacing at center in longitudinal axis" Role="Input" Category="Flange Bolt Pattern"
/>
<P N="dwA" V="66" D="Web depth of the A girder" Role="Input" Category="Girder Data" />
<P N="twA" V="11/16" D="Web thickness of the A girder" Role="Input" Category="Girder Data" />
A-71
APPENDIX A LIBRARY OBJECT DEFINITIONS
<P N="bftA" V="18" D="Width of the top flange of the A girder" Role="Input" Category="Girder Data" />
<P N="tftA" V="0.875" D="Thickness of the top flange of the A girder" Role="Input" Category="Girder Data" />
<P N="bfbA" V="20" D="Width of the bottom flange of the A girder" Role="Input" Category="Girder Data" />
<P N="tfbA" V="1.0" D="Thickness of the bottom flange of the A girder" Role="Input" Category="Girder Data"
/>
<P N="dwB" V="66" D="Web depth of the B girder" Role="Input" Category="Girder Data" />
<P N="twB" V="15/16" D="Web thickness of the B girder" Role="Input" Category="Girder Data" />
<P N="bftB" V="20" D="Width of the top flange of the B girder" Role="Input" Category="Girder Data" />
<P N="tftB" V="1.125" D="Thickness of the top flange of the B girder" Role="Input" Category="Girder Data" />
<P N="bfbB" V="20" D="Width of the bottom flange of the B girder" Role="Input" Category="Girder Data" />
<P N="tfbB" V="1.5" D="Thickness of the bottom flange of the B girder" Role="Input" Category="Girder Data"
/>
</O>
<O N="bolt75" T="Group">
<P N="bolt_ds" V="ds" />
<P N="bolt_dh" V="dh" />
<P N="bolt_dn" V="dn" />
<P N="bolt_th" V="th" />
<P N="bolt_tn" V="tn" />
</O>
<O N="BoltedFieldSplice" T="Group" X="sp_sta+gap/4">
<P N="g_gap" V="gap" D="gap between girders" />
<P N="Opacity" V="0.8" />
<O N="WebConnection" T="Group" X="-plate_length/2">
<P N="Color" V="#ca2e2e" T="Text" />
<P N="plate_thickness" V="web_thickness" />
<P N="numx" V="wnumx" />
<P N="spcx" V="wspcx" />
<P N="spx" V="wspx" />
<P N="edx" V="wedx" />
<P N="numy" V="wnumy" />
<P N="spy" V="wspy" />
<P N="edy" V="wedy" />
<P N="tw_max" V="max(twA, twB)" D="larger web thickness" />
<P N="tw_min" V="min(twA, twB)" D="smaller web thickness" />
<P N="plate_length" V="edx * 2 + (spx * (numx - 1)) * 2 + spcx" />
<P N="plate_width" V="edy * 2 + (spy * (numy - 1))" />
<O N="WebPlates" T="Group">
<O N="WebPanelA" T="SplicePlate2" X="plate_length/2" Y="-tw_max/2" Z="-dwA*0.5" RX="PI/2"
RY="PI/2">
<P N="Color" V="#ca2e2e" T="Text" />
<P N="w" V="plate_width" D="width of the plate" />
<P N="h" V="plate_length" D="height of the plate" />
<P N="t" V="plate_thickness" D="thickness of the plate" />
<P N="nrows" V="numx" D="number of horizontal rows" />
<P N="ncols" V="numy" D="number of vertical columns" />
<P N="spY" V="spy" D="vector of horizontal spacing between bolt holes" />
<P N="spZ" V="spx" D="vector of vertical spacing between bolt holes " />
<P N="d" V="ds" D="bolt diameter" />
<P N="c" V="edy" D="clearance from edge" />
</O>
<O N="WebPanelB" T="SplicePlate2" X="plate_length/2" Y="tw_max/2+plate_thickness" Z="-dwB*0.5"
RX="PI/2" RY="PI/2">
<P N="Color" V="#ca2e2e" T="Text" />
<P N="w" V="plate_width" D="width of the plate" />
<P N="h" V="plate_length" D="height of the plate" />
A-72
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O N="PanelInsideB" T="SplicePlate2" Y="-(width - width_inside) / 2" X="0" Z="-dw_min+plate_thickness"
RY="PI/2">
<P N="Color" V="#991111" T="Text" />
<P N="w" V="width_inside" D="width of the plate" />
<P N="h" V="length" D="height of the plate" />
<P N="t" V="plate_thickness" D="thickness of the plate" />
<P N="nrows" V="2*numx" D="number of horizontal rows" />
<P N="ncols" V="numy" D="number of vertical columns" />
<P N="spY" V="spx" D="vector of horizontal spacing between bolt holes" />
<P N="spZ" V="spy" D="vector of vertical spacing between bolt holes " />
<P N="d" V="ds" D="bolt diameter" />
<P N="c" V="edy" D="clearance from edge" />
</O>
<O N="PanelFillOuter" T="SplicePlate2" X="iif(tfbA .GT. tfbB, length/4+g_gap/8, -length/4-g_gap/8)" Z="-
dw_min-tfb_max+(d_max-d_min)" RX="PI/2" RZ="PI/2" RY="PI/2">
<P N="Guard" V="tfb_min .NE. tfb_max" />
<P N="Color" V="#da12d8" T="Text" />
<P N="w" V="width" D="width of the plate" />
<P N="h" V="length/2-g_gap/4" D="height of the plate" />
<P N="t" V="d_max-d_min" D="thickness of the plate" />
<P N="nrows" V="numx" D="number of horizontal rows" />
<P N="ncols" V="numy" D="number of vertical columns" />
<P N="spY" V="spx" D="vector of horizontal spacing between bolt holes" />
<P N="spZ" V="spy" D="vector of vertical spacing between bolt holes " />
<P N="d" V="ds" D="bolt diameter" />
<P N="c" V="edy" D="clearance from edge" />
</O>
</O>
<!---->
<O N="BottomFlangeBolts" T="Group">
<O N="BottomFlangeWebBoltsAL" T="BoltGroup (BB)" Extends="bolt75" Y="spcy/2" X="-length/2+edx"
Z="-dw_min+plate_thickness">
<P N="Color" V="#ca2e2e" T="Text" />
<P N="rows" V="numy" D="number of rows in this bolt group." />
<P N="cols" V="numx" D="number of columns in this bolt group." />
<P N="col_spacing" V="spx" D="the spacing between columns" />
<P N="row_spacing" V="spy" D="the spacing between columns" />
<P N="thickness" V="(d_max-dw_min) + 2 * plate_thickness" />
</O>
<O N="BottomFlangeWebBoltsAR" T="BoltGroup" Extends="BottomFlangeWebBoltsAL" Y="-spcy/2-(rows-
1)*row_spacing" />
<O N="BottomFlangeWebBoltsBL" T="BoltGroup" Extends="BottomFlangeWebBoltsAL" X="spcx/2" />
<O N="BottomFlangeWebBoltsBR" T="BoltGroup" Extends="BottomFlangeWebBoltsAR" X="spcx/2" />
</O>
</O>
</O>
</O>
A-76
APPENDIX A LIBRARY OBJECT DEFINITIONS
SplicePlate
SplicePlate object is used connection of steel members. This object allows for variable bolt spacing in
both the horizontal and vertical direction. Examples of library objects that use this splice include
Diaphragms.
A-77
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="SplicePlate" T="Project">
<O N="ObjDesc" T="Group">
<!--
<p> |SplicePlate| object is used connection of steel members. This object allows for variable bolt spacing
in both the horizontal and vertical direction. Examples of library objects that
use this splice include Diaphragms.
</p>
<br> Created by <i>Ali Koc</i> on 4/5/2015 </br>
<br> Updated by <i>Mike Bartholomew</i> on 7/9/2015 </br>
<br> Updated by <i>Benjamin Blasen</i> on 7/9/2015 </br>
-->
</O>
<O N="Plate Dimensions" T="Group">
<P N="w" V="15" D="width of the plate" Role="Input" Category="Plate Dimensions" />
<P N="h" V="15" D="height of the plate" Role="Input" Category="Plate Dimensions" />
<P N="t" V="0.5" D="thickness of the plate" Role="Input" Category="Plate Dimensions" />
<P N="nrows" V="6" D="number of horizontal rows" Role="Input" Category="Plate Dimensions" />
<P N="ncols" V="4" D="number of vertical columns" Role="Input" Category="Plate Dimensions" />
<P N="spY" V="[3,6]" D="horizontal spacing between bolt holes" Role="Input" Category="Plate Dimensions" />
<P N="spZ" V="[2,3,4]" D="vertical spacing between bolt holes " Role="Input" Category="Plate Dimensions" />
<P N="d" V="0.75" D="bolt diameter" Role="Input" Category="Plate Dimensions" />
<P N="c" V="1.75" D="clearance from edge" Role="Input" Category="Plate Dimensions" />
</O>
<O N="Plate" T="Group">
<O T="Surface">
<P N="Thickness" V="t" />
<P N="r" V="(d+1/16)/2" D="radius of bolt hole" />
<O T="Point" Y="w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="h/2" />
<O T="Point" Y="w/2" Z="h/2" />
<O T="Repeat" S="0" I="1" E="nrows-1" CTRL="j" j="1">
<O T="Repeat" S="0" I="1" E="ncols-1" CTRL="i" i="1">
<P N="locY" V="iif(spY[i-1] .GT. 0,-w/2 + c + spY[i-1] * i,-w/2 + c + spY[0] * i)" D="Y location of the bolt
hole" />
<P N="locZ" V="iif(spZ[j-1] .GT. 0,-h/2 + c + spZ[j-1] * j,-h/2 + c + spZ[0] * j)" D="Z location of the bolt
hole" />
<O T="Circle" Y="locY" Z="locZ" RY="PI/2">
<P N="IsCutout" V="1" />
<P N="Radius" V="r" />
<P N="Segments" V="20" />
</O>
</O>
</O>
</O>
</O>
</O>
A-78
APPENDIX A LIBRARY OBJECT DEFINITIONS
Bolt (BB)
The Bolt (BB) object represents a bolt clamping other objects between two points in space. This allows
the object to be drawn at any orientation between the two points. The hex head of the bolt and the nut
are each extruded Circle objects with 6 segments between two points representing the head and nut
thicknesses, while the shank of the bolt is an extruded Circle with a refinement of 20 segments. Besides
the two points, the diameter of the shaft of the bolt, the diameter of the circumscribed circle that forms
the hex heads, and the thickness of bolt head and nut are required input.
A-79
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Bolt (BB)" T="Project">
<P N="ObjLabel" V="Bolt" T="Text" />
<P N="X_1" V="0" D="X location of the first point." Role="Input" UT="Length" UC="Properties" />
<P N="Y_1" V="0" D="Y location of the first point." Role="Input" UT="Length" UC="Properties" />
<P N="Z_1" V="0" D="Z location of the first point." Role="Input" UT="Length" UC="Properties" />
<P N="X_2" V="0" D="X location of the second point." Role="Input" UT="Length" UC="Properties" />
<P N="Y_2" V="0" D="Y location of the second point." Role="Input" UT="Length" UC="Properties" />
<P N="Z_2" V="-2" D="Z location of the second point." Role="Input" UT="Length" UC="Properties" />
<P N="d_s" V="0.75" D="Diameter of the shaft of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="d_h" V="1.4375" D="Diameter of the head of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="d_n" V="1.4375" D="Diameter of the nut of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="t_h" V="15/32" D="Thickness of the head." Role="Input" UT="Length" UC="Properties" />
<P N="t_n" V="47/64" D="Thickness of the nut." Role="Input" UT="Length" UC="Properties" />
<P N="Length" V="sqrt(pow(X_2 - X_1, 2) + pow(Y_2 - Y_1, 2) + pow(Z_2 - Z_1, 2))" D="Clear distance between
the head and the nut of the bolt." />
<P N="X_th" V="(X_2 - X_1) * (-t_h / Length) + X_1" D="X location of the top of the head." />
<P N="Y_th" V="(Y_2 - Y_1) * (-t_h / Length) + Y_1" D="Y location of the top of the head." />
<P N="Z_th" V="(Z_2 - Z_1) * (-t_h / Length) + Z_1" D="Z location of the top of the head." />
<P N="X_on" V="(X_2 - X_1) * (1 + t_h / Length) + X_1" D="X location of the outer face of the nut." />
<P N="Y_on" V="(Y_2 - Y_1) * (1 + t_h / Length) + Y_1" D="Y location of the outer face of the nut." />
<P N="Z_on" V="(Z_2 - Z_1) * (1 + t_h / Length) + Z_1" D="Z location of the outer face of the nut." />
<P N="X_os" V="(X_2 - X_1) * (1 + (t_h * 2) / Length) + X_1" D="X location of the outer face of the shaft." />
<P N="Y_os" V="(Y_2 - Y_1) * (1 + (t_h * 2) / Length) + Y_1" D="Y location of the outer face of the shaft." />
<P N="Z_os" V="(Z_2 - Z_1) * (1 + (t_h * 2) / Length) + Z_1" D="Z location of the outer face of the shaft." />
<P N="Refinement" V="20" D="Number of segments used to draw the shaft of the bolt." />
<O N="ObjDesc" T="Group">
<!--
<p> |Bolt (BB)| object represents a bolt that clamps objects between
specified two points P1 (X_1,Y_1,Z_1) and P2 (X_2,Y_2,Z_2) in
3D space. This allows us to use this object to draw a bolt at any
orientation between the two points.
</p>
<br> Created by <i>Ali Koc</i> on 5/29/2015 </br>
<br> Updated by <i>Benjamin Blasen</i> on 12/18/2015 </br>
-->
</O>
<O N="BoltHexHead" T="Volume">
<P N="Color" V="#b60000" T="Text" />
<O T="Point" Y="Y_th" X="X_th" Z="Z_th" />
<O T="Point" Y="Y_1" X="X_1" Z="Z_1" />
<O T="Section">
<O T="Circle">
<P N="Segments" V="6" />
<P N="Radius" V="d_h/2" />
</O>
</O>
</O>
<O N="BoltShaft" T="Volume">
<P N="Color" V="#b60000" T="Text" />
<P N="DrawBorder" V="0" />
<P N="DrawFaceA" V="0" />
<P N="DrawFaceABorder" V="1" />
<O T="Point" Y="Y_1" X="X_1" Z="Z_1" />
A-80
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-81
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-82
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="BoltGroup (BB)" T="Project">
<P N="rows" V="3" D="number of rows in this bolt group." Role="Input" />
<P N="cols" V="3" D="number of columns in this bolt group." Role="Input" />
<P N="col_spacing" V="5" D="the spacing between columns" Role="Input" UT="Length" UC="Properties" />
<P N="row_spacing" V="5" D="the spacing between columns" Role="Input" UT="Length" UC="Properties" />
<P N="thickness" V="2" D="distance between the inner surfaces of the nut and the head." Role="Input"
UT="Length" UC="Properties" />
<P N="bolt_ds" V="0.75" D="Diameter of the shaft of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="bolt_dh" V="1.4375" D="Diameter of the head of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="bolt_dn" V="1.4375" D="Diameter of the nut of the bolt." Role="Input" UT="Length" UC="Properties" />
<P N="bolt_th" V="15/32" D="Thickness of the head." Role="Input" UT="Length" UC="Properties" />
<P N="bolt_tn" V="47/64" D="Thickness of the nut." Role="Input" UT="Length" UC="Properties" />
<O N="ObjDesc" T="Group">
<!--
<p> |BoltGroup (BB)| object is a collection of |Bolt (BB)| objects.
</p>
<br> Created by <i>Ali Koc</i> on 5/29/2015 </br>
<br> Updated by <i>Benjamin Blasen</i> on 12/18/2015 </br>
-->
</O>
<O N="Row" T="Repeat">
<P N="S" V="0" />
<P N="E" V="rows-1" />
<P N="I" V="1" />
<P N="CTRL" V="row" T="Text" />
<P N="row" V="0" />
<O N="Col" T="Repeat">
<P N="S" V="0" />
<P N="E" V="cols-1" />
<P N="I" V="1" />
<P N="CTRL" V="col" T="Text" />
<P N="col" V="0" />
<O T="Bolt (BB)">
<P N="X_1" V="col_spacing*col" D="X location of the first point." />
<P N="Y_1" V="row_spacing*row" D="Y location of the first point." />
<P N="Z_1" V="0" D="Z location of the first point." />
<P N="X_2" V="col_spacing*col" D="X location of the second point." />
<P N="Y_2" V="row_spacing*row" D="Y location of the second point." />
<P N="Z_2" V="-thickness" D="Z location of the second point." />
<P N="d_s" V="bolt_ds" D="Diameter of the shaft of the bolt." />
<P N="d_h" V="bolt_dh" D="Diameter of the head of the bolt." />
<P N="d_n" V="bolt_dn" D="Diameter of the nut of the bolt." />
<P N="t_h" V="bolt_th" D="Thickness of the head." />
<P N="t_n" V="bolt_tn" D="Thickness of the nut." />
</O>
</O>
</O>
</O>
A-83
APPENDIX A LIBRARY OBJECT DEFINITIONS
Shear Stud
The Shear Stud object represents a shear connector welded to the top flange of a steel girder. It consists
of a circular shaft and a larger diameter circular head. Both shaft and head are defined as Volume
objects constructed using the Circle object between two points.
A-84
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Shear Stud" T="Project">
<P N="ObjLabel" V="Shear Stud" T="Text" />
<P N="d_s" V="7/8" D="Diameter of the stud." Role="Input" UT="Length" UC="Properties" />
<P N="L" V="7" D="Length of stud.." Role="Input" UT="Length" UC="Properties" />
<P N="t_h" V="d_s/2" D="Thickness of the head." UT="Length" UC="Properties" />
<P N="Refinement" V="9" D="Level of detail." />
<O N="ObjDesc" T="Group">
<!--
<p> |Shear Stud| is a simple steel stud.
</p> -->
<!--
<p>
<i>Created <b>Benjamin Blasen</b> on 7/10/2015 </i>
<br>Limitations:
1) Does not create threaded studs.
2) Stud head diameter and thickness are a function of the shaft diameter.
</br></p>
-->
</O>
<O N="StudHead" T="Volume">
<P N="Color" V="#b60000" T="Text" />
<O T="Circle" Z="L">
<P N="Segments" V="Refinement" />
<P N="Radius" V="d_s" />
</O>
<O T="Circle" Z="t_h+L">
<P N="Segments" V="Refinement" />
<P N="Radius" V="d_s" />
</O>
</O>
<O N="StudShaft" T="Volume">
<P N="Color" V="#b60000" T="Text" />
<P N="DrawBorder" V="0" />
<P N="DrawFaceA" V="0" />
<P N="DrawFaceABorder" V="1" />
<O T="Circle" Z="L">
<P N="Segments" V="Refinement" />
<P N="Radius" V="d_s/2" />
</O>
<O T="Circle" Z="0">
<P N="Segments" V="Refinement" />
<P N="Radius" V="d_s/2" />
</O>
</O>
</O>
A-85
APPENDIX A LIBRARY OBJECT DEFINITIONS
Stud Placement
The Stud Placement object is used to space groups of Shear Stud objects along the length of a steel
girder. Objects can be spaced in multiple groups with variable spacing.
A-86
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-87
APPENDIX A LIBRARY OBJECT DEFINITIONS
CrossFrameTypeKTop
CrossFrameTypeKTop object is used for steel K-Type cross frame objects placed between steel plate I-
girders. The basic geometry is defined by work point offsets from the top and bottom of web at the
girder centerline. This configuration uses horizontal top and bottom chords, and two diagonals that
intersect at the mid-length of the top chord. Chords and Diagonals are constructed from Line objects.
The chords and diagonals are connected by welds to gusset plates. The four corner gusset plates include
holes for a bolt group to be connected to stiffeners on the girders. The top center gusset plate is
connected by welds only to the top chord and diagonals. The corner gusset plates reference the library
object BoltedGusset, and the top center gusset plate uses the library object WeldedGusset. When
positioned in a project with an alignment, the cross frame orientation racks to take into account any
variable cross slope.
A-88
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-89
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
A-90
APPENDIX A LIBRARY OBJECT DEFINITIONS
center gusset plate uses the library object |WeldedGusset|. When positioned in a
project with an alignment, the cross frame orientation racks to take into account
any variable cross slope.
</p>
-->
</O>
<O N="Cross Frame Geometry" T="Group">
<P N="XFStation" V="0" />
<P N="GirderA_Horiz_Offset" V="-57" D="Girder A (Right) CL Offset from HCL" Role="Input" Category="Cross
Frame Geometry" />
<P N="GirderB_Horiz_Offset" V="57" D="Girder B (Left) CL Offset from HCL" Role="Input" Category="Cross
Frame Geometry" />
<P N="Baywidth" V="GirderB_Horiz_Offset-GirderA_Horiz_Offset" />
<P N="TopWP_Vert_Offset" V="10" D="Top Work Point offset from top of Girder web" Role="Input"
Category="Cross Frame Geometry" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" Role="Input"
Category="Cross Frame Geometry" />
<P N="BotWP_Vert_Offset" V="7.5" D="Bottom Work Point offset from bottom of Girder web" Role="Input"
Category="Cross Frame Geometry" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" Role="Input"
Category="Cross Frame Geometry" />
<P N="WebDepth" V="66" />
<P N="WebCLtoGusset" V="1" />
<P N="GA" V="alignT(Alignment, XFStation, GirderA_Horiz_Offset)" D="Left Girder global Z" />
<P N="GB" V="alignT(Alignment, XFStation, GirderB_Horiz_Offset)" D="Right Girder global Z" />
<P N="CL" V="alignT(Alignment, XFStation, (GirderA_Horiz_Offset+GirderB_Horiz_Offset)/2)" D="CL Cross
Frame global Z" />
<P N="ElevCorr" V="(GA+GB)/2-CL" />
<P N="AngleCorr" V="(GA-GB)/(GirderA_Horiz_Offset-GirderB_Horiz_Offset)" />
<P N="LeftDiagAngle" V="atan((WP5.Z-WP3.Z)/(WP5.Y-WP3.Y))" />
<P N="RightDiagAngle" V="atan((WP5.Z-WP4.Z)/(WP5.Y-WP4.Y))" />
<O N="WP1" T="Point" X="-t/2" Y="GirderA_Horiz_Offset+TopWP_Horiz_Offset" Z="-TopWP_Vert_Offset" />
<O N="WP2" T="Point" X="-t/2" Y="GirderB_Horiz_Offset-TopWP_Horiz_Offset" Z="-TopWP_Vert_Offset" />
<O N="WP3" T="Point" X="-t/2" Y="GirderA_Horiz_Offset+BotWP_Horiz_Offset" Z="-
WebDepth+BotWP_Vert_Offset" />
<O N="WP4" T="Point" X="-t/2" Y="GirderB_Horiz_Offset-BotWP_Horiz_Offset" Z="-
WebDepth+BotWP_Vert_Offset" />
<O N="WP5" T="Point" X="-t/2" Y="(GirderB_Horiz_Offset+GirderA_Horiz_Offset)/2"
Z="(WP1.Z+WP2.Z)/2+ElevCorr" />
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" Role="Input" Category="Gusset Plate Data" />
<P N="TopGusset_V" V="9.5" Role="Input" Category="Gusset Plate Data" />
<P N="TopBoltGroupCols" V="2" D="number of cols" Role="Input" Category="Gusset Plate Data" />
<P N="TopBoltGroupRows" V="3" D="number of rows" Role="Input" Category="Gusset Plate Data" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" Role="Input" Category="Gusset Plate
Data" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" Role="Input" Category="Gusset Plate Data" />
<P N="BottomGusset_H" V="14" Role="Input" Category="Gusset Plate Data" />
<P N="BottomGusset_V" V="15.5" Role="Input" Category="Gusset Plate Data" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" Role="Input" Category="Gusset Plate Data" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" Role="Input" Category="Gusset Plate Data" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" Role="Input" Category="Gusset Plate
Data" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" Role="Input" Category="Gusset Plate
Data" />
A-91
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-92
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-96
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="CADDDimensionLine">
<P N="Label" V="BayWidth = %d" T="Text" />
<O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL" />
<O T="Point" Y="GirderB_Horiz_Offset" Z="GA-CL" />
<O T="Point" Y="0" Z="30" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="WebCLtoGusset (typ.) = %d" T="Text" />
<O T="Point" Y="GirderB_Horiz_Offset-1" Z="-WebDepth+GA-CL" />
<O T="Point" Y="GirderB_Horiz_Offset" Z="-WebDepth+GA-CL" />
<O T="Point" Y="0" Z="-WebDepth-15" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="TopGusset_H = %d" T="Text" />
<O T="Point" Y="GirderA_Horiz_Offset+8-TopGusset_H/2" Z="GA-CL" />
<O T="Point" Y="GirderA_Horiz_Offset+8+TopGusset_H/2" Z="GA-CL" />
<O T="Point" Y="0" Z="20" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="BottomGusset_H = %d" T="Text" />
<O T="Point" Y="GirderA_Horiz_Offset+8-TopGusset_H/2" Z="GA-CL" />
<O T="Point" Y="GirderA_Horiz_Offset+8+TopGusset_H/2" Z="GA-CL" />
<O T="Point" Y="0" Z="-WebDepth-15" />
</O>
<O T="CADDDimensionLine">
<P N="Guard" V="(GA-GB).NE.0" />
<P N="Label" V="Geometry Drop = %d" T="Text" />
<O T="Point" Y="GirderA_Horiz_Offset" Z="-TopWP_Vert_Offset+GB-CL" />
<O T="Point" Y="GirderA_Horiz_Offset" Z="-TopWP_Vert_Offset+GA-CL" />
<O T="Point" Y="GirderB_Horiz_Offset+20" Z="0" />
</O>
<!--
-->
</O>
<O N="Cross Frame Elev from 3D" T="CADDFrom3D" RX="PI/2" RZ="PI/2">
<P N="Obj3D" V="Cross Frame" T="Group" />
</O>
<O N="Cross Frame Top from 3D" T="CADDFrom3D" RX="0" RZ="PI/2">
<P N="Obj3D" V="Cross Frame" T="Group" />
</O>
</O>
A-99
APPENDIX A LIBRARY OBJECT DEFINITIONS
BoltedGusset
BoltedGusset object is used for Cross Frame Gusset connection plates. The plate is defined as a surface
with thickness. It contain bolt holes as cutout sub-surfaces. There are two nested Repeat objects that
are used to create holes in both Y and Z direction of the plate. The outer repeat is along the Z axis (uses j
control parameter) and the inner repeat is along Y axis (uses i control parameter).spY and spZ are the
spacing along Y and Z axis, respectively. (locY, locZ) is the location of the hole.
A-100
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="BoltedGusset" T="Project">
<!-- created by Mike Bartholomew on 7/9/2015 -->
<O N="ObjDesc" T="Group">
<!--
<p> |BoltedGusset| object is used for Cross Frame Gusset connection plates.
The plate is defined as a surface with thickness. It contain bolt holes as cutout
sub-surfaces. There are two nested Repeat objects that are used to create
holes in both Y and Z direction of the plate. The outer repeat is along the
Z axis (uses j control parameter) and the inner repeat is along Y axis
(uses i control parameter).spY and spZ are the spacing along Y and Z axis,
respectively. (locY, locZ) is the location of the hole.
</p>
-->
</O>
<O N="Plate Dimensions" T="Group">
<P N="w" V="15" D="width of the plate" Role="Input" Category="Plate Dimensions" />
<P N="h" V="9.5" D="height of the plate" Role="Input" Category="Plate Dimensions" />
<P N="t_g" V="0.5" D="thickness of the plate" Role="Input" Category="Plate Dimensions" />
<P N="nrows" V="3" D="number of horizontal rows" Role="Input" Category="Plate Dimensions" />
<P N="ncols" V="2" D="number of vertical columns" Role="Input" Category="Plate Dimensions" />
<P N="spY" V="3" D="horizontal spacing between bolt holes" Role="Input" Category="Plate Dimensions" />
<P N="spZ" V="3" D="vertical spacing between bolt holes " Role="Input" Category="Plate Dimensions" />
<P N="d_b" V="0.75" D="bolt diameter" Role="Input" Category="Plate Dimensions" />
<P N="c" V="1.75" D="clearance from edge" Role="Input" Category="Plate Dimensions" />
</O>
<O N="Plate" T="Group">
<O T="Surface">
<P N="Thickness" V="t_g" />
<P N="r" V="(d_b+1/16)/2" D="radius of bolt hole" />
<O T="Point" Y="w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="h/2" />
<O T="Point" Y="w/2" Z="h/2" />
<O T="Repeat" S="0" I="1" E="nrows-1" CTRL="j" j="0">
<O T="Repeat" S="0" I="1" E="ncols-1" CTRL="i" i="0">
<P N="locY" V="-w/2 + c + spY * i" D="Y location of the bolt hole" />
<P N="locZ" V="-h/2 + c + spZ * j" D="Z location of the bolt hole" />
<O T="Circle" Y="locY" Z="locZ" RY="PI/2">
<P N="IsCutout" V="1" />
<P N="Radius" V="r" />
<P N="Segments" V="20" />
</O>
</O>
</O>
</O>
<!--
Dimension lines for documentation
-->
<O T="Private">
<O N="Dimension Lines" T="Group">
<P N="DimLineFontSize" V="w / 50" />
<P N="DimLineArrowSize" V="w / 50" />
<P N="DimLineMargin" V="w / 50" />
A-101
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O N="Horizontal Section" T="CADDFrom3D" RX="0" RY="0" RZ="PI/2">
<P N="Obj3D" V="Plate" T="Group" />
</O>
</O>
</O>
</O>
</O>
A-103
APPENDIX A LIBRARY OBJECT DEFINITIONS
WeldedGusset
WeldedGusset object is used for Cross Frame Gusset connection plates. The plate is defined as a surface
with thickness, and is intended for fully shop welded connections.
A-104
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="WeldedGusset" T="Project">
<O N="ObjDesc" T="Group">
<!--
<p> |WeldedGusset| object is used for Cross Frame Gusset connection plates.
The plate is defined as a surface with thickness, and is intended for fully
shop welded connections.
</p>
-->
</O>
<!-- created by Mike Bartholomew on 7/20/2015 -->
<O N="Plate Dimensions" T="Group">
<P N="w" V="20" D="width of the plate" Role="Input" Category="Plate Dimensions" />
<P N="h" V="12" D="height of the plate" Role="Input" Category="Plate Dimensions" />
<P N="t_g" V="0.5" D="thickness of the plate" Role="Input" Category="Plate Dimensions" />
</O>
<!--
The plate will be a a surface with thickness.
-->
<O N="Plate" T="Group">
<O T="Surface" RX="0" RY="0">
<P N="Thickness" V="t_g" />
<O T="Point" Y="w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="-h/2" />
<O T="Point" Y="-w/2" Z="h/2" />
<O T="Point" Y="w/2" Z="h/2" />
</O>
<!--
Dimension lines for documentation
-->
<O T="Private">
<O N="Dimension Lines" T="Group">
<P N="DimLineFontSize" V="w / 50" />
<P N="DimLineArrowSize" V="w / 50" />
<P N="DimLineMargin" V="w / 50" />
<O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize" AlignH="Warp"
AlignT="None" AlignV="Warp">
<P N="Label" V=" w = |d|" T="Text" />
<O T="Point" Y="w/2" X="-t_g" Z="h/2 + DimLineMargin" />
<O T="Point" Y="-w/2" X="-t_g" Z="h/2 + DimLineMargin" />
<O T="Point" Y="0" X="-t_g" Z="h" />
</O>
<O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize" AlignH="Warp"
AlignT="None" AlignV="Warp">
<P N="Label" V=" h = |d|" T="Text" />
<O T="Point" Y="w/2" X="DimLineMargin" Z="h/2" />
<O T="Point" Y="w/2" X="DimLineMargin" Z="-h/2" />
<O T="Point" Y="w/2" X="h/4" Z="0" />
</O>
<O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize" AlignH="Warp"
AlignT="None" AlignV="Warp">
<P N="Label" V=" t_g = |d|" T="Text" />
<O T="Point" Y="w/2" X="-t_g" Z="h/2 + DimLineMargin" />
<O T="Point" Y="w/2" X="0" Z="h/2 + DimLineMargin" />
<O T="Point" Y="w/2" X="-t_g/2" Z="0.75*h" />
A-105
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O N="Elevation" T="CADDFrom3D" RX="PI/2" RY="0" RZ="PI/2">
<P N="Obj3D" V="Plate" T="Group" />
</O>
<O N="Vertical Section" T="CADDFrom3D" RX="PI/2" RY="0" RZ="PI">
<P N="Obj3D" V="Plate" T="Group" />
</O>
<O N="Horizontal Section" T="CADDFrom3D" RX="0" RY="0" RZ="PI/2">
<P N="Obj3D" V="Plate" T="Group" />
</O>
</O>
</O>
</O>
</O>
A-106
APPENDIX A LIBRARY OBJECT DEFINITIONS
CrossFrameLayout
CrossFrameLayout uses the Repeat object to generate multiple cross frames along a bridge at locations
determined by the array parameter CrossFrameLocations.
A-107
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="CrossFrameLayout" T="Project">
<!-- created by Mike Bartholomew on 8/16/2015 -->
<O N="CrossFrames" T="Group">
<P N="CrossFrameDesignation" V="CF1" T="Text" />
<P N="CrossFrameLocations" V="[0,240,480,720,960]" Role="Input" Category="CrossFrames" />
<P N="CrossFrameType" V="CrossFrameTypeKTop" T="Text" Role="Input" Category="CrossFrames" />
<P N="StartStation" V="0" />
<O T="Repeat">
<P N="S" V="0" />
<P N="E" V="length(CrossFrameLocations)-1" />
<P N="I" V="1" />
<P N="CTRL" V="spi" T="Text" />
<P N="spi" V="0" />
<O T="CrossFrameTypeKTop" Z="-12.5" X="-(ConnStiffT+thickness)/2+CrossFrameLocations[spi]">
<P N="XFStation" V="StartStation+CrossFrameLocations[spi]" />
<P N="GirderA_Horiz_Offset" V="-57" D="Girder A (Left) CL Offset from HCL" />
<P N="GirderB_Horiz_Offset" V="57" D="Girder B (Right) CL Offset from HCL" />
<P N="TopWP_Vert_Offset" V="5" D="Top Work Point offset from top of Girder web" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" />
<P N="BotWP_Vert_Offset" V="5" D="Bottom Work Point offset from bottom of Girder web" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" />
<P N="WebDepth" V="66" />
<P N="WebCLtoGusset" V="1" />
<P N="BoltDia" V="0.75" D="Diameter of bolt" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<O N="DefaultSection" T="Section">
<P N="t" V="0.5" />
<P N="b" V="5" />
<P N="d" V="5" />
<P N="x" V="1.4375" D="CG about X-axis" />
<P N="y" V="1.4375" D="CG about Y-axis" />
<O T="Shape">
<O T="Point" X="0" Y="0" />
<O T="Point" X="b" Y="0" />
<O T="Point" X="b" Y="t" />
<O T="Point" X="t" Y="t" />
<O T="Point" X="t" Y="d" />
<O T="Point" X="0" Y="d" />
</O>
</O>
<O N="Cross Frame Member Data" T="Group">
<P N="TopChord" V="DefaultSection" T="Section" />
<P N="BotChord" V="DefaultSection" T="Section" />
<P N="Diagonal" V="DefaultSection" T="Section" />
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
A-108
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-109
APPENDIX A LIBRARY OBJECT DEFINITIONS
Diaphragm
Diaphragm object is used for creating a steel girder type diaphragm. Diaphragms can be defined as a
single object for the entire cross section of the bridge, or as individual sections between girders. The
cross section is comprised of a web and top and bottom flange plates. The diaphragm also allows for
inclusion of jacking stiffeners, fill plates, and splice plates.
A-110
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="Diaphragm" T="Project">
<P N="Color" V="#991111" T="Text" />
<P N="Opacity" V="0.8" />
<O N="ObjDesc" T="Group">
<!--
<p> |Diaphragm| object is used for creating a steel girder type diaphragm.
Diaphragms can be defined as a single object for the entire cross section of the bridge,
or as individual sections between girders. The cross section is comprised of a web and
top and bottom flange plates. </p>
</p> The diaphragm also allows for inclusion of jacking stiffeners, fill plates, and splice plates. </p>
<p>
<i>IN DEVELOPMENT..</i> bolt group code needs debugging and testing for proper placement in project files.
<p>
<i>created by <b>Benjamin Blasen</b> on 7/23/2015.</i>
</p>-->
</O>
<O N="Diaphragm Section Data" T="Group">
A-111
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-113
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-116
APPENDIX A LIBRARY OBJECT DEFINITIONS
Deck
Deck object is used for creating cast-in-place concrete bridge decks on girders. The cross section of the
top of deck follows the alignment cross slope of the bridge, and the bottom of deck includes the build-
up or haunches for the girders. The deck object also follows the horizontal alignment and vertical
profile. Girder deck overhang options include constant thickness, or variable thickness from deck edge
to the exterior girder haunch.
A-117
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
A-118
APPENDIX A LIBRARY OBJECT DEFINITIONS
<!--
Girder Haunch Points (from right to left)
-->
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, RightEdge)" Y="RightEdge" />
<O T="Point" Z="alignT(CSAlignment, Station, RightEdge)-RightDeck_t" Y="RightEdge" AlignTB="0" />
<O T="Repeat" index="S" CTRL="index" I="1" E="numGirders-1" S="0">
<P N="GB" V="alignT(CSAlignment, StartStation, GirderOffset[index]+0.5*HaunchWidth[index])" />
<P N="CL" V="alignT(CSAlignment, StartStation, GirderOffset[index])" />
<P N="GA" V="alignT(CSAlignment, StartStation, GirderOffset[index]-0.5*HaunchWidth[index])" />
<O T="Point" Z="GB-MinDeck_t" Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(RightOverhangType.NE.1).OR.(index.NE.S)" />
</O>
<O T="Point" Z="CL-TopDeckToTopGirderWeb" Y="GirderOffset[index]+0.5*HaunchWidth[index]"
AlignTB="0" />
<O T="Point" Z="CL-TopDeckToTopGirderWeb" Y="GirderOffset[index]-0.5*HaunchWidth[index]"
AlignTB="0" />
<O T="Point" Z="GA-MinDeck_t" Y="GirderOffset[index]-0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(LeftOverhangType.NE.1).OR.(index.NE.E)" />
</O>
</O>
<O T="Point" Z="alignT(CSAlignment, Station, -LeftEdge)-LeftDeck_t" Y="-LeftEdge" AlignTB="0" />
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge)" Y="-LeftEdge" />
<!--
Deck Break Points (from left to right)
-->
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge+w[0])" Y="-LeftEdge+w[0]" />
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge+w[0]+w[1])" Y="-LeftEdge+w[0]h+w[1]" />
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge+w[0]+w[1]+w[2])" Y="-
LeftEdge+w[0]+w[1]+w[2]" />
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge+w[0]+w[1]+w[2]+w[3])" Y="-
LeftEdge+w[0]+w[1]+w[2]+w[3]" />
<O T="Point" C="0.75" Z="alignT(CSAlignment, Station, -LeftEdge+w[0]+w[1]+w[2]+w[3]+w[4])" Y="-
LeftEdge+w[0]+w[1]+w[2]+w[3]+w[4]" />
</O>
<O T="CADDLine">
<P N="Color" V="#FF0000" T="Text" />
<P N="Thickness" V="3" />
<O T="Point" Y="0" Z="-110-numGirders*20" />
<O T="Point" Y="0" Z="110" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="LeftEdge (ToHCL) = %d" T="Text" />
<O T="Point" Y="-LeftEdgeToHCL" Z="10" />
<O T="Point" Y="0" Z="10" />
<O T="Point" Y="0" Z="100" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="DeckWidth = %d" T="Text" />
<O T="Point" Y="-LeftEdgeToHCL" Z="10" />
<O T="Point" Y="DeckWidth-LeftEdgeToHCL" Z="10" />
<O T="Point" Y="0" Z="120" />
</O>
<O T="CADDDimensionLine">
<P N="Label" V="MinDeck_t = %d" T="Text" />
<O T="Point" Y="(GirderOffset[0]+GirderOffset[1])/2" Z="alignT(CSAlignment, Station,
(GirderOffset[0]+GirderOffset[1])/2)-MinDeck_t" />
A-122
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-125
APPENDIX A LIBRARY OBJECT DEFINITIONS
DeckEndBeam
DeckEndBeam object is used for creating the thickened end beam for cast-in-place concrete bridge
decks on girders. The beam accounts for the slab bending at the free edge of deck, and accommodates
an expansion joint blockout. The cross section of the top of deck follows the alignment cross slope of the
bridge. The thickened section transitions to the typical deck cross section where the bottom ofthe deck
includes the build-up or haunches for the girders.
A-126
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="DeckEndBeam" T="Project">
<P N="Alignment" V="CSAlignment" T="Alignment" />
<!-- created by Mike Bartholomew on 8/6/2015 -->
<O N="ObjDesc" T="Group">
<!--
<p> |DeckEndBeam| object is used for creating the thickened end beam for cast-in-place concrete bridge
decks on girders. The beam accounts for the slab bending at the free edge of deck, and accommodates an
expansion joint blockout. The cross section of the top of deck follows the alignment cross slope
of the bridge. The thickened section transitions to the typical deck cross section where the bottom of
the deck includes the build-up or haunches for the girders. </p>
-->
</O>
<O N="End Beam Parameters" T="Group">
<P N="EndBeamCLStation" V="0" Role="Input" Category="End Beam Parameters" />
<P N="EndBeamPosition" V="0" T="Text" D="End Beam Position (0=Back Station, 1=Ahead Station)"
Role="Input" Category="End Beam Parameters" />
<P N="EndBeamDepth" V="17.25" Role="Input" Category="End Beam Parameters" />
<P N="EndBeamDepthLeft" V="15.25" Role="Input" Category="End Beam Parameters" />
<P N="EndBeamDepthRight" V="15.25" Role="Input" Category="End Beam Parameters" />
<P N="EndBeamWidth" V="27.75" Role="Input" Category="End Beam Parameters" />
<P N="EndBeamOverhang" V="16.75" Role="Input" Category="End Beam Parameters" />
<P N="TransitionLength" V="8.75" Role="Input" Category="End Beam Parameters" />
<P N="TypDeckLength" V="6" Role="Input" Category="End Beam Parameters" />
</O>
<O N="Deck Parameters" T="Group">
<P N="DeckWidth" V="436.5" Role="Input" Category="Deck Parameters" />
<P N="MinDeck_t" V="8.5" Role="Input" Category="Deck Parameters" />
<P N="TopDeckToTopGirderWeb" V="12.5" Role="Input" Category="Deck Parameters" />
<P N="LeftDeck_t" V="10" Role="Input" Category="Deck Parameters" />
<P N="RightDeck_t" V="10" Role="Input" Category="Deck Parameters" />
<P N="LeftOverhangType" V="1" Role="Input" Category="Deck Parameters" />
<P N="RightOverhangType" V="1" Role="Input" Category="Deck Parameters" />
<P N="LeftEdge" V="272.25" Role="Input" Category="Deck Parameters" />
<P N="RightEdge" V="DeckWidth-LeftEdge" />
<P N="GirderOffset" V="[117, 3, -111, -225]" Role="Input" Category="Deck Parameters" />
<P N="numGirders" V="length(GirderOffset)" />
<P N="HaunchWidth" V="[18, 16, 16, 22]" Role="Input" Category="Deck Parameters" />
<!--
<P N="StartStation" V="0" Role="Input" />
<P N="EndStation" V="42.5" Role="Input" />
-->
<!--
-->
</O>
<O N="EndBeam" T="Group" AlignH="Warp" AlignV="Warp" AlignT="Warp">
<P N="Color" V="#D3D3D3" T="Text" />
<P N="Opacity" V="0.8" />
<P N="SegmentsAlong" V="1" />
<P N="SegmentsAround" V="1" />
<P N="DrawBorder" V="1" />
<O N="EndBeamBK" T="Volume">
<P N="Guard" V="EndBeamPosition.EQ.0" />
<P N="StartStation" V="EndBeamCLStation-EndBeamOverhang" />
<P N="EndStation" V="StartStation+EndBeamWidth+TransitionLength+TypDeckLength" />
A-127
APPENDIX A LIBRARY OBJECT DEFINITIONS
<!--
-->
<O N="Beam" T="Surface" X="StartStation">
<O T="Point" C="0.75" Z="0" Y="RightEdge" />
<O T="Point" C="0.75" Z="-EndBeamDepthRight" Y="RightEdge" AlignTB="0" />
<O T="Repeat" index="S" CTRL="index" I="1" E="numGirders-1" S="0">
<O T="Point" Z="-EndBeamDepth" Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(RightOverhangType.NE.1).OR.(index.NE.S)" />
</O>
<O T="Point" Z="-EndBeamDepth" Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0" />
<O T="Point" Z="-EndBeamDepth" Y="GirderOffset[index]-0.5*HaunchWidth[index]" AlignTB="0" />
<O T="Point" Z="-EndBeamDepth" Y="GirderOffset[index]-0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(LeftOverhangType.NE.1).OR.(index.NE.E)" />
</O>
</O>
<O T="Point" C="0.75" Z="-EndBeamDepthLeft" Y="-LeftEdge" AlignTB="0" />
<O T="Point" C="0.75" Z="0" Y="-LeftEdge" />
</O>
<O T="Surface" Extends="Beam" X="StartStation+EndBeamWidth" />
<O N="TypDeck" T="Surface" X="StartStation+EndBeamWidth+TransitionLength">
<O T="Point" C="0.75" Z="0" Y="RightEdge" />
<O T="Point" C="0.75" Z="-RightDeck_t" Y="RightEdge" AlignTB="0" />
<O T="Repeat" index="S" CTRL="index" I="1" E="numGirders-1" S="0">
<P N="GA" V="alignT(CSAlignment, EndStation, GirderOffset[index]-0.5*HaunchWidth[index])" />
<P N="CL" V="alignT(CSAlignment, EndStation, GirderOffset[index])" />
<P N="GB" V="alignT(CSAlignment, EndStation, GirderOffset[index]+0.5*HaunchWidth[index])" />
<P N="ElevCorrA" V="GA-CL" />
<P N="ElevCorrB" V="GB-CL" />
<O T="Point" Z="-MinDeck_t" Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(RightOverhangType.NE.1).OR.(index.NE.S)" />
</O>
<O T="Point" Z="-TopDeckToTopGirderWeb-ElevCorrB"
Y="GirderOffset[index]+0.5*HaunchWidth[index]" AlignTB="0" />
<O T="Point" Z="-TopDeckToTopGirderWeb-ElevCorrA" Y="GirderOffset[index]-
0.5*HaunchWidth[index]" AlignTB="0" />
<O T="Point" Z="-MinDeck_t" Y="GirderOffset[index]-0.5*HaunchWidth[index]" AlignTB="0">
<P N="Guard" V="(LeftOverhangType.NE.1).OR.(index.NE.E)" />
</O>
</O>
<O T="Point" C="0.75" Z="-LeftDeck_t" Y="-LeftEdge" AlignTB="0" />
<O T="Point" C="0.75" Z="0" Y="-LeftEdge" />
</O>
<O T="Surface" Extends="TypDeck" X="EndStation" />
</O>
<!--
-->
<O N="EndBeamAH" T="Volume">
<P N="Guard" V="EndBeamPosition.EQ.1" />
<P N="EndStation" V="EndBeamCLStation+EndBeamOverhang" />
<P N="StartStation" V="EndStation-EndBeamWidth-TransitionLength-TypDeckLength" />
<!--
-->
<O N="TypDeck" T="Surface" X="StartStation">
A-128
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-131
APPENDIX A LIBRARY OBJECT DEFINITIONS
A-132
APPENDIX A LIBRARY OBJECT DEFINITIONS
Bent Rebar
|BentRebar| object is used as the basic template for all bent reinforcing steel bars. It is anticipated that
individual bar bend types will be developed parametrically with their own library objects, and will
reference this object. Any number of legs can be incorporated by the |BentRebar| object by increasing
the number of array elements for the input parameters Length, AngleX, AngleY, and AngleZ.
|BentRebar| uses the Line object with the Polyline="1" parameter. The polyline is created along the
centerline of the bar. Standard bar bend diagrams are detailed with to out-to-out dimensions, so
individual bar bend objects will need to account for the difference in leg lengths and the bend radius.
A-133
APPENDIX A LIBRARY OBJECT DEFINITIONS
ParamML Code
<O N="BentRebar" T="Project">
<P N="BarDiameter" V="1" Role="Input" />
<P N="BentRadiiFactor" V="[6,6,0]" Role="Input" />
<P N="Length" V="[100,50, 50]" Role="Input" />
<P N="AngleX" V="[0,0,0]" Role="Input" />
<P N="AngleY" V="[0,0,0]" Role="Input" />
<P N="AngleZ" V="[0,PI/2,PI/2]" Role="Input" />
<O N="ObjDesc" T="Group">
<!--
<p> |BentRebar| object is used as the basic template for all bent reinforcing steel bars. It is anticipated
that individual bar bend types will be developed parametrically with their own library objects, and will
reference this object. Any number of legs can be incorporated by the |BentRebar| object by increasing the
number of array elements for the input parameters Length, AngleX, AngleY, AngleZ. |BentRebar| uses the Line
object with the Polyline="1" parameter. The polyline is created along thecenterline of the bar. Standard bar
bend diagrams are detailed with to out-to-outdimensions, so individual bar bend objects will need to account
for the difference in leg lengths and the bend radius.</p>
-->
</O>
<O T="Line" PolyLine="1">
<!-- first point goes in automatically at origin (0,0,0) -->
<O T="Point" Z="0" X="0" Y="0" />
<!--
the rest of the points will be repeated from the input lists.
For Each Segment:
DirAngleX, DirAngleY, DirAngleZ: the direction angle of the segment in object local axis.
L: the length of the segment.
Pt: a list representing the coordinate of end point in the local of the segment.
RotPt: it is Pt rotated with the segment direction angles (DirAngleX, DirAngleY, DirAngleZ).
PrevX, PrevY, PrevZ: the coordinates of the end point of the previous segment.
RotPtX, RotPtY,RotPtZ: the coordinates of the end point of current segment.
-->
<O N="Points" T="Repeat" index="0" CTRL="index" I="1" E="length(Length)-1" S="0">
<P N="DirAngleX" V="sum(AngleX, 0, index)" />
<P N="DirAngleY" V="sum(AngleY, 0, index)" />
<P N="DirAngleZ" V="sum(AngleZ, 0, index)" />
<P N="L" V="Length[index]" />
<P N="Pt" V="[L, 0, 0]" />
<P N="RotPt" V="rotate(Pt, DirAngleX, DirAngleY, DirAngleZ)" />
<P N="RotPtX" V="RotPt[0]+PrevX" />
<P N="RotPtY" V="RotPt[1]+PrevY" />
<P N="RotPtZ" V="RotPt[2]+PrevZ" />
<O T="Group" Guard="index.GT.0">
<P N="PrevX" V="Points[index-1].RotPtX" />
<P N="PrevY" V="Points[index-1].RotPtY" />
<P N="PrevZ" V="Points[index-1].RotPtZ" />
</O>
<O T="Group" Guard="index.EQ.0">
<P N="PrevX" V="0" />
<P N="PrevY" V="0" />
<P N="PrevZ" V="0" />
</O>
<O T="Point" Z="RotPtZ" X="RotPtX" Y="RotPtY" R="BentRadiiFactor[index]*BarDiameter" />
</O>
<O T="Circle" Radius="BarDiameter/2" />
A-134
APPENDIX A LIBRARY OBJECT DEFINITIONS
</O>
<O T="Private">
<O N="Reference" T="InsertionPoint" Size="2" />
</O>
</O>
A-135
This page intentionally left blank.
Appendix B Example Bridge Model
This page intentionally left blank.
APPENDIX B EXAMPLE BRIDGE MODEL
B-1
APPENDIX B EXAMPLE BRIDGE MODEL
B-2
APPENDIX B EXAMPLE BRIDGE MODEL
B-3
APPENDIX B EXAMPLE BRIDGE MODEL
B-4
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="Right Barrier" T="CrossSectionSegment">
<P N="Slope" V="0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
</O>
<O N="Sta_6516" T="CrossSection">
<P N="Station" V="78198.48" UT="Length" UC="Layout" />
<P N="LeftEdgeToHCL" V="272.25" UT="Length" UC="Layout" />
<P N="ElevationAtHCL" V="0" UT="Length" UC="Layout" />
<O N="Left Barrier" T="CrossSectionSegment">
<P N="Slope" V="-0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
<O N="Left Shoulder" T="CrossSectionSegment">
<P N="Slope" V="0.02" />
<P N="Width" V="48" UT="Length" UC="Layout" />
</O>
<O N="Left Shy" T="CrossSectionSegment">
<P N="Slope" V="0.02" />
<P N="Width" V="24" UT="Length" UC="Layout" />
</O>
<O N="Lane" T="CrossSectionSegment">
<P N="Slope" V="-0.04" />
<P N="Width" V="180" UT="Length" UC="Layout" />
</O>
<O N="Right Shoulder" T="CrossSectionSegment">
<P N="Slope" V="-0.04" />
<P N="Width" V="144" UT="Length" UC="Layout" />
</O>
<O N="Right Barrier" T="CrossSectionSegment">
<P N="Slope" V="0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
</O>
<O N="Sta_6588" T="CrossSection">
<P N="Station" V="79064.76" UT="Length" UC="Layout" />
<P N="LeftEdgeToHCL" V="272.25" UT="Length" UC="Layout" />
<P N="ElevationAtHCL" V="0" UT="Length" UC="Layout" />
<O N="Left Barrier" T="CrossSectionSegment">
<P N="Slope" V="-0.09876543" />
<P N="Width" V="20.25" UT="Length" UC="Layout" />
</O>
<O N="Left Shoulder" T="CrossSectionSegment">
<P N="Slope" V="0.04" />
<P N="Width" V="48" UT="Length" UC="Layout" />
</O>
<O N="Left Shy" T="CrossSectionSegment">
<P N="Slope" V="0.04" />
<P N="Width" V="24" UT="Length" UC="Layout" />
</O>
<O N="Lane" T="CrossSectionSegment">
<P N="Slope" V="-0.02" />
<P N="Width" V="180" UT="Length" UC="Layout" />
</O>
<O N="Right Shoulder" T="CrossSectionSegment">
<P N="Slope" V="-0.04" />
B-5
APPENDIX B EXAMPLE BRIDGE MODEL
B-6
APPENDIX B EXAMPLE BRIDGE MODEL
B-7
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="SwC" V="5.36" D="Elastic section modulus about the w-axis at point C on cross section, as shown in Figure 3"
UT="Volume" UC="Section" />
<P N="SzA" V="2.72" D="Elastic section modulus about the z-axis at point A on cross section, as shown in Figure 3"
UT="Volume" UC="Section" />
<P N="SzB" V="2.31" D="Elastic section modulus about the z-axis at point B on cross section, asshown in Figure 3"
UT="Volume" UC="Section" />
<P N="SzC" V="2.72" D="Elastic section modulus about the z-axis at point C on cross section, as shown in Figure 3"
UT="Volume" UC="Section" />
</O>
<O T="Point" Y="0" X="0" />
<O T="Point" Y="0" X="b" />
<O T="Point" Y="t" X="b" />
<O T="Point" Y="t" X="t" />
<O T="Point" Y="d" X="t" />
<O T="Point" Y="d" X="0" />
</O>
</O>
</O>
<O N="Substructure" T="Group">
<O N="Abutments" T="Group">
<O N="Abument Data" T="Group">
<P N="EndUserInputFields" V="1" />
<P N="Abut1H" V="84" D="" />
<P N="Abut2H" V="130" D="" />
<P N="AbutOffset" V="-54" D="" />
<P N="AbutColor" V="#D3D3D3" T="Text" />
<P N="AbutOpacity" V="0.2" />
<P N="FootT" V="30" D="" />
<P N="FootL" V="108" D="" />
<P N="Abut1WorkPointOffset" V="alignT(CSAlignment,Abut1Sta,AbutOffset)-80.375-10.625" />
<P N="Abut2WorkPointOffset" V="alignT(CSAlignment,Abut2Sta,AbutOffset)-80.375-10.625-8.04" />
<P N="PileBatter" V="3/12" D="" />
<P N="A2aBotFooting" V="1036*12" D="" />
<P N="A2bBotFooting" V="1029*12" D="" />
<P N="A1PileTip" V="1008*12" D="" />
<P N="A2PileTip" V="1005*12" D="" />
<O N="Pile Data" T="Group">
<O N="pile" T="Section" D="HP 12x74">
<P N="EndUserInputFields" V="1" />
<P N="bf" V="12.295" D="" />
<P N="tf" V="0.685" D="" />
<P N="tw" V="0.685" D="" />
<P N="d" V="12.28" D="" />
<O T="Shape">
<O T="Point" X="-bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2" />
<O T="Point" X="bf/2" Y="d/2-tf" />
<O T="Point" X="tw/2" Y="d/2-tf" />
<O T="Point" X="tw/2" Y="-d/2+tf" />
<O T="Point" X="bf/2" Y="-d/2+tf" />
<O T="Point" X="bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2" />
<O T="Point" X="-bf/2" Y="-d/2+tf" />
<O T="Point" X="-tw/2" Y="-d/2+tf" />
<O T="Point" X="-tw/2" Y="d/2-tf" />
<O T="Point" X="-bf/2" Y="d/2-tf" />
</O>
B-8
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
</O>
</O>
<O N="Abut1" T="Group" X="Abut1Sta-12" Y="AbutOffset" Z="Abut1WorkPointOffset" RZ="Abut1Skew" AlignH="Orient"
AlignV="None" AlignT="None">
<O T="Stem Abutment (BB)">
<P N="Color" V="#D3D3D3" T="Text" />
<P N="Opacity" V="0.9" />
<P N="FootingLength" V="108" D="Footing Length (Along Bridge Alignment)" />
<P N="FootingWidth" V="484.5" D="Footing Width (Transverse to Bridge Alignment)" />
<P N="FootingDepth" V="30" D="Footing Depth" />
<P N="FootingCL_HZoffset" V="FootingWidth/2" D="Distance from CL footing to CL Abutment" />
<P N="FootingCL_Latoffset" V="54" D="" />
<P N="AbutLength" V="436" D="Total Abut Length" />
<P N="StemWidth" V="60" D="Abut Width" />
<P N="PedSlope" V="0.069" D="Slope of surface for pedestal mounts" />
<P N="BackWallHeight" V="83.3" D="" />
<P N="BackWallThick" V="24" D="" />
<P N="BackWallNotchH" V="9" D="" />
<P N="BackWallNotchV" V="20" D="" />
<P N="StemH" V="69.64" D="Stem Height at Center" />
<P N="PedestalTopWidth" V="46" D="Top Width of the Girder Supports" />
<P N="PedestalBotWidth" V="46" D="Bottom Width of the Girder Supports" />
<P N="PedestalL1" V="36" D="Length of Girder Support 1" />
<P N="PedestalDepth" V="[3.14,5.73,4.47,3.22]" D="Depth of Girder Supports" />
<P N="PedestalLocations1" V="[171, 57, -57, -171]" D="Location of Pedistal set 1 from CL Abut" />
<P N="PedestalOffset1" V="12" D="Location of edge of girder support from edge of pedestal" />
</O>
<O T="Abutment Backwall 2" RZ="0.0085">
<P N="Color" V="#D3D3D3" T="Text" />
<P N="Opacity" V="0.9" />
<P N="AbutLength" V="436" />
<P N="StemWidth" V="60" />
<P N="BackWallHeight" V="86.32" />
<P N="BackWallThick" V="24" />
<P N="BackWallNotchH" V="9" />
<P N="BackWallNotchV" V="20" />
<P N="stubR" V="20.25" />
<P N="stubL" V="20.25" />
<P N="PedSlope" V="0.069" />
<P N="ADJLF" V="8-alignT(Alignment, Abut1Sta, AbutLength/2+AbutOffset)" />
<P N="ADJRF" V="8-alignT(Alignment, Abut1Sta, -AbutLength/2+AbutOffset)" />
<P N="ADJLM" V="ADJLF" />
<P N="ADJRM" V="ADJRF" />
<P N="ADJLB" V="ADJLF" />
<P N="ADJRB" V="ADJRF" />
</O>
<O N="Cheek Walls" T="Group">
<O T="Cheekwall" Y="AbutLength/2-Width/2" Z="AbutLength/2*PedSlope" X="-StemWidth/2+BackWallThick">
<P N="Color" V="#D3D3D3" T="Text" />
<P N="Opacity" V="0.9" />
<P N="Height" V="79.68" />
<P N="Width" V="10" />
<P N="Length" V="36" />
<P N="PedSlope" V="0.069" />
<P N="TopSlope" V="-0.0567" />
</O>
B-9
APPENDIX B EXAMPLE BRIDGE MODEL
B-10
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="t" V="2.625" D="Thickness of the masonry plate (A), in." Role="Input" />
<P N="D" V="14.625" D="Distance of bolt holes from CL (D), in." Role="Input" />
<P N="r" V="1" D="Radius of bolt holes, in." Role="Input" />
<P N="c" V="0" D="Depth of piston compression (to match girder elevation), in." Role="Input" />
<P N="Sta" V="Abut1Sta" />
</O>
</O>
<O N="Abut 1 Piles" T="Group" Z="-69.64-30+12">
<O T="Pile (BB)" X="36" Y="-3*74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" />
</O>
<O T="Pile (BB)" X="36" Y="-2*74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
<O T="Pile (BB)" X="36" Y="-74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
<O T="Pile (BB)" X="36" Y="0">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
<O T="Pile (BB)" X="36" Y="74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
<O T="Pile (BB)" X="36" Y="2*74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
<O T="Pile (BB)" X="36" Y="3*74.75">
<P N="Batter" V="PileBatter" D="Batter Slope H:V" />
<P N="Phi" V="0" D="Batter Orientation" />
<P N="Beta" V="0" D="Web Orientation" />
<P N="L" V="150" D="Length" />
<P N="PileSection" V="pile" T="Section" D="Length" />
</O>
B-11
APPENDIX B EXAMPLE BRIDGE MODEL
B-12
APPENDIX B EXAMPLE BRIDGE MODEL
B-13
APPENDIX B EXAMPLE BRIDGE MODEL
B-14
APPENDIX B EXAMPLE BRIDGE MODEL
B-15
APPENDIX B EXAMPLE BRIDGE MODEL
B-16
APPENDIX B EXAMPLE BRIDGE MODEL
B-17
APPENDIX B EXAMPLE BRIDGE MODEL
B-18
APPENDIX B EXAMPLE BRIDGE MODEL
B-19
APPENDIX B EXAMPLE BRIDGE MODEL
B-20
APPENDIX B EXAMPLE BRIDGE MODEL
B-21
APPENDIX B EXAMPLE BRIDGE MODEL
B-22
APPENDIX B EXAMPLE BRIDGE MODEL
B-23
APPENDIX B EXAMPLE BRIDGE MODEL
B-24
APPENDIX B EXAMPLE BRIDGE MODEL
B-25
APPENDIX B EXAMPLE BRIDGE MODEL
B-26
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
</O>
<O N="Pier2" T="Group" X="Pier2Sta" Y="PierOffset" Z="Pier2WorkPoint" AlignH="Orient" AlignV="None"
AlignT="None">
<O T="Hammerhead Pier Cap (BB)" RZ="0" Z="-14.5">
<P N="EndUserInputFields" V="1" />
<P N="PierLength" V="436" D="Total Pier Length" Category="PierData" />
<P N="PierWidth" V="60" D="Pier Width" Category="PierData" />
<P N="DistanceToCrown" V="54" D="Distance from Left edge to Crown" />
<P N="MinD_R" V="60" D="Left Min Depth" />
<P N="MaxD_R" V="131" D="Left Max Depth" />
<P N="ColumnExt" V="50" D="Upper part of column" />
<P N="ColumnRadius" V="55" D="Radius from Pier Cap to Colum" />
<P N="ExtensionL" V="158" D="Left Sloped Section" />
<P N="ExtensionR" V="158" D="Right Sloped Section" />
<P N="MinD_L" V="60" D="Right Min Depth" />
<P N="MaxD_L" V="110" D="Right Max Depth" />
<P N="Color" V="#D3D3D3" T="Text" />
<P N="PedestalLocations1" V="[-171, -57, 57, 171]" />
<P N="PedestalOffset" V="0" />
<P N="PCrossSlopeL" V="-0.05367" D="Cross Slope to left of Crown" />
<P N="PCrossSlopeR" V="0.05367" D="Cross Slope to Right of Crown" />
<P N="PedestalDepth" V="[4.31,6.59,5.51,4.30]" />
<P N="PedestalTopWidth" V="48" D="Top Width of the Girder Supports" />
<P N="PedestalBotWidth" V="48" D="Bottom Width of the Girder Supports" />
<P N="PedestalL1" V="34" D="Length of Girder Support 1" />
</O>
<O N="Pot Bearings" T="Group" AlignH="Orient" AlignV="None" AlignT="None" Z="-11.5">
<P N="potlocs" V="PedestalLocations1" />
<P N="SupportSlope" V="-0.05367" />
<O T="Pot Bearing" X="0" Y="potlocs[0]" Z="-potlocs[0]*-.05367+4.31">
<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />
<P N="h" V="32" D="Length of the masonry plate (C), in." Role="Input" />
<P N="t" V="2.75" D="Thickness of the masonry plate (A), in." Role="Input" />
<P N="D" V="13.75" D="Distance of bolt holes from CL (D), in." Role="Input" />
<P N="r" V="0.875" D="Radius of bolt holes, in." Role="Input" />
<P N="c" V="1.9375" D="Depth of piston compression (to match girder elevation), in." Role="Input" />
<P N="Sta" V="Pier2Sta" D="x-Station" Role="Input" Category="Parameters" />
</O>
<O T="Pot Bearing" X="0" Y="potlocs[1]" Z="-potlocs[1]*-.05367+5.51">
<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />
<P N="h" V="32" D="Length of the masonry plate (C), in." Role="Input" />
<P N="t" V="2.75" D="Thickness of the masonry plate (A), in." Role="Input" />
<P N="D" V="13.75" D="Distance of bolt holes from CL (D), in." Role="Input" />
<P N="r" V="0.875" D="Radius of bolt holes, in." Role="Input" />
<P N="c" V="1.9375" D="Depth of piston compression (to match girder elevation), in." Role="Input" />
<P N="Sta" V="Pier2Sta" D="x-Station" Role="Input" Category="Parameters" />
</O>
<O T="Pot Bearing" X="0" Y="potlocs[2]" Z="-potlocs[2]*-.05367+6.59">
<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />
<P N="h" V="32" D="Length of the masonry plate (C), in." Role="Input" />
<P N="t" V="2.75" D="Thickness of the masonry plate (A), in." Role="Input" />
<P N="D" V="13.75" D="Distance of bolt holes from CL (D), in." Role="Input" />
<P N="r" V="0.875" D="Radius of bolt holes, in." Role="Input" />
<P N="c" V="1.9375" D="Depth of piston compression (to match girder elevation), in." Role="Input" />
<P N="Sta" V="Pier2Sta" D="x-Station" Role="Input" Category="Parameters" />
</O>
B-27
APPENDIX B EXAMPLE BRIDGE MODEL
B-28
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="bfb" V="20" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="WebStiffLoc" V="[73, 133, 193, 313, 373, 433, 553, 613, 673, 793, 853, 913, 1033]" D="Stiffener locations"
/>
<P N="WebStiffT" V="0.625" D="Shear Stiffener Plate Thickness" />
<P N="WebStiffW" V="6" D="Shear Stiffener Plate Width" />
<P N="WebStiffHeight" V="dw" D="Shear Stiffener Height" />
<P N="WebStiffClipH" V="1.5" D="Shear Stiffener Horizontal Clip" />
<P N="WebStiffClipV" V="2.5" D="Shear Stiffener Vertical Clip" />
<P N="ConnStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="ConnStiffLoc" V="[253, 493, 733, 973]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connection Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Connection Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Connection Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Connection Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[13]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Bearing Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Bearing Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Bearing Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffT" V="1" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="9" D="Jacking Plate Width" />
<P N="JackingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
</O>
</O>
<O N="G1FS2" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="74520" Y="117" Z="-12.5">
<P N="StartStation" V="G1FS2.X" />
<P N="Offset" V="G1FS2.Y" />
<P N="Length" V="1056" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="20" D="Width of the top flange of the I girder" />
<P N="tft" V="[[0,348], 1.125,[348,711], 2.25,[711,1056], 1.125]" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="20" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="[[0,348], 1.5,[348,711], 2.75,[711,1056], 1.5]" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="WebStiffLoc" V="[60, 120, 240, 300, 420, 480, 600, 660, 780, 840, 960, 1020,]" D="Stiffener locations" />
<P N="WebStiffT" V="0.625" D="Shear Stiffener Plate Thickness" />
<P N="WebStiffW" V="6" D="Shear Stiffener Plate Width" />
<P N="WebStiffHeight" V="dw" D="Shear Stiffener Height" />
<P N="WebStiffClipH" V="1.5" D="Shear Stiffener Horizontal Clip" />
<P N="WebStiffClipV" V="2.5" D="Shear Stiffener Vertical Clip" />
<P N="ConnStiffOrient" V="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[180, 360, 720, 900]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connection Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Connection Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Connection Stiffener Horizontal Clip" />
B-29
APPENDIX B EXAMPLE BRIDGE MODEL
B-30
APPENDIX B EXAMPLE BRIDGE MODEL
B-31
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[1020]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Bearing Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Bearing Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Bearing Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G1 Splices" T="Group" Z="-12.5" Y="117">
<O N="SG1G2" T="BoltedFieldSplice (BB)" X="G1FS1.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G1FS1.Length" />
<P N="dwA" V="G1FS1.dw" D="Web depth of the I girder" />
<P N="twA" V="G1FS1.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G1FS1.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G1FS1.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G1FS1.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G1FS1.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G1FS2.dw" D="Web depth of the I girder" />
<P N="twB" V="G1FS2.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G1FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G1FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G1FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G1FS2.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG2G3" T="BoltedFieldSplice (BB)" X="G1FS2.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G1FS2.Length" />
<P N="dwA" V="G1FS2.dw" D="Web depth of the I girder" />
<P N="twA" V="G1FS2.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G1FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G1FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G1FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G1FS2.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G1FS3.dw" D="Web depth of the I girder" />
<P N="twB" V="G1FS3.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G1FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G1FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G1FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G1FS3.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG3G4" T="BoltedFieldSplice (BB)" X="G1FS3.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G1FS3.Length" />
<P N="dwA" V="G1FS3.dw" D="Web depth of the I girder" />
<P N="twA" V="G1FS3.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G1FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G1FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G1FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G1FS3.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G1FS4.dw" D="Web depth of the I girder" />
<P N="twB" V="G1FS4.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G1FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G1FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G1FS4.bfb" D="Width of the bottom flange of the I girder" />
B-32
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="tfbB" V="G1FS4.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG4G5" T="BoltedFieldSplice (BB)" X="G1FS4.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G1FS4.Length" />
<P N="dwA" V="G1FS4.dw" D="Web depth of the I girder" />
<P N="twA" V="G1FS4.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G1FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G1FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G1FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G1FS4.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G1FS5.dw" D="Web depth of the I girder" />
<P N="twB" V="G1FS5.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G1FS5.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G1FS5.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G1FS5.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G1FS5.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
</O>
</O>
<O N="Girder 2" T="Group">
<O N="G2FS1" T="SteelGirderMB" Z="-12.5" Y="3" X="73487" AlignV="Warp" AlignH="Warp" AlignT="None">
<P N="StartStation" V="G2FS1.X" />
<P N="Offset" V="G2FS1.Y" />
<P N="Length" V="1033" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="16" D="Width of the top flange of the I girder" />
<P N="tft" V="0.875" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="16" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[253, 493, 733, 973]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[13]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G2FS2" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="74520" Y="3" Z="-12.5">
<P N="StartStation" V="G2FS2.X" />
<P N="Offset" V="G2FS2.Y" />
<P N="Length" V="1056" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="20" D="Width of the top flange of the I girder" />
B-33
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="tft" V="[[0,348], 1.125,[348,711], 2.25,[711,1056], 1.125]" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="20" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="[[0,348], 1.5,[348,711], 2.75,[711,1056], 1.5]" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[180, 360, 720, 900]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[540]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="1" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="9" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffLoc" V="[516,564]" D="Jacking Stiffener locations" />
<P N="JackingStiffT" V="1" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="9" D="Jacking Plate Width" />
<P N="JackingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
</O>
</O>
<O N="G2FS3" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="75576" Y="3" Z="-12.5">
<P N="StartStation" V="G2FS3.X" />
<P N="Offset" V="G2FS3.Y" />
<P N="Length" V="1128" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="16" D="Width of the top flange of the I girder" />
<P N="tft" V="0.875" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="16" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1.375" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[84, 324, 564, 804, 1044]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G2FS4" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="76704" Y="3" Z="-12.5">
<P N="StartStation" V="G2FS4.X" />
<P N="Offset" V="G2FS4.Y" />
<P N="Length" V="1056" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
B-34
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="bft" V="20" D="Width of the top flange of the I girder" />
<P N="tft" V="[[0,342], 1.25,[342,702], 2.25,[702,1056], 1.25]" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="20" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="[[0,342], 1.25,[342,702], 2.5,[702,1056], 1.25]" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[156, 336, 696, 876]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[516]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="1" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="9" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffLoc" V="[492,540]" D="Jacking Stiffener locations" />
<P N="JackingStiffT" V="1" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="9" D="Jacking Plate Width" />
<P N="JackingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
</O>
</O>
<O N="G2FS5" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="77760" Y="3" Z="-12.5">
<P N="StartStation" V="G2FS5.X" />
<P N="Offset" V="G2FS5.Y" />
<P N="Length" V="1033" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.5" D="Web thickness of the I girder" />
<P N="bft" V="16" D="Width of the top flange of the I girder" />
<P N="tft" V="0.875" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="16" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[120, 420, 720]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[1020]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Bearing Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Bearing Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Bearing Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
B-35
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="G2 Splices" T="Group" Z="-12.5" Y="3">
<O N="SG1G2" T="BoltedFieldSplice (BB)" X="G2FS1.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G2FS1.Length" />
<P N="dwA" V="G2FS1.dw" D="Web depth of the I girder" />
<P N="twA" V="G2FS1.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G2FS1.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G2FS1.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G2FS1.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G2FS1.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G2FS2.dw" D="Web depth of the I girder" />
<P N="twB" V="G2FS2.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G2FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G2FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G2FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G2FS2.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG2G3" T="BoltedFieldSplice (BB)" X="G2FS2.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G2FS2.Length" />
<P N="dwA" V="G2FS2.dw" D="Web depth of the I girder" />
<P N="twA" V="G2FS2.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G2FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G2FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G2FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G2FS2.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G2FS3.dw" D="Web depth of the I girder" />
<P N="twB" V="G2FS3.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G2FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G2FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G2FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G2FS3.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG3G4" T="BoltedFieldSplice (BB)" X="G2FS3.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G2FS3.Length" />
<P N="dwA" V="G2FS3.dw" D="Web depth of the I girder" />
<P N="twA" V="G2FS3.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G2FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G2FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G2FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G2FS3.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G2FS4.dw" D="Web depth of the I girder" />
<P N="twB" V="G2FS4.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G2FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G2FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G2FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G2FS4.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG4G5" T="BoltedFieldSplice (BB)" X="G2FS4.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G2FS4.Length" />
<P N="dwA" V="G2FS4.dw" D="Web depth of the I girder" />
<P N="twA" V="G2FS4.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G2FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G2FS4.tft" D="Thickness of the top flange of the I girder" />
B-36
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="bfbA" V="G2FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G2FS4.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G2FS5.dw" D="Web depth of the I girder" />
<P N="twB" V="G2FS5.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G2FS5.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G2FS5.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G2FS5.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G2FS5.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
</O>
</O>
<O N="Girder 3" T="Group">
<O N="G3FS1" T="SteelGirderMB" Z="-12.5" Y="-111" X="73487" AlignV="Warp" AlignH="Warp" AlignT="None">
<P N="StartStation" V="G3FS1.X" />
<P N="Offset" V="G3FS1.Y" />
<P N="Length" V="1033" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="16" D="Width of the top flange of the I girder" />
<P N="tft" V="0.875" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="16" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[253, 493, 733, 973]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[13]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G3FS2" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="74520" Y="-111" Z="-12.5">
<P N="StartStation" V="G3FS2.X" />
<P N="Offset" V="G3FS2.Y" />
<P N="Length" V="1056" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="20" D="Width of the top flange of the I girder" />
<P N="tft" V="[[0,348], 1.125,[348,711], 2.25,[711,1056], 1.125]" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="20" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="[[0,348], 1.5,[348,711], 2.75,[711,1056], 1.5]" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[180, 360, 720, 900]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
B-37
APPENDIX B EXAMPLE BRIDGE MODEL
B-38
APPENDIX B EXAMPLE BRIDGE MODEL
B-39
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="bfbA" V="G3FS1.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G3FS1.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G3FS2.dw" D="Web depth of the I girder" />
<P N="twB" V="G3FS2.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G3FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G3FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G3FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G3FS2.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG2G3" T="BoltedFieldSplice (BB)" X="G3FS2.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G3FS2.Length" />
<P N="dwA" V="G3FS2.dw" D="Web depth of the I girder" />
<P N="twA" V="G3FS2.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G3FS2.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G3FS2.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G3FS2.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G3FS2.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G3FS3.dw" D="Web depth of the I girder" />
<P N="twB" V="G3FS3.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G3FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G3FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G3FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G3FS3.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG3G4" T="BoltedFieldSplice (BB)" X="G3FS3.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G3FS3.Length" />
<P N="dwA" V="G3FS3.dw" D="Web depth of the I girder" />
<P N="twA" V="G3FS3.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G3FS3.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G3FS3.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G3FS3.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G3FS3.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G3FS4.dw" D="Web depth of the I girder" />
<P N="twB" V="G3FS4.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G3FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G3FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G3FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G3FS4.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG4G5" T="BoltedFieldSplice (BB)" X="G3FS4.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G3FS4.Length" />
<P N="dwA" V="G3FS4.dw" D="Web depth of the I girder" />
<P N="twA" V="G3FS4.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G3FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G3FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G3FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G3FS4.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G3FS5.dw" D="Web depth of the I girder" />
<P N="twB" V="G3FS5.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G3FS5.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G3FS5.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G3FS5.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G3FS5.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
B-40
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
</O>
<O N="Girder 4" T="Group">
<O N="G4FS1" T="SteelGirderMB" Z="-12.5" Y="-225" X="73487" AlignV="Warp" AlignH="Warp" AlignT="None">
<P N="StartStation" V="G4FS1.X" />
<P N="Offset" V="G4FS1.Y" />
<P N="Length" V="1033" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="22" D="Width of the top flange of the I girder" />
<P N="tft" V="1" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="22" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1.25" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="WebStiffLoc" V="[73, 133, 193, 313, 373, 433, 553, 613, 673, 793, 853, 913, 1033]" D="Stiffener locations"
/>
<P N="WebStiffT" V="0.625" D="Stiffener Plate Thickness" />
<P N="WebStiffW" V="6" D="Stiffener Plate Width" />
<P N="WebStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="WebStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="WebStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="ConnStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[253, 493, 733, 973]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[13]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G4FS2" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="74520" Y="-225" Z="-12.5">
<P N="StartStation" V="G4FS2.X" />
<P N="Offset" V="G4FS2.Y" />
<P N="Length" V="1056" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="22" D="Width of the top flange of the I girder" />
<P N="tft" V="[[0,348], 1.25,[348,711], 2.5,[711,1056], 1.25]" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="22" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="[[0,348], 1.625,[348,711], 3,[711,1056], 1.5]" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="WebStiffLoc" V="[60, 120, 240, 300, 420, 480, 600, 660, 780, 840, 960, 1020,]" D="Stiffener locations" />
<P N="WebStiffT" V="0.625" D="Stiffener Plate Thickness" />
<P N="WebStiffW" V="6" D="Stiffener Plate Width" />
<P N="WebStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="WebStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="WebStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
B-41
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="ConnStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[180, 360, 720, 900]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="BearingStiffLoc" V="[540]" D="Bearing Stiffener locations" />
<P N="BearingStiffT" V="1" D="Bearing Stiffener Thickness" />
<P N="BearingStiffW" V="9" D="Bearing Plate Width" />
<P N="BearingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="BearingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="BearingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffLoc" V="[516,564]" D="Jacking Stiffener locations" />
<P N="JackingStiffT" V="1" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="9" D="Jacking Plate Width" />
<P N="JackingStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
</O>
</O>
<O N="G4FS3" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="75576" Y="-225" Z="-12.5">
<P N="StartStation" V="G4FS3.X" />
<P N="Offset" V="G4FS3.Y" />
<P N="Length" V="1128" />
<P N="dw" V="66" D="Web depth of the I girder" />
<P N="tw" V="0.6875" D="Web thickness of the I girder" />
<P N="bft" V="20" D="Width of the top flange of the I girder" />
<P N="tft" V="1" D="Thickness of the top flange of the I girder" />
<P N="bfb" V="22" D="Width of the bottom flange of the I girder" />
<P N="tfb" V="1.375" D="Thickness of the bottom flange of the I girder" />
<O N="Stiffener Data" T="Group">
<P N="WebStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="WebStiffLoc" V="[24, 144, 204, 264, 384, 444, 504, 624, 684, 744, 864, 924, 984, 1104]" D="Stiffener
locations" />
<P N="WebStiffT" V="0.625" D="Stiffener Plate Thickness" />
<P N="WebStiffW" V="6" D="Stiffener Plate Width" />
<P N="WebStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="WebStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="WebStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="ConnStiffOrient" V="R" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />
<P N="ConnStiffLoc" V="[84, 324, 564, 804, 1044]" D="Connector Stiffener locations" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<P N="ConnStiffW" V="8" D="Connector Plate Width" />
<P N="ConnStiffHeight" V="dw" D="Jacking Stiffener Height" />
<P N="ConnStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="ConnStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="BearingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
<P N="JackingStiffOrient" V="N" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both, N = None" />
</O>
</O>
<O N="G4FS4" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="76704" Y="-225" Z="-12.5">
<P N="StartStation" V="G4FS4.X" />
<P N="Offset" V="G4FS4.Y" />
<P N="Length" V="1056" />
B-42
APPENDIX B EXAMPLE BRIDGE MODEL
B-43
APPENDIX B EXAMPLE BRIDGE MODEL
B-44
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="tfbA" V="G4FS3.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G4FS4.dw" D="Web depth of the I girder" />
<P N="twB" V="G4FS4.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G4FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G4FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G4FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G4FS4.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
<O N="SG4G5" T="BoltedFieldSplice (BB)" X="G4FS4.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">
<P N="gap" V="1/4" />
<P N="sp_sta" V="G4FS4.Length" />
<P N="dwA" V="G4FS4.dw" D="Web depth of the I girder" />
<P N="twA" V="G4FS4.tw" D="Web thickness of the I girder" />
<P N="bftA" V="G4FS4.bft" D="Width of the top flange of the I girder" />
<P N="tftA" V="G4FS4.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbA" V="G4FS4.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbA" V="G4FS4.tfb" D="Thickness of the bottom flange of the I girder" />
<P N="dwB" V="G4FS5.dw" D="Web depth of the I girder" />
<P N="twB" V="G4FS5.tw" D="Web thickness of the I girder" />
<P N="bftB" V="G4FS5.bft" D="Width of the top flange of the I girder" />
<P N="tftB" V="G4FS5.tft" D="Thickness of the top flange of the I girder" />
<P N="bfbB" V="G4FS5.bfb" D="Width of the bottom flange of the I girder" />
<P N="tfbB" V="G4FS5.tfb" D="Thickness of the bottom flange of the I girder" />
</O>
</O>
</O>
</O>
<O N="Shear Studs" T="Group">
<O N="Girder 1 Shear Studs" T="Group" X="73487" Z="-12.5">
<O T="Stud Placement" Y="117">
<P N="dia_s" V="7/8" D="Diameter of the stud." />
<P N="len_s" V="7" D="Length of stud." />
<P N="Stud_Spacing" V="[15, 18, 15, 15, 18, 15, 15, 18, 15]" />
<P N="Spacing_Length" V="[312, 1072, 156, 516, 1194, 432, 156, 1092, 312]" />
</O>
<O T="Stud Placement" Y="117-3.5">
<P N="dia_s" V="7/8" D="Diameter of the stud." />
<P N="len_s" V="7" D="Length of stud." />
<P N="Stud_Spacing" V="[15, 18, 15, 15, 18, 15, 15, 18, 15]" />
<P N="Spacing_Length" V="[312, 1072, 156, 516, 1194, 432, 156, 1092, 312]" />
</O>
<O T="Stud Placement" Y="117+3.5">
<P N="dia_s" V="7/8" D="Diameter of the stud." />
<P N="len_s" V="7" D="Length of stud." />
<P N="Stud_Spacing" V="[15, 18, 15, 15, 18, 15, 15, 18, 15]" />
<P N="Spacing_Length" V="[312, 1072, 156, 516, 1194, 432, 156, 1092, 312]" />
</O>
</O>
<!--
<O N="Girder 2 Shear Studs" T="Group" X="73487" Z="-12.5">
<O T="Stud Placement" Y="3">
<P N="dia_s" V="7/8" D="Diameter of the stud." />
<P N="len_s" V="7" D="Length of stud." />
<P N="Stud_Spacing" V="[15, 18, 20, 18]" />
<P N="Spacing_Length" V="[156, 1404, 2160, 1560]" />
</O>
<O T="Stud Placement" Y="3-3.5">
B-45
APPENDIX B EXAMPLE BRIDGE MODEL
B-46
APPENDIX B EXAMPLE BRIDGE MODEL
B-47
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
<P N="BottomGusset_V" V="15.5" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="CenterGusset_H" V="20" />
<P N="CenterGusset_V" V="12" />
<P N="thickness" V="0.5" D="thickness of the plate" />
</O>
</O>
<O N="Bay3" T="CrossFrameLayout" X="Abut1Sta-(ConnStiffT+thickness)/2">
<P N="CrossFrameType" V="CrossFrameTypeKTop" T="Text" />
<P N="CrossFrameLocations"
V="[240,480,720,960,1200,1380,1740,1920,2160,2400,2640,2880,3120,3360,3540,3900,4080,4380,4680,4980]" />
<P N="StartStation" V="Bay1.X" />
<P N="GirderA_Horiz_Offset" V="GirderOffset[3]" D="Girder A (Left) CL Offset from HCL" />
<P N="GirderB_Horiz_Offset" V="GirderOffset[2]" D="Girder B (Right) CL Offset from HCL" />
<P N="WebDepth" V="66" />
<P N="TopWP_Vert_Offset" V="10" D="Top Work Point offset from top of Girder web" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" />
<P N="BotWP_Vert_Offset" V="7.5" D="Bottom Work Point offset from bottom of Girder web" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" />
<P N="BoltDia" V="0.75" D="Diameter of bolt" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="ConnStiffT" V="0.75" D="Connector Stiffener Thickness" />
<O N="Cross Frame Member Data" T="Group">
<P N="TopChord" V="L5X5X1over2" T="Section" />
<P N="BotChord" V="L5X5X1over2" T="Section" />
<P N="Diagonal" V="L5X5X1over2" T="Section" />
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
<P N="BottomGusset_V" V="15.5" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="CenterGusset_H" V="20" />
<P N="CenterGusset_V" V="12" />
<P N="thickness" V="0.5" D="thickness of the plate" />
</O>
</O>
B-48
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="CF2" T="Group">
<O N="Bay1" T="CrossFrameLayout" X="Abut1Sta-(BearingStiffT+thickness)/2">
<P N="CrossFrameType" V="CrossFrameTypeKTop" T="Text" />
<P N="CrossFrameLocations" V="[1560,3720]" />
<P N="StartStation" V="Bay1.X" />
<P N="GirderA_Horiz_Offset" V="GirderOffset[1]" D="Girder A (Left) CL Offset from HCL" />
<P N="GirderB_Horiz_Offset" V="GirderOffset[0]" D="Girder B (Right) CL Offset from HCL" />
<P N="WebDepth" V="66" />
<P N="TopWP_Vert_Offset" V="10" D="Top Work Point offset from top of Girder web" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" />
<P N="BotWP_Vert_Offset" V="7.5" D="Bottom Work Point offset from bottom of Girder web" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" />
<P N="BoltDia" V="0.75" D="Diameter of bolt" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="BearingStiffT" V="1" D="Connector Stiffener Thickness" />
<O N="Cross Frame Member Data" T="Group">
<P N="TopChord" V="L5X5X1over2" T="Section" />
<P N="BotChord" V="L5X5X1over2" T="Section" />
<P N="Diagonal" V="L5X5X1over2" T="Section" />
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
<P N="BottomGusset_V" V="15.5" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="CenterGusset_H" V="20" />
<P N="CenterGusset_V" V="12" />
<P N="thickness" V="0.5" D="thickness of the plate" />
</O>
</O>
<O N="Bay2" T="CrossFrameLayout" X="Abut1Sta-(BearingStiffT+thickness)/2">
<P N="CrossFrameType" V="CrossFrameTypeKTop" T="Text" />
<P N="CrossFrameLocations" V="[1560,3720]" />
<P N="StartStation" V="Bay1.X" />
<P N="GirderA_Horiz_Offset" V="GirderOffset[2]" D="Girder A (Left) CL Offset from HCL" />
<P N="GirderB_Horiz_Offset" V="GirderOffset[1]" D="Girder B (Right) CL Offset from HCL" />
<P N="WebDepth" V="66" />
<P N="TopWP_Vert_Offset" V="10" D="Top Work Point offset from top of Girder web" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" />
<P N="BotWP_Vert_Offset" V="7.5" D="Bottom Work Point offset from bottom of Girder web" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" />
<P N="BoltDia" V="0.75" D="Diameter of bolt" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="BearingStiffT" V="1" D="Connector Stiffener Thickness" />
<O N="Cross Frame Member Data" T="Group">
<P N="TopChord" V="L5X5X1over2" T="Section" />
<P N="BotChord" V="L5X5X1over2" T="Section" />
<P N="Diagonal" V="L5X5X1over2" T="Section" />
B-49
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
<P N="BottomGusset_V" V="15.5" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="CenterGusset_H" V="20" />
<P N="CenterGusset_V" V="12" />
<P N="thickness" V="0.5" D="thickness of the plate" />
</O>
</O>
<O N="Bay3" T="CrossFrameLayout" X="Abut1Sta-(BearingStiffT+thickness)/2">
<P N="CrossFrameType" V="CrossFrameTypeKTop" T="Text" />
<P N="CrossFrameLocations" V="[1560,3720]" />
<P N="StartStation" V="Bay1.X" />
<P N="GirderA_Horiz_Offset" V="GirderOffset[3]" D="Girder A (Left) CL Offset from HCL" />
<P N="GirderB_Horiz_Offset" V="GirderOffset[2]" D="Girder B (Right) CL Offset from HCL" />
<P N="WebDepth" V="66" />
<P N="TopWP_Vert_Offset" V="10" D="Top Work Point offset from top of Girder web" />
<P N="TopWP_Horiz_Offset" V="0" D="Top Work Point offset from CL of Girder web" />
<P N="BotWP_Vert_Offset" V="7.5" D="Bottom Work Point offset from bottom of Girder web" />
<P N="BotWP_Horiz_Offset" V="0" D="Bottom Work Point offset from CL of Girder web" />
<P N="BoltDia" V="0.75" D="Diameter of bolt" />
<P N="EdgeDist" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="BearingStiffT" V="1" D="Connector Stiffener Thickness" />
<O N="Cross Frame Member Data" T="Group">
<P N="TopChord" V="L5X5X1over2" T="Section" />
<P N="BotChord" V="L5X5X1over2" T="Section" />
<P N="Diagonal" V="L5X5X1over2" T="Section" />
</O>
<O N="Gusset Plate Data" T="Group">
<P N="TopGusset_H" V="14" />
<P N="TopGusset_V" V="9.5" />
<P N="TopBoltGroupCols" V="2" D="number of cols" />
<P N="TopBoltGroupRows" V="3" D="number of rows" />
<P N="TopBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="TopBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="BottomGusset_H" V="14" />
<P N="BottomGusset_V" V="15.5" />
<P N="BottomBoltGroupCols" V="2" D="number of cols" />
<P N="BottomBoltGroupRows" V="5" D="number of rows" />
<P N="BottomBoltGroupSpY" V="3" D="Horiz spacing between columns" />
<P N="BottomBoltGroupSpZ" V="3" D="Vert spacing between rows" />
<P N="CenterGusset_H" V="20" />
<P N="CenterGusset_V" V="12" />
<P N="thickness" V="0.5" D="thickness of the plate" />
</O>
</O>
</O>
B-50
APPENDIX B EXAMPLE BRIDGE MODEL
</O>
<O N="Diaphragm 1" T="Group" AlignH="Orient" AlignV="None" AlignT="None" X="Abut1Sta" Z="-12.5">
<O N="G1G2" T="Diaphragm" Y="117">
<P N="Length" V="9*12+6" D="Length between CL of girders." />
<P N="bc" V="7" D="Bottom Flange minimum clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tc" V="-1" D="Top Flange clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tw" V="5/8" D="Web thickness " Role="Input" Category="Diaphragm Section Data" />
<P N="tfb" V="10" D="Width of the top flange " Role="Input" Category="Diaphragm Section Data" />
<P N="tft" V="3/4" D="Thickness of the top flange of the I girder" Role="Input" Category="Diaphragm Section Data"
/>
<P N="bfb" V="10" D="Width of the bottom flange of the I girder" Role="Input" Category="Diaphragm Section Data"
/>
<P N="bft" V="3/4" D="Thickness of the bottom flange of the I girder" Role="Input" Category="Diaphragm Section
Data" />
<P N="gwpL" V="5.58" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section Data"
/>
<P N="gwpR" V="0" D="Girder Work Point Elevation, Right Side" Role="Input" Category="Diaphragm Section Data" />
<P N="gd" V="66" D="Girder Depth" Role="Input" Category="Diaphragm Section Data" />
<P N="bsw" V="7.5" D="Bearing Stiffener Width" Role="Input" Category="Diaphragm Section Data" />
<P N="gap" V="0.5" D="Gap between bearing stiffener and diaphragm." Role="Input" Category="Diaphragm Section
Data" />
<P N="fpt" V="1/16" D="Fill Plate Thickness" Role="Input" Category="Plate" />
<P N="fpb" V="6.5" D="Fill Plate Width" Role="Input" Category="Plate" />
<P N="spt" V="3/8" D="Splice Plate Thickness" Role="Input" Category="Plate" />
<P N="spb" V="13.5" D="Splice Plate Width" Role="Input" Category="Plate" />
<P N="nR" V="11" D="Number of Bolt Hole Rows " Role="Input" Category="Plate" />
<P N="nC" V="4" D="Number of Bolt Hole Columns " Role="Input" Category="Plate" />
<P N="spc" V="2" D="Splice Plate Clearance" Role="Input" Category="Plate" />
<P N="spH" V="3" D="Horiz spacing between columns" />
<P N="spW" V="3" D="Center column space" />
<P N="dia" V="7/8" D="Bolt Diameter" />
<P N="edge" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None" />
<P N="JackingStiffT" V="1.75" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="4" D="Jacking Stiffener Width" />
<P N="JackingStiffHeight" V="gd-bc-tc-tft-bft" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffLoc" V="[Length/2]" D="Jacking Stiffener locations" />
</O>
<O N="G2G3" T="Diaphragm" Extends="G1G2" Y="3">
<P N="bc" V="-1" D="Bottom Flange minimum clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tc" V="8" D="Top Flange clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="gwpL" V="9.12" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section Data"
/>
</O>
<O N="G3G4" T="Diaphragm" Extends="G2G3" Y="-111">
<P N="gwpL" V="0" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section Data" />
<P N="gwpR" V="-9.12" D="Girder Work Point Elevation, Right Side" Role="Input" Category="Diaphragm Section
Data" />
</O>
</O>
<O N="Diaphragm 2" T="Group" AlignH="Orient" AlignV="None" AlignT="None" X="Abut1Sta+5280" Z="-12.5">
<O N="G1G2" T="Diaphragm" Y="117">
<P N="Length" V="9*12+6" D="Length between CL of girders." />
<P N="bc" V="3" D="Bottom Flange minimum clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tc" V="4" D="Top Flange clearance. " Role="Input" Category="Diaphragm Section Data" />
B-51
APPENDIX B EXAMPLE BRIDGE MODEL
<P N="tw" V="5/8" D="Web thickness " Role="Input" Category="Diaphragm Section Data" />
<P N="tfb" V="10" D="Width of the top flange " Role="Input" Category="Diaphragm Section Data" />
<P N="tft" V="3/4" D="Thickness of the top flange of the I girder" Role="Input" Category="Diaphragm Section Data"
/>
<P N="bfb" V="10" D="Width of the bottom flange of the I girder" Role="Input" Category="Diaphragm Section Data"
/>
<P N="bft" V="3/4" D="Thickness of the bottom flange of the I girder" Role="Input" Category="Diaphragm Section
Data" />
<P N="gwpL" V="1.48+0.26" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section
Data" />
<P N="gwpR" V="1.48" D="Girder Work Point Elevation, Right Side" Role="Input" Category="Diaphragm Section
Data" />
<P N="gd" V="66" D="Girder Depth" Role="Input" Category="Diaphragm Section Data" />
<P N="bsw" V="7.5" D="Bearing Stiffener Width" Role="Input" Category="Diaphragm Section Data" />
<P N="gap" V="0.5" D="Gap between bearing stiffener and diaphragm." Role="Input" Category="Diaphragm Section
Data" />
<P N="fpt" V="1/16" D="Fill Plate Thickness" Role="Input" Category="Plate" />
<P N="fpb" V="6.5" D="Fill Plate Width" Role="Input" Category="Plate" />
<P N="spt" V="3/8" D="Splice Plate Thickness" Role="Input" Category="Plate" />
<P N="spb" V="13.5" D="Splice Plate Width" Role="Input" Category="Plate" />
<P N="nR" V="11" D="Number of Bolt Hole Rows " Role="Input" Category="Plate" />
<P N="nC" V="4" D="Number of Bolt Hole Columns " Role="Input" Category="Plate" />
<P N="spc" V="2" D="Splice Plate Clearance" Role="Input" Category="Plate" />
<P N="spH" V="3" D="Horiz spacing between columns" />
<P N="spW" V="3" D="Center column space" />
<P N="dia" V="7/8" D="Bolt Diameter" />
<P N="edge" V="1.75" D="Distance from edge of Plate to CL of Bolt Hole" />
<P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None" />
<P N="JackingStiffT" V="1.75" D="Jacking Stiffener Thickness" />
<P N="JackingStiffW" V="4" D="Jacking Stiffener Width" />
<P N="JackingStiffHeight" V="gd-bc-tc-tft-bft" D="Jacking Stiffener Height" />
<P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" />
<P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" />
<P N="JackingStiffLoc" V="[Length/2]" D="Jacking Stiffener locations" />
</O>
<O N="G2G3" T="Diaphragm" Extends="G1G2" Y="3">
<P N="bc" V="3" D="Bottom Flange minimum clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tc" V="4" D="Top Flange clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="gwpL" V="1.48" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section Data"
/>
<P N="gwpR" V="-1.48" D="Girder Work Point Elevation, Right Side" Role="Input" Category="Diaphragm Section
Data" />
</O>
<O N="G3G4" T="Diaphragm" Extends="G2G3" Y="-111">
<P N="bc" V="3" D="Bottom Flange minimum clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="tc" V="4" D="Top Flange clearance. " Role="Input" Category="Diaphragm Section Data" />
<P N="gwpL" V="-1.48" D="Girder Work Point Elevation, Left Side" Role="Input" Category="Diaphragm Section Data"
/>
<P N="gwpR" V="-4.44" D="Girder Work Point Elevation, Right Side" Role="Input" Category="Diaphragm Section
Data" />
</O>
</O>
</O>
<O N="Deck" T="Group" AlignT="Warp" AlignH="Warp" AlignV="Warp">
<P N="DeckWidth" V="436.5" />
<P N="MinDeck_t" V="8.5" />
<P N="TopDeckToTopGirderWeb" V="12.5" />
B-52
APPENDIX B EXAMPLE BRIDGE MODEL
B-53
APPENDIX B EXAMPLE BRIDGE MODEL
B-54