Bridge Information Modeling 

(BrIM) Using Open Parametric 

Objects

Publication No. HIF-16-010
This page intentionally left blank.
III

1. Report No.

FHWA-HIF-16-010

2. Government Accession No.

XXX

3. Recipient’s Catalog No.

XXX

4. Title and Subtitle

Bridge Information Modeling (BrIM) Using Open Parametric Objects 

5. Report Date

December 2015

6. Performing Organization Code

XXX

7. Author(s)

Bartholomew, Michael

Blasen, Benjamin

Koc, Ali

8. Performing Organization Report No.

XXX

9. Performing Organization Name and Address

CH2M

1100 NE Circle Blvd.

Suite 300

Corvallis, OR 97330

10. Work Unit No.

XXX

11. Contract or Grant No.

DTFH61-11-H-00027

12. Sponsoring Agency Name and Address

Federal Highway Administration

Office of Infrastructure – Bridges and Structures

1200 New Jersey Ave., SE

Washington, DC 20590

13. Type of Report and Period Covered

XXX

14. Sponsoring Agency Code

HIBS-10

15. Supplementary Notes

Work funded by Cooperative Agreement “Advancing Steel and Concrete Bridge Technology to Improve Infrastructure Performance” 

between FHWA and Lehigh University.

16. Abstract

This project was undertaken to investigate alternative Bridge Information Modeling standards. The process developed is called OpenBrIM. 

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’s one central data repository from which all participants operate. Participants are allowed to access information from and 

to contribute information into the repository. For this project, approximately 30 standard bridge component objects were developed. The 

OpenBrIM concept uses a standard XML data format to describe dimensions and other data parameters for bridge components. 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 standards will be developed by the bridge community – the actual users of the information with the most knowledge about various 

bridge components.

17. Key Words

Bridge Information Modeling, BrIM, BIM, 3-D modeling

18. Distribution Statement

No restrictions. This document is available to the public online and through 

the National Technical Information Service, Springfield, VA 22161. 

19.Security Classif. (of this 

report)

Unclassified

20. Security Classif. (of this page)

Unclassified

21. No of Pages

296

22. Price

$XXX.XX
IV

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 

in2 square inches 645.2 square millimeters mm2

ft2 square feet 0.093 square meters m2

yd2 square yard 0.836 square meters m2

ac acres 0.405 hectares ha 

mi2 square miles 2.59 square kilometers km2

VOLUME 

fl oz fluid ounces 29.57 milliliters mL 

gal gallons 3.785 liters L 

ft3 cubic feet 0.028 cubic meters m3 

yd3 cubic yards 0.765 cubic meters m3 

NOTE: volumes greater than 1000 L shall be shown in m3

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

F Fahrenheit 5 (F-32)/9 Celsius o

C 

or (F-32)/1.8 

ILLUMINATION 

fc foot-candles 10.76 lux lx 

fl foot-Lamberts 3.426 candela/m2 cd/m2

FORCE and PRESSURE or STRESS 

lbf poundforce 4.45 newtons N 

lbf/in2 poundforce per square inch 6.89 kilopascals kPa 

APPROXIMATE CONVERSIONS FROM SI UNITS 

Symbol When You Know Multiply By To Find Symbol 

LENGTH mm millimeters 0.039 inches in 

m meters 3.28 feet ft 

m meters 1.09 yards yd 

km kilometers 0.621 miles mi 

AREA mm2 square millimeters 0.0016 square inches in2 

m2 square meters 10.764 square feet ft2 

m2 square meters 1.195 square yards yd2 

ha hectares 2.47 acres ac 

km2 square kilometers 0.386 square miles mi2 

VOLUME 

mL milliliters 0.034 fluid ounces fl oz 

L liters 0.264 gallons gal 

m3 cubic meters 35.314 cubic feet ft3 

m3 cubic meters 1.307 cubic yards yd3 

MASS 

g grams 0.035 ounces oz

kg kilograms 2.202 pounds lb

Mg (or "t") megagrams (or "metric ton") 1.103 short tons (2000 lb) T 

TEMPERATURE (exact degrees) o

C Celsius 1.8C+32 Fahrenheit oF 

ILLUMINATION 

lx lux 0.0929 foot-candles fc 

cd/m2 candela/m2 0.2919 foot-Lamberts fl

FORCE and PRESSURE or STRESS 

N newtons 0.225 poundforce lbf 

kPa kilopascals 0.145 poundforce per square inch lbf/in2

*SI is the symbol for the International System of Units. Appropriate rounding should be made to comply with Section 4 of ASTM E380. 

(Revised March 2003)
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.
VII

Contents

Section Page

Contents ........................................................................................................................................ vii

1 Executive Summary ........................................................................................................... 1-1

2 Introduction ...................................................................................................................... 2-1

2.1 Project Goals ......................................................................................................... 2-1

2.1.1 Previous Work Products ............................................................................. 2-1

2.1.2 Task 12b Scope of Work ............................................................................. 2-2

2.1.3 Current Industry BrIM/BIM Capabilities ....................................................... 2-4

3 OpenBrIM Concept ............................................................................................................ 3-1

3.1 Overview ............................................................................................................... 3-1

3.2 Bridge Component Standards ................................................................................. 3-2

3.3 Data Structure/Format ........................................................................................... 3-2

3.4 Centralized Data Repository ................................................................................... 3-5

3.5 Community Driven ................................................................................................. 3-6

4 OpenBrIM Applications ..................................................................................................... 4-1

4.1 Purpose ................................................................................................................. 4-1

4.1.1 OpenBrIM Library ...................................................................................... 4-2

4.1.2 OpenBrIM App ........................................................................................... 4-5

5 Bridge Component Modeling ............................................................................................. 5-1

5.1 Basic Geometric Constructs .................................................................................... 5-1

5.2 Parametric Modeling ............................................................................................. 5-7

5.3 Units ................................................................................................................... 5-10

5.4 Alignment ........................................................................................................... 5-11

5.4.1 Horizontal Segment ................................................................................. 5-12

5.4.2 Vertical Segment ..................................................................................... 5-14

5.4.3 Cross Slope Segment ................................................................................ 5-16

5.4.4 Alignment Functions ................................................................................ 5-18

5.5 Developed Component Library Objects ................................................................. 5-20

5.5.1 Abutments .............................................................................................. 5-22

5.5.2 Piers ........................................................................................................ 5-28

5.5.3 Bearings .................................................................................................. 5-31

5.5.4 Concrete Girders ...................................................................................... 5-31

5.5.5 Steel Girders ............................................................................................ 5-33

5.5.6 Decks ...................................................................................................... 5-44

5.5.7 Bridge Railings ......................................................................................... 5-46

5.5.8 Miscellaneous .......................................................................................... 5-46

6 Bridge Modeling ................................................................................................................ 6-1

6.1 Building BrIM Models ............................................................................................. 6-1

6.1.1 Example Object Creation ............................................................................ 6-3

6.2 Positioning Component Objects .............................................................................. 6-4

6.2.1 Example Object Positioning ........................................................................ 6-4

6.3 Grouping and Hierarchy of Components .................................................................. 6-6

6.3.1 Example Object Grouping ........................................................................... 6-8
CONTENTS

VIII

6.4 Locating and Orienting Components to Alignments .................................................. 6-9

6.4.1 Example Deck Section .............................................................................. 6-11

6.4.2 Example Girder Section ............................................................................ 6-12

6.4.3 Example Cross Frame ............................................................................... 6-15

7 Gaps ................................................................................................................................. 7-1

8 Industry Outreach ............................................................................................................. 8-1

9 Conclusions ....................................................................................................................... 9-1

9.1 Advantages of OpenBrIM ....................................................................................... 9-1

9.2 Next Steps ............................................................................................................. 9-2

9.3 Concluding Remarks ............................................................................................... 9-2

Appendices

A Library Object Definitions

B Example Bridge Model

Table

1 Component Library Objects .............................................................................................. 5-21

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
CONTENTS

IX

26 Ramp 119 S-N Vertical Profile ........................................................................................... 5-14

27 Ramp 119 S-N Vertical Curve Data .................................................................................... 5-14

28 Ramp 119 S-N Vertical Profile in OpenBrIM ....................................................................... 5-15

29 Ramp 119 S-N Typical Cross Section .................................................................................. 5-16

30 Ramp 119 S-N Cross Slope Variation in OpenBrIM .............................................................. 5-18

31 Ramp 119 S-N Abutment 1 ............................................................................................... 5-22

32 H-Pile Batter Orientation, Phi Angle .................................................................................. 5-23

33 Pile Parameters ............................................................................................................... 5-23

34 Abutment U-Shaped Footing Parameters .......................................................................... 5-24

35 Abutment U-Shaped Footing Graphical Representation of Parameters ................................ 5-24

36 Abutment Backwall Library Object .................................................................................... 5-26

37 Abutment Backwall in the Project ..................................................................................... 5-26

38 Ramp 119 S-N Hammerhead Pier ...................................................................................... 5-29

39 Hammerhead Pier Cap with Crown ................................................................................... 5-30

40 Pot Bearing ...................................................................................................................... 5-31

41 Steel I-Girder ................................................................................................................... 5-33

42 Steel I-Girder Section Data ............................................................................................... 5-33

43 Top Flange Range Variable Data ........................................................................................ 5-34

44 Shear Stiffener Location Data ........................................................................................... 5-34

45 Shear Stiffener Object ...................................................................................................... 5-37

46 Shear Stiffener Input Data ................................................................................................ 5-37

47 Girder Bolted Field Splice ................................................................................................. 5-39

48 Web Field Splice Bolt Pattern Input ................................................................................... 5-40

49 Flange Field Splice Bolt Pattern Input ................................................................................ 5-40

50 Cross Frame Geometry from Library ................................................................................. 5-42

51 Cross Frame Geometry in Project ...................................................................................... 5-42

52 Plate Diaphragm .............................................................................................................. 5-43

53 Deck Cross Section ........................................................................................................... 5-44

54 Deck Input Parameters ..................................................................................................... 5-45

55 3D Representation of Deck ............................................................................................... 5-45

56 3-D Representation of Deck from Below ............................................................................ 5-45

57 Reinforcing Stirrup Bar Bend ............................................................................................ 5-47

58 Full Model of Ramp 119 S-N ............................................................................................... 6-1

59 OpenBrIM App Interface .................................................................................................... 6-1

60 OpenBrIM App - Create Project .......................................................................................... 6-2

61 OpenBrIM App Add Object ................................................................................................. 6-2

62 New Object Documentation Dialog Box ............................................................................... 6-2

63 New Object Parameters Dialog Box ..................................................................................... 6-3

64 Model View of Added Object .............................................................................................. 6-3

65 Edit Object Dialog Box ........................................................................................................ 6-4

66 Model View of Multiple Drilled Shafts ................................................................................. 6-5

67 Model View Object Explorer ............................................................................................... 6-6

68 Object Explorer Window .................................................................................................... 6-7

69 Model View with Object Explorer Open ............................................................................... 6-8
CONTENTS

X 

70 Model View of Drilled Shafts Rotated 90° ............................................................................ 6-9

71 Use of Align Parameters ................................................................................................... 6-10

72 Straight Beam Behavior .................................................................................................... 6-10

73 Ramp 119 S-N Deck/Girder Key Parameter ........................................................................ 6-12

74 Ramp 119 S-N Girder Framing Plan ................................................................................... 6-13

75 Ramp 119 S-N Girder 1 Elevation ...................................................................................... 6-13

76 Ramp 119 S-N Girder 1 Field Section 1 .............................................................................. 6-14

77 Ramp 119 S-N Girder/Deck Interface ................................................................................. 6-15

78 Ramp 119 S-N Cross Frame ............................................................................................... 6-15

79 Ramp 119 S-N Cross Frame Racking .................................................................................. 6-17

80 Ramp 119 S-N Cross Frame Variations ............................................................................... 6-17
1-1 

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 vendor’s 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 hasn’t 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, there’s 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.
This page intentionally left blank.
2-1 

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 Project Goals

The overall project goals established at the beginning of the project are as follows:

Vision – Exploit the full potential of computer technology by transforming the current bridge practice 

into a full digital delivery practice from project development to end use (cradle to grave).

Objectives – To further develop and promote credible, robust, software neutral, digital BrIM standards, 

to automate data transfer among different software applications within the bridge community, and

promote the concept of interoperability of data between many platforms, including project concept 

visualization, design, detailing, construction, in-service inspection and maintenance, and structural and 

service life performance monitoring.

The key goals driving this work are: 

• Transforming bridge practice from paper delivery to digital delivery

• Developing digital BrIM standards

• Providing interoperability between many platforms and life-cycle stages

• Maintaining software neutrality

2.1.1 Previous WorkProducts

Task 12b is a follow-on to Task 12a, “Bridge Data File Protocols for Interoperability and Life Cycle 

Management” of the FHWA Cooperative Agreement DTFH61-11-H-0027, “Advancing Steel and Concrete 

Bridge Technology to Improve Infrastructure Performance”, which was previously completed by the 

State University of New York (SUNY) at Buffalo, and produced the following three volume report.

• Volume 1 – Implementation Roadmap for Bridge Information Modeling (BrIM) Data Exchange

Protocols

• Volume 2 – Information Delivery Manual Elements for Highway Bridge Interoperable Data

Protocols

• Volume 3 – Model View Definition Elements for Highway Bridge Interoperable Data Protocols

This previous work focused on developing a new digital data protocol for automating the exchange of 

bridge information between the activities involved in the bridge life-cycle, from design and construction 

through to operations and asset management. This protocol was coined as “openBrIM” to promote the 

concept of software neutrality. The key deliverables produced in the project reports were:

• Process map

• Data Exchange Models (EMs)

• Data Dictionaries (DDs)

• Model View Definitions (MVDs)
SECTION 2 – INTRODUCTION

2-2 

• Information Delivery Manuals (IDMs)

In developing the work, it was necessary to develop 3D models of bridges and bridge components to 

demonstrate the applicability of the data protocol. A viewing/modeling program, OpenBrIM developed 

by Red Equation Corporation, was used for demonstration purposes. OpenBrIM versions 1 and 2 were 

both used during Task 12a work.

2.1.2 Task 12b Scope of Work

2.1.2.1 Original

One of the main objectives of the current scope of work was to have a team of practicing engineers 

perform a critical review and vetting of the work principally performed by a team from academia. Work 

was to include the review of the following three Case Study models referenced in Volume 3 of the SUNY 

Buffalo report:

• Quincy Avenue over I-25 and LRT – 3-span prestressed concrete bulb-T girder bridge in Denver,

CO

• Glenridge Road over Alplaus Kill – Single span prestressed concrete adjacent box beam bridge in

Glenville, NY

• I-290 Ramp B over I-290 Ramp D and I-90 – A 2-span steel plate I-girder bridge in NY

Contained within these models were the following bridge component definitions:

Roadway Geometry Components (3)

• Horizontal Alignment

• Vertical Profile

• Superelevation

Cross Section Templates (5) 

• Circular

• Rectangular

• Steel I

• 610x1220(NY) Box Beam

• BT72 Prestressed Concrete I Girder

Component Object Templates (23)

• Concrete Deck

• Haunch

• Steel I Girder

• Left & Right Stiffener

• CrossFrame K Closed

• CrossFrame X Closed

• CrossFrame V Closed

• Bottom Lateral Brace
SECTION 2 – INTRODUCTION

2-3 

• 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 

user’s 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 
SECTION 2 – INTRODUCTION

2-4 

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.1.3 Current Industry BrIM/BIM Capabilities

While Building Information Modeling (BIM) is a relatively mature business both internationally and in 

the US, BrIM is in the very early stages of development. According to the 2012 McGraw-Hill Construction 

SmartMarket Report, “The Business Value of BIM in North America”, BIM usage by North American 

companies was at 71%. A 2014 McGraw-Hill Construction SmartMarket Report, “The Business Value of 

BIM for Construction in Major Global Markets” shows only 14% BIM usage in the US on infrastructure 

projects (defined as roads, bridges, tunnels, dams, and water/wastewater). Based on this demographic, 

it appears that BrIM usage is lagging behind BIM usage.

Two of the key differences between BIM and BrIM are:

• Geometric definition for buildings is developed in a rectangular grid system, whereas bridges are

defined with horizontal curved or straight alignments (stations and offsets), vertical grades and

curve profiles (elevations), and varying cross-section (superelevation) definitions.

• The number of disciplines and construction trades involved in building structures is significantly

higher than for bridges.

There are several software vendors who have developed BrIM based interfaces. 

• Autodesk Revit, BIM 360

• ArchiBUS

• ArchiCAD (Hungary, 120,000 users, IFC)

• Bentley

• CodeBook (UK, database add-in )

• Data Design System AS (Norway, has IFC viewer)

• GRAITEC Advance BIM

• IDEA Architectural (full IFC compatibility)

• Tekla Structures and BIMsight (Finland, IFC compliant)

• VisualARQ (Spain, IFC)

A separate FHWA sponsored project, “Bridge Information Modeling Standardization”, is being 

performed in parallel with this project. The work is being undertaken by the National Institute of 

Building Sciences (NIBS) and will conclude with the following four volumes of documentation:

• Introduction

• Volume A – Information Exchanges

• Volume B – Schemas

• Volume C – Components

The goal of the NIBS project is to investigate the extension of existing BIM standards to bridges. The BIM 

standards use the Industry Foundation Class (IFC) protocol that has been developed over the past 20 
SECTION 2 – INTRODUCTION

2-5 

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 welldefined standard exchange format such as IFC and a fully flexible approach such as openBrIM. 
This page intentionally left blank.
3-1 

Section 3 – OpenBrIM Concept

3.1 Overview

Traditional BIM/BrIM modeling relies on the use of vendor’s 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 application’s 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. There’s 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.

Figure 1 - OpenBrIM Concept

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
SECTION 3 – OPENBRIM CONCEPT

3-2 

3.2 Bridge Component Standards

Bridge structures can be envisioned as a collection of individual components such as the deck, traffic 

barriers, girders and cross-frames, bearings, piers and abutments. Components like piers and abutments 

are comprised of smaller components like piles, footings, columns, walls, caps, and steel reinforcing. All 

of these individual components can be defined with a relatively small number of parameters. Any 

component or object can be developed into a standard bridge component by identifying the minimum 

data parameters necessary to completely define it. A simple example is a rectangular concrete footing, 

where three variables – width, length, and thickness – can be used to define the outline shape. All

similar rectangular footings for a bridge can use the same geometric definition, by defining separate 

width, length, and thickness variables for each individual footing. All that is needed is to locate their 

position in the overall structure by defining a reference point on the component, and its station, offset, 

and elevation along the bridge alignment. Other non-geometric data can also be associated with the 

component, such as material type or date constructed. All of these parameters form the standard data 

required to define the component. A complete bridge model is developed by combining all of the 

individual standard components into an assembly.

It is anticipated that there will need to be hundreds of individual bridge component objects developed 

to properly account for the complexity of bridge models. The OpenBrIM Library application provides a 

home where these objects can be developed, organized and hosted in an open and collaborative 

environment. 

3.3 Data Structure/Format

OpenBrIM uses XML (eXtensible Markup Language) as the document format for OpenBrIM models. XML 

is the de-facto standard for digital document representation and exchange format across all disciplines 

and industries in the world today. OpenBrIM uses a subset of XML called Parametric Markup Language 

(ParamML). A thorough description of ParamML is given in the ParamML author's guide. A detailed XSD 

data schema is available on the OpenBrIM website, at the following link:

https://openbrim.appspot.com/schema.xsd?for=openbrim&v=3&format=xsd&version=1.1. 

Essentially, every line of data in a template file has either an object or a parameter tag. All objects 

contain parameters, and thus they generally contain a starting and ending tag. The syntax used for an 

object is:

<O>

... 

</O>

Objects are further defined by attributes contained within the starting tag line. All objects require a 

mandatory Type (T=) attribute, and optional Name (N=), position/translation (X=, Y=, Z=), 

orientation/rotation (RX=, RY=, RZ=), and rotation origin (AX=, AY=, AZ=) attributes. If not explicitly 

stated, the position/translation attributes default to a value of 0.

Parameters are typically defined on a single line, therefore a shorter form of syntax can be used as 

follows: 

<P ... />

Parameters are also defined with attributes. All parameters require a mandatory Name (N=) attribute, 

and optional Type (T=), Value (V=), Description (D=), Role (Role=), Category (Category=), Unit Type 

(UT=), and Unit Category (UC=) attributes. Most parameters will have a value. There is no required order 

to the attributes for either objects or parameters.
SECTION 3 – OPENBRIM CONCEPT

3-3 

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 f’c 4 ksi” T=”Material” />

... 

</O>

Figure 2 - Rectangular Footing Template View in OpenBrIM Library

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 
SECTION 3 – OPENBRIM CONCEPT

3-4 

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 f’c 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. 

Figure 3 – Pier2Footing Shown in a Project

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).
SECTION 3 – OPENBRIM CONCEPT

3-5 

Figure 4 – Pier2Footing Selected Inside Project

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.4 Centralized Data Repository

One of the fundamental principles of the OpenBrIM concept is the use of an open bridge object data

repository for BrIM models. This repository is currently organized as a central database on cloud. 

However, it has been designed as a distributed system where the leading organizations such as FHWA, 

state DOTs, standards organizations, etc., can host and manage their own open bridge libraries. These 

objects can be discovered and used by the community by sharing a simple URL. 

OpenBrIM takes advantage of the already proven technologies of the IT industry to create a 

collaborative and secure environment. Information can be exchanged in XML format. Optionally, 

software vendors and end users can access the information directly online via a RESTful API. This API 

allows any authenticated user or application to interact with OpenBrIM data through simple web 

requests. Instead of file exchange, the data can be accessed directly from the hosting server. It is also 

possible to use OpenBrIM Connect, a free library developed and maintained by the OpenBrIM 

community allowing .NET and COM based applications to access the OpenBrIM object model. Using this 

library, software providers and/or the bridge industry community can create plug-ins/add-ons to 

integrate OpenBrIM into software applications utilized every day. Currently, open source plug-ins for 

AutoDesk AutoCAD, Bentley MicroStation, LARSA 4D and CSI SAP 2000 are available and it is expected

and encouraged that more plug-ins be created by the community. 

OpenBrIM is designed to work with OAuth and OpenID technologies to provide an open, and secure 

authentication experience. These technologies allow OpenBrIM to seamlessly integrate with existing 

user account management systems. Users can authenticate at their end and use OpenBrIM with their

native organization account. This is expected to be an increasingly important feature as more of the 

organizations move to cloud based systems such as Google Apps and Office 365. All system components 

are designed to operate on SSL, a standard encrypted secure method for communication security.

OpenBrIM provides a version controlled data management back-end where no change to the project 

ever gets lost. The evolution of the project can be viewed through time along with the users who make 

the change and why the change has been made at each step. 
SECTION 3 – OPENBRIM CONCEPT

3-6 

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.5 Community Driven

Another key to OpenBrIM is the community driven concept, which is intended to promote collaboration. 

With this approach, the bridge component library objects are expected to be developed by bridge 

practitioners, including: 

• Design engineers

• CADD technicians

• Software developers

• Steel fabricators

• Precast industry personnel

• Contractors

• Component manufacturers

• Owner’s inspection, maintenance, and asset management staff

In addition to developing standard library objects, practitioners are needed to review and comment on 

proposed standards.

It is envisioned that an OpenBrIM organizational board will be established to moderate discussion and 

accept proposed objects for testing and standardization. Establishment of an OpenBrIM board is also an 

administrative issue to be decided by FHWA, AASHTO, and the rest of the bridge community.
4-1 

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 library’s 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. OpenBrIM’s 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.

Figure 5 - OpenBrIM Opening Screen
SECTION 4 – OPENBRIM APPLICATIONS 

4-2 

Figure 6 - Initial Registration Screen

Registration provides use of the OpenBrIM App to create projects and library objects, and read-only 

access to other user’s library objects. Being able to view other’s 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.1.1 OpenBrIM Library

The Library App is a vital tool in the OpenBrIM concept. It is used for development of bridge component 

objects, which are the essential building blocks of BrIM models. Authors must determine a list of 

parameters to describe the object, write the ParamML code to display it, then document it properly. The 

OpenBrIM Library becomes the central repository for all bridge component objects.

The Library App has two windows (see Figure 7). The left window displays text, and the right displays 

graphics.
SECTION 4 – OPENBRIM APPLICATIONS 

4-3 

Figure 7 - OpenBrIM Library App Layout

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

Figure 8 - Library Object Description
SECTION 4 – OPENBRIM APPLICATIONS 

4-4 

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

Figure 9 - Library Object Parameters

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

Figure 10 - XML Code

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.
SECTION 4 – OPENBRIM APPLICATIONS 

4-5 

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.1.2 OpenBrIM App

The OpenBrIM App is a modeling tool that works in conjunction with the OpenBrIM Library to create full 

bridge models. A project file is typically comprised only of object references to library component 

objects and their associated parameters. The object parameter data in the project file replaces the 

default data in the library file. While component objects can be created with the OpenBrIM App, those 

components are not accessible to other projects, which would result in a lot of copying of XML code 

from one project to the next. The real function of the OpenBrIM App is to place and orient component 

library objects in the bridge model with respect to the bridge alignment. Knowing the origin or reference 

insertion point of a library object, it can be positioned in the bridge model according to its longitudinal

station, horizontal offset, and elevation. The object can be oriented so that its own local coordinate 

system is tangent, perpendicular or skewed to the horizontal alignment. And library objects such as 

bridge girders can be defined to follow horizontal or vertical curves as well as chorded through their 

endpoints. Girders can also be placed plumb or perpendicular to the roadway surface. A particularly 

useful feature is the ability for a bridge deck warp to follow a varying superelevation transition. How all 

of these features work will be described in Section 5 and 6 when describing bridge component 

modeling.

Objects in OpenBrIM can be grouped to follow a hierarchical scheme, where features or properties of 

higher order objects are inherited by lower order objects. Parameter data can be designated by 

categories to help organize input more clearly. Object groups are particularly useful for viewing 

exploded views of a project to more easily visualize connectivity of components.
This page intentionally left blank.
5-1 

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.

Figure 11 - Hollow Box Beam Section
SECTION 5 – BRIDGE COMPONENT MODELING

5-2 

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.

Figure 12- ParamML Code for Hollow Section Line 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 
SECTION 5 – BRIDGE COMPONENT MODELING

5-3 

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.

Figure 13 – Line Object withHollow Section

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. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-4 

Figure 14 - Surface Object for Bolted Gusset Plate

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. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-5 

Figure 15 - ParamML Code for Bolted Gusset Plate Surface Object

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-6 

Figure 16 - Tapered Column Elevation Views

Figure 17 - ParamML Code for Tapered Column Volume Object
SECTION 5 – BRIDGE COMPONENT MODELING

5-7 

Figure 18 - Volume Object for Tapered Column

5.2 Parametric Modeling

Many bridge components have been developed into standards by the various public agency 

Departments of Transportation and Industry organizations. Virtually every state agency has a set of 

standards for precast, prestressed concrete girders. Typically these standards include at least one 

drawing showing the girder cross section, elevation, and plan views (see excerpt in Figure 19). A second 

drawing usually has a table for including data to describe dimensions, number of prestressing strands, 

and reinforcing bar sizes and spacing (see excerpt in Figure 20). These tables include a list of all of the 

parameters necessary to completely describe each girder on the project. Drawing standards like these 

are representative of the type of bridge component ideally suited for parametric modeling.
SECTION 5 – BRIDGE COMPONENT MODELING

5-8 

Figure 19 - Precast Girder Standard Drawing
SECTION 5 – BRIDGE COMPONENT MODELING

5-9 

Figure 20 - Precast Girder Schedule

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.

Figure 21 - Oregon Bulb-T Girder Object
SECTION 5 – BRIDGE COMPONENT MODELING

5-10

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”. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-11

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.

Figure 22 - Example Alignment

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" />

. 

. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-12

. 

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

5.4.1 Horizontal Segment

Each Alignment object must contain one or more Horizontal Segment objects to define the Horizontal 

Control Line (HCL). Multiple segments can be stacked up in order to define the full horizontal alignment. 

Segment types can be either Straight, Circular, or Spiral. Straight segments need only a length 

parameter. In addition to a length parameter, a circular curve requires radius and direction parameters. 

The direction describes whether the alignment curves left or right when looking upstation.

The horizontal alignment for Ramp 119 S-N, shown in Figure 23, includes a right 764’ radius circular 

curve at the start of the alignment, followed by a tangent section. The horizontal curve data is magnified 

in Figure 24. 

Figure 23 - Ramp 119 S-N Horizontal Alignment

Figure 24 - Ramp 119 S-N Horizontal Curve Data

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-13

 <O N="Curve_101" T="Circular">

 <P N="Length" V="372.14*12" UT="Length" UC="Layout" />

 <P N="Radius" V="764*12" UT="Length" UC="Layout" />

 <P N="Direction" V="Right" T="Text" />

 </O>

 <O N="TangentSeg_1" T="Straight">

 <P N="Length" V="602.86*12" />

 </O>

Figure 25 shows a plan view of the alignment from the OpenBrIM App. The red line represents the HCL.

Figure 25 – Ramp 119 S-N Horizontal Alignment in OpenBrIM
SECTION 5 – BRIDGE COMPONENT MODELING

5-14

5.4.2 Vertical Segment

Each Alignment object must contain one or more Vertical Segments to define the Profile Grade Line 

(PGL). Vertical geometry is specified by ElevationPoint objects with parameters Station, Grade, and 

Elevation. If multiple ElevationPoint objects are defined, they must be listed in order of increasing 

Station parameters. The vertical profile is constructed with parabolic vertical curves fit between the 

defined points. Figure 26 shows a vertical elevation view of the Ramp 119 S-N structure. The vertical 

profile data circled in red is shown magnified in Figure 27. 

Figure 26 - Ramp 119 S-N Vertical Profile

Figure 27 - Ramp 119 S-N Vertical Curve Data

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>
SECTION 5 – BRIDGE COMPONENT MODELING

5-15

Figure 28 shows a developed elevation of the vertical profile in the OpenBrIM App.

Figure 28 – Ramp 119 S-N Vertical Profile in OpenBrIM
SECTION 5 – BRIDGE COMPONENT MODELING

5-16

5.4.3 Cross Slope Segment

The roadway cross section can also be specified as part of the alignment data using one or more Cross 

Section objects. A Cross Section object must contain one or more Cross Section Segment objects, 

defined with a cross-slope and a segment width. Looking up station, starting from the left side, Cross 

Section Segment objects are stacked to define the cross-section. Figure 29 shows the Ramp 119 S-N 

contains 4 cross slopes, G1 to G4. These sections vary along the length of the bridge as defined by the 

table of cross slopes identified below the figure.

Figure 29 - Ramp 119 S-N Typical Cross Section
SECTION 5 – BRIDGE COMPONENT MODELING

5-17

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-18

Figure 30 - Ramp 119 S-N Cross Slope Variation in OpenBrIM

5.4.4 Alignment Functions

Once the alignment is fully defined, project can be set up to position objects on the alignment. If a 

graphical object is located on the bridge alignment, it needs to have an Alignment parameter with the 

name of the alignment as the value. Multiple alignments can be attached to a project. When developing 

library objects it is often convenient to switch back and forth between alignments to test how the object 

behaves in varying conditions. 

There are three parameters used to define how an object is positioned and oriented.

• AlignH: allows control of the horizontal curve of the alignment on the object

• AlignV: allows control of the vertical curve of the alignment on the object

• AlignT: allows control of the transverse slope effect of the alignment on the object

Each of these parameters have three possible values. 

• None: The object will be moved to its location on the alignment but it will not align (rotate) to

the alignment.

• Orient: The object will be moved to its location on the alignment and it will rotate to match the

heading.

• Warp: The object will be moved to its location on the alignment. It will not only rotate but also

warp to match the horizontal, vertical, or cross section alignment.

Based on the type of type graphic primitive used (line, surface, or volume), many different alignment 

and orientation configurations can be modeled. In general, alignment parameters are used in the 

OpenBrIM project, not in the library app. However, there are exceptions to that rule. Examples of how 

these parameters are used will be addressed in Section 6.4

There are also two alignment features that can be used in library objects to handle some of the more 

complex geometry. The first feature includes several functions that are used to obtain global geometric 

information at a particular alignment station and offset. This information can be used to adjust the 

placement of an object.
SECTION 5 – BRIDGE COMPONENT MODELING

5-19

• 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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-20

5.5 Developed Component Library Objects

One of the project scope objectives was to develop standard bridge component objects to evaluate the 

viability of the OpenBrIM concept. Most of the objects created by the project team were selected to 

model the Ramp 119 S-N. Approximately 30 separate library objects were created in the following major

component categories (see Table 1): 

• Abutments

• Piers

• Bearings

• Concrete Girders

• Steel Girders & Framing

• Decks

• Bridge Railings

• Miscellaneous

Reinforcing steel was not included as part of the overall bridge model, as the method to create 

reinforcing bar bends in the OpenBrIM Library and App was not developed in time. Straight reinforcing 

bars are constructed using the Line object and extruding a Circle object cross section between two 

points. A bent bar requires the extrusion to follow a series of straight and sharply curved line segments 

similar to a bridge alignment. In September 2015, a new Parameter, Polyline=”1” was introduced for a 

Line object that enabled this capability. A single generic bar bend library object was developed from 

which any special bar bends can be accommodated.

In addition to the three CH2M project team members, OpenBrIM Library has five other active 

participants who have developed component objects. Those objects are not described in detail in this 

report, however they include several types of bridge railings, bearings, abutments and pier 

configurations. Recently a few library objects were developed for steel reinforcing bar bending patterns.

OpenBrIM Library objects are constructed to the following basic principles: 

• Each object has an origin or reference insertion point, which is generally (X=”0”, Y=”0”, Z=“0”).

This point defines where the object will be positioned in a project with respect to the bridge

alignment (i.e., station, offset, and elevation), and how it will be oriented (i.e., skew, plumb,

parallel to cross slope, etc.).

• An internal unit set is used to define properties of the library objects. Default units are INCH for

Length, RADIANS for Angle, FAHRENHEIT for Temperature, and KIPS for Force.

• Input parameters used to describe the object are assigned the attribute Role=”Input”, and for

convenience can be assigned a group name using the attribute Category=” “.

• Objects should include documentation of dimensions placed on the 3D object view or in CADD

views created by the author.

Many of the names used for library objects include initials of the author. User’s libraries cannot be 

edited, so when collaborating, the objects have to be copied into other user’s folders for review and 

editing. Each library object has to have a unique name, so adding author’s initials became one way of 

handling it. Since project models reference the library objects many times, the names were left with the 

initials.
SECTION 5 – BRIDGE COMPONENT MODELING

5-21

Table 1 - Component Library Objects

Major Component Categories Sub-Component Library Object Name

Abutments Steel H-Pile

U-Shaped Footing

Stem Wall

Backwall

Wingwall

Cheekwall

Bearing Pedestal

Pile (BB)

Abutment U-Shaped Footing

Stem Abutment (BB)

Abutment Backwall 2

Wingwall (BB)

Cheekwall

ConcPedestal (BB) 

Piers Drilled Shaft

Rectangular Footing

Rectangular Column

Hammerhead Cap

Bearing Pedestal

DrilledShaft

Rectangular Footing

Rectangular Column

Hammerhead Pier Cap (BB)

ConcPedestal (BB) 

Bearings Pot Bearing Pot Bearing

Concrete Girders Prestressed Concrete Bulb-T Girder

Prestressed Concrete Adjacent Box 

Girder

OregonBulbT

Std Box Beam

Steel Girders & Framing Steel I-Girder

Vertical Stiffener/ Connection

Bolted Field Splice

Bolted Splice Plate

Bolt

Bolt Group

Shear Stud

Shear Stud Placement

Cross Frame Type K

Bolted Gusset

Welded Gusset

Cross Frame Layout

Plate Diaphragm

SteelGirderMB

VerticalStiffener

BoltedFieldSplice (BB)

SplicePlate

Bolt (BB)

BoltGroup (BB)

Shear Stud

Stud Placement

CrossFrameTypeKTop

BoltedGusset

WeldedGusset

CrossFrameLayout

Diaphragm

Deck Deck

Deck End Beam

Deck

DeckEndBeam

Bridge Railings Traffic Barrier PA Turnpike Barrier New

Miscellaneous Generic Reinforcing Bar Bend BentRebar
SECTION 5 – BRIDGE COMPONENT MODELING

5-22

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.

Figure 31 - Ramp 119 S-N Abutment 1

5.5.1.1 Steel H-Pile

The Pile (BB) object is used for the steel H-Piles, which are generally defined as a Volume object by 

extruding a Section object between two Point objects. H-Piles can be battered with respect to the 

vertical axis, and while the direction of batter is most often parallel to either the longitudinal or 

transverse pier or abutment axis, the batter can be at 45 degrees to either of those directions (see 

Figure 32). Therefore they are defined with a batter slope, and a batter direction. In addition, the cross 
SECTION 5 – BRIDGE COMPONENT MODELING

5-23

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. 

Figure 32 - H-Pile Batter Orientation, Phi Angle

Figure 33 - Pile Parameters

5.5.1.2 U-Shaped Footing

A U-shape is common for an abutment footing for support of the stem wall and wingwalls. This is a 

simple object that requires ten parameters to completely describe as shown in Figure 34 and Figure 35. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-24

Figure 34 - Abutment U-Shaped Footing Parameters

Figure 35 - Abutment U-Shaped Footing Graphical Representation of Parameters

The parametric data needed in the library object is as follows: 

<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" />
SECTION 5 – BRIDGE COMPONENT MODELING

5-25

 <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.3 Stem Wall

The stem wall, named Stem Abutment (BB), is supported on an abutment footing and provides support 

for the bridge superstructure and the backwall. The bottom of the stem wall is level to match the 

footing, however the top may be either level or sloped. Input parameters required for definition are the 

length, width, and height of the stem at the centerline, and the transverse slope of the top support. The 

slope is used to compute the stem wall heights at each end. The object is developed as a Volume by 

extruding two rectangular Surface objects between the transverse limits of the abutment length. The 

stem wall incorporates the bearing pedestal library object ConcPedestal (BB). 

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, 
SECTION 5 – BRIDGE COMPONENT MODELING

5-26

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. 

Figure 36 - Abutment Backwall Library Object

Figure 37 - Abutment Backwall in the Project

The ParamML code to do this for one surface object is as follows: 

 <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" Y="-AbutLength/2">

 <O T="Point" X="0" Z="BackWallHeight" Y="AbutLength/2">

 <O T="Point" X="0" Z="-PedSlope*AbutLength/2-ADJRF" Y="AbutLength/2" AlignTB="0" />
SECTION 5 – BRIDGE COMPONENT MODELING

5-27

 </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.5.1.7 Bearing Pedestal

The ConcPedestal (BB) library object is for providing level bearing seats on top of the Stem Abutment 

(BB) or Hammerhead Pier Cap (BB) library objects. If the support abutment or pier cap seat is sloped, the 

thickness of the pedestal is variable. The top and bottom widths can also vary.

The Wingwall, Cheekwall, and Bearing Pedestal objects are all relatively simple objects and are shown in 

Figure 31.
SECTION 5 – BRIDGE COMPONENT MODELING

5-28

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-29

Figure 38 - Ramp 119 S-N Hammerhead Pier

5.5.2.1 Drilled Shaft

The DrilledShaft library object is constructed as a Volume object using a Circle object extruded between 

two Point objects, similar to a Line object. The reference insertion point is at the center of the top of the 

shaft. The only parameters necessary are the diameter of the shaft and its length.
SECTION 5 – BRIDGE COMPONENT MODELING

5-30

5.5.2.2 Rectangular Footing

The Rectangular Footing library object is constructed as a Surface object with a thickness. Its reference 

insertion point is at the bottom of the footing.

5.5.2.3 Rectangular Column

The Rectangular Column object is also constructed as a Volume object, but using a Section object 

extruded between Point objects. Its reference insertion point is at the top of the footing.

5.5.2.4 Hammerhead Cap

The Hammerhead Cap connects to the Rectangular Column and is constructed as a Surface object with a 

thickness. The surface is in the Y-Z plane, and is comprised of nine perimeter points. The width of the 

cap is the thickness parameter. The top surface of the cap can be crowned as shown in Figure 39. 

Figure 39 - Hammerhead Pier Cap with Crown

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. 

 <O T="Surface" X="PierWidth/2">

 <P N="Thickness" V="PierWidth" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL" Y="-PierLength/2" />

 <O T="Point" Z="0" Y="-DistanceToCrown" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR" Y="PierLength/2" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MinD_R" Y="PierLength/2" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R" Y="PierLength/2-

ExtensionR" R="ColumnRadius" />
SECTION 5 – BRIDGE COMPONENT MODELING

5-31

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R-ColumnExt" 

Y="PierLength/2-ExtensionR" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R-ColumnExt" Y="-

PierLength/2+ExtensionL" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL-MaxD_L" Y="-

PierLength/2+ExtensionL" R="ColumnRadius" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL-MinD_L" Y="-PierLength/2" />

 </O>

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. 

Figure 40 - Pot Bearing

5.5.4 Concrete Girders

5.5.4.1 Prestressed Concrete Bulb-T Girder

The OregonBulbT library object is based on the Oregon DOT standard for precast prestressed concrete 

girders. The bottom bulb of the girders is always normal to the longitudinal axis, however for skewed 

alignments, the top flange follows the skew of the pier. The girder is constructed as a Section object 

extruded between end points. To accommodate the skew on the top flange, two different cross sections 

are used, on three different Line objects.
SECTION 5 – BRIDGE COMPONENT MODELING

5-32

5.5.4.2 Prestressed Concrete Adjacent Box Girder

The Std Box Beam (BB) library object is based on New York State DOT standard for adjacent box beams. 

Beams are hollow and have intermediate and end diaphragms.

Limitations:

1) Girders must be straight.

2) Girders must have the same skew at beginning and end.

3) Alignment may contain curves, however the piers must be parallel.

4) There must be a least one interior diaphragm.
SECTION 5 – BRIDGE COMPONENT MODELING

5-33

5.5.5 Steel Girders

5.5.5.1 Steel I-Girder

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 as shown in Figure 41. 

Figure 41 - Steel I-Girder

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.

Figure 42 - Steel I-Girder Section Data

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-34

Figure 43 - Top Flange Range Variable Data

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.

Figure 44 - Shear Stiffener LocationData

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" />
SECTION 5 – BRIDGE COMPONENT MODELING

5-35

 <O T="Point" Y="0" X="tw/2" />

 <O T="Point" Y="-dw" X="tw/2" />

 <O T="Point" Y="-dw" X="-tw/2" />

 <O T="Point" Y="0" X="-tw/2" />

 </O>

 <O N="Bottom Flange" T="Shape">

 <P N="Material" V="STEEL" T="Material" D="Material" />

 <O T="Point" Y="-dw" X="bfb/2" />

 <O T="Point" Y="-dw-tfb" X="bfb/2" />

 <O T="Point" Y="-dw-tfb" X="-bfb/2" />

 <O T="Point" Y="-dw" X="-bfb/2" />

 </O>

 </O>

 <O T="Line">

 <P N="Section" V="IGirder" T="Section" />

 <O T="Point" Y="0" X="0" Z="0" />

 <O T="Point" Y="0" X="Length" Z="0" />

 </O>

. 

. 

. 

 </O>

Vertical stiffeners are added to the girder from within the SteelGirderMB object. There are four different 

types of stiffeners that all use similar code. Only one is shown below. There are several new ParamML 

features that are introduced in this object’s code - Guard, AlignH and AlignV parameters, Repeat object, 

and length and alignT functions 

Guard is used to inactivate objects based on how other parameters are set. There are three different 

Guard parameters used in the code. All test the value of the parameter WebStiffOrient. If it is “None”, 

then the rest of the code is skipped. The other tests are for “R” or “B” and “L” or “B” to see if the 

stiffeners should be placed on the right, left, or both sides of the web.

The Repeat object is used to generate multiple stiffeners and place them along the girder based on the 

array of values in the WebStiffLoc parameter. Repeat requires parameters “S” for start value, “E” for end 

value, “I” for increment, and “CTRL” for the variable that is incremented. In this case it is the index of the 

WebstiffLoc parameter array. The “E” value parameter is the length of the WebStiffLoc array. 

When the VerticalStiffener object is referenced, the parameter, AlignH=”Warp” is used to position the 

stiffener to follow any horizontal curves in the alignment, and the parameter AlignV=”Orient” adjusts for 

the vertical grade. AlignT would be used when the object is expected to be placed normal to the cross 

slope. Since steel plate I-girders have their webs vertical, AlignT should be set to “None”, which is the 

default setting, so it is not necessary to include it. Normally, the AlignH, AlignV, and AlignT parameters 

are not included in library objects. In this instance it is necessary to compensate for vertical cross-slope 

variation. When stiffeners are placed on only one side of the web, their centroid is offset from the 

centerline of the girder. All objects are positioned and oriented based on their station and offset on the 

project alignment. They are also adjusted for cross slope. Since the stiffener centroid does not coincide 

with the girder centroid, the stiffener will be positioned slightly higher or lower than the girder by the 

value of cross slope times the transverse difference in centroids. The alignT() function is used to 

compute the vertical elevations of the roadway at both the girder and stiffener offsets (Parameters CL, 

GR, and GL). The difference between the elevation at CL and GL or GR is then computed and used to 

adjust the vertical position of the stiffener so that it aligns properly with the girder. The intermediate 

parameters AdjR and AdjL are used as a correction to the stiffener vertical position Z. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-36

 <O N="Shear Stiffeners" T="Group">

 <P N="Guard" V="WebStiffOrient.NE.None" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="length(WebStiffLoc)" />

 <P N="I" V="1" />

 <P N="CTRL" V="spi" T="Text" />

 <P N="spi" V="0" />

 <O N="Draw Right" T="Group">

<P N="Guard" V="(WebStiffOrient.EQ.R).OR.(WebStiffOrient.EQ.B)" />

<P N="CL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset)" />

<P N="GR" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset+tw/2+WebStiffW/2)" 

/>

<P N="AdjR" V="CL-GR" />

 <O T="VerticalStiffener" Y="tw/2" X="WebStiffLoc[spi-1]" Z="AdjR" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="WebStiffT" D="Thickness" />

 <P N="w" V="WebStiffW" D="Width" />

 <P N="h" V="WebStiffHeight" D="Height" />

 <P N="clipV" V="WebStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="WebStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

<P N="Guard" V="(WebStiffOrient.EQ.L).OR.(WebStiffOrient.EQ.B)" />

<P N="CL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset)" />

<P N="GL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset-tw/2-WebStiffW/2)" 

/>

<P N="AdjL" V="CL-GL" />

 <O T="VerticalStiffener" Y="-tw/2" X="WebStiffLoc[spi-1]" Z="AdjL" RZ="PI" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="WebStiffT" D="Thickness" />

 <P N="w" V="WebStiffW" D="Width" />

 <P N="h" V="WebStiffHeight" D="Height" />

 <P N="clipV" V="WebStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="WebStiffClipH" D="Horizontal clip width" />

</O>

 </O>

 </O>

 </O>

5.5.5.2 Vertical Stiffener

Stiffeners are defined as a Surface object with a thickness. A typical stiffener is rectangular with corner 

clips at the girder web/flange intersection. Figure 45 shows the required input parameters in the CADD 

view, and Figure 46 shows on the parameter input screen.
SECTION 5 – BRIDGE COMPONENT MODELING

5-37

Figure 45 - Shear Stiffener Object

Figure 46 - Shear Stiffener Input Data
SECTION 5 – BRIDGE COMPONENT MODELING

5-38

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>
SECTION 5 – BRIDGE COMPONENT MODELING

5-39

5.5.5.3 Bolted Field Splice

One of the more complicated objects developed was the BoltedFieldSplice (BB) to join two girders with 

different plate thicknesses (see Figure 47). 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, 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). 

Figure 47 - Girder Bolted Field Splice

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.
SECTION 5 – BRIDGE COMPONENT MODELING

5-40

Figure 48 - Web Field Splice Bolt Pattern Input

Figure 49 - Flange Field Splice Bolt Pattern Input
SECTION 5 – BRIDGE COMPONENT MODELING

5-41

5.5.5.4 Bolt

The Bolt (BB) object represents a bolt clamping two or more plates between two arbitrary points in 

space. 

5.5.5.5 Bolt Group

The Bolt Group (BB) object is a collection of bolts spaced in a rectangular grid. The bolt spacing in the 

two directions may be different, but all spaces in each direction are constant.

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

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

5.5.5.8 Cross Frame Type K

This object is used for steel K-Type cross frame objects placed between steel 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. 

The CADD drawing (Figure 50) depicts the configuration of the library object with the work points 

defined by the intersection of the red lines representing the center of gravity of the chords and 

diagonals. The girders are both at the same elevation. When positioned in a project with an alignment, 

the cross frame racks to take into account the girder geometric drop from the variable cross slope of the 

bridge deck (see Figure 51).

CrossFrameTypeKTop is the library name for this object, and it and any other types of cross frame are 

positioned in the bridge using the CrossFrameLayout object.
SECTION 5 – BRIDGE COMPONENT MODELING

5-42

Figure 50 - Cross Frame Geometry from Library

Figure 51 - Cross Frame Geometry in Project
SECTION 5 – BRIDGE COMPONENT MODELING

5-43

5.5.5.9 Bolted Gusset

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). Parameters spY and 

spZ are the spacing along Y and Z axis, respectively. Parameters locY and locZ define the location of the 

hole.

5.5.5.10 Welded Gusset

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.

5.5.5.11 Cross Frame Layout

CrossFrameLayout uses the Repeat object to generate multiple cross frames along a bridge at locations 

determined by the array parameter CrossFrameLocations. This array contains the stations along the 

alignment line where the cross frames are positioned longitudinally. Cross frames are located in bays 

defined by the transverse horizontal offsets of the two girders that they connect. All cross frames have 

been assumed to be oriented normal to the alignment line.

5.5.5.12 Plate 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. Because the plate diaphragms are located at 

the abutments, they are used for to accommodate future bearing replacement and have their bottom 

flanges horizontal. The top flanges serve as a support for the end of the bridge deck, and therefore 

follow the slope of the roadway. The webs of the ends of each diaphragm are bolted to the bearing

stiffeners of the girders with splice plates (see Figure 52).

Figure 52 - Plate Diaphragm
SECTION 5 – BRIDGE COMPONENT MODELING

5-44

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

Figure 53 - Deck Cross Section

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. 
SECTION 5 – BRIDGE COMPONENT MODELING

5-45

Figure 54 - Deck Input Parameters

Figure 55 - 3D Representation of Deck 

Figure 56 - 3-D Representation of Deck from Below

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 
SECTION 5 – BRIDGE COMPONENT MODELING

5-46

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.6.2 Deck End Beam

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.

5.5.7 Bridge Railings

5.5.7.1 Traffic Barrier

The PA Turnpike Barrier object is another object created by extruding a Section object along a Line 

object. In this case the Line is at the top of the deck at the inside face of barrier. The Section uses fixed 

dimensions for this particular barrier shape.

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 
SECTION 5 – BRIDGE COMPONENT MODELING

5-47

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. 

Figure 57 - Reinforcing Stirrup Bar Bend
This page intentionally left blank.
6-1 

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. 

Figure 58 - Full Model of Ramp 119 S-N 

6.1 Building BrIM Models

OpenBrIM App supports model building through the GUI. Figure 59 - OpenBrIM App Interface show the 

steps required to start creating a model.

Figure 59 - OpenBrIM App Interface
SECTION 6 – BRIDGE MODELING

6-2 

Figure 60 - OpenBrIM App - Create Project

Figure 61 - OpenBrIM App Add Object

The New Object dialog box (see Figure 62) lists different types of objects in a dropdown list including 

Basic, Alignment, Geometry, and user’s libraries. The figure below shows a Drilled Shaft user library

object for selection. 

Figure 62 - New Object Documentation Dialog Box
SECTION 6 – BRIDGE MODELING

6-3 

6.1.1 Example Object Creation

Objects generally contain tabs for parameters to define the shape of the object, the geometric location 

within the project, and documentation on its use.

Figure 63 - New Object Parameters Dialog Box

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.

Figure 64 - Model View of Added Object
SECTION 6 – BRIDGE MODELING

6-4 

6.2 Positioning Component Objects

The major categories of structural components for bridges have already been identified in Section 5 as 

abutments, piers, bearings, girders and framing, deck, and railings/barriers. Substructure components, 

like abutments and piers, are essentially smaller structures that are designed and built within their own 

reference coordinate systems. Abutments use their own transverse centerline and the longitudinal 

centerline of bearing as their plan reference system. Piers generally are defined relative to their own 

transverse and longitudinal centerlines. It is standard convention to define and group all abutment and 

pier sub-components relative to their own plan reference systems. Often the centerline reference 

system for substructure units is offset transversely from the principal roadway horizontal control line 

(HCL). Both abutments and piers are located so that their top surfaces (or bearing seats) are positioned 

with respect to the superstructure depth, vertical profile grade line (PGL), and cross slope geometry. 

Foundations for substructures are generally positioned vertically based on the existing or future ground 

surface. Superstructure items, like girder framing, decks, and railings/barriers can be located in the 

bridge by referencing station and offset on the HCL and elevation from the PGL.

6.2.1 Example Object Positioning

The drilled shaft object that was created in the previous section was automatically placed at a position 

of X=0, Y=0, and Z=0 in the project. To reposition it, select the object, then select the information icon in 

the upper left corner of the 3-D view to bring up the Edit object dialog box. On the Position tab there are 

data entry locations for translation in, or rotations about the X, Y, and Z axes (see Figure 65). 

Figure 65 - Edit Object Dialog Box

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.
SECTION 6 – BRIDGE MODELING

6-5 

Figure 66 – Model View of Multiple Drilled Shafts

The ParamML code generated by this process is:

 <O N="Rock Socket 1" T="DrilledShaft" Y="-81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>

 <O N="Rock Socket 2" T="DrilledShaft" Y="81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>
SECTION 6 – BRIDGE MODELING

6-6 

6.3 Grouping and Hierarchy of Components

Grouping of objects is an important feature of the OpenBrIM App and of the data structure. Group 

objects are primarily used for organizational purposes to collect logically related items together. Groups 

can contain Objects and Parameters, and even other Groups. Groups can be nested in a multiple level 

hierarchical structure. When objects are grouped, the OpenBrIM App allows individual objects or object 

groups to be visible or not visible by using the Object Explorer (see Figure 67). 

Figure 67 - Model View Object Explorer
SECTION 6 – BRIDGE MODELING

6-7 

Figure 68 - Object Explorer Window

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. 
SECTION 6 – BRIDGE MODELING

6-8 

Figure 69 - Model View with Object Explorer Open

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.3.1 Example Object Grouping

In the previous example, the two individual drilled shaft objects can be placed in the same group simply 

by enclosing the two objects within a starting an ending Group object tag, as shown below.

 <O N="DrilledShafts" T="Group">

 <O N="Rock Socket 1" T="DrilledShaft" Y="-81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>

 <O N="Rock Socket 2" T="DrilledShaft" Y="81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>

 </O>

Rotating the two shafts 90° or PI/2 radians about the group centroid is accomplished by adding the 

parameter RZ=”PI/2” to the DrilledShafts group object. The results are shown in Figure 70. 

 <O N="DrilledShafts" T="Group" RZ="PI/2">

 <O N="Rock Socket 1" T="DrilledShaft" Y="-81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>

 <O N="Rock Socket 2" T="DrilledShaft" Y="81">

 <P N="L" V="180" />

 <P N="D" V="54" />

 </O>

 </O>
SECTION 6 – BRIDGE MODELING

6-9 

Figure 70 - Model View of Drilled Shafts Rotated 90° 

6.4 Locating and Orienting Components to Alignments

The real power of OpenBrIM is its ability to position component objects to a project alignment. All 

bridge components are located according to their station and transverse offset from the HCL, and their 

vertical offset from the PGL. The project alignment is a coordinate system in itself, with stationing 

denoted as X, transverse offset as Y, and vertical offset as Z, and is not to be confused with a traditional 

X, Y, and Z axes of a Cartesian coordinate system. In OpenBrIM, position of an object is generally 

included on the object definition line as:

<O N=”FieldSection1” T=”SteelGirderMB” X=”1000” Y=”48” Z=”-12”>

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. 
SECTION 6 – BRIDGE MODELING

6-10

Figure 71 - Use of Align Parameters

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. 

Figure 72 - Straight Beam Behavior

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 
SECTION 6 – BRIDGE MODELING

6-11

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.

6.4.1 Example Deck Section

The bridge deck section for Ramp 119 S-N seen in Figure xxx, uses an insertion point definition as the 

HCL at the top of deck. Therefore, the horizontal and vertical are zero, which is the default value for the 

Y and Z-coordinates. To use this deck section in a project, requires the following minimal ParamML code.

 <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" />

 <P N="LeftDeck_t" V="10" />

 <P N="RightDeck_t" V="10" />

 <P N="LeftOverhangType" V="1" />

 <P N="RightOverhangType" V="1" />

 <P N="LeftEdge" V="272.25" />

 <P N="GirderOffset" V="[117, 3, -111, -225]" />

 <P N="HaunchWidth" V="[18, 16, 16, 22]" />

 <O N="DeckPour1" T="Deck">

 <P N="StartStation" V="73525.75" />

 <P N="EndStation" V="74520" />

 </O>

 </O>

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 
SECTION 6 – BRIDGE MODELING

6-12

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. 

Figure 73 - Ramp 119 S-N Deck/Girder Key Parameter

6.4.2 Example Girder Section

Girders are also defined in reference to the alignment. A portion of the framing plan is shown in 

Figure 74, and a partial girder elevation in Figure 75. The starting point for the girders is 1’-1” before 

Abutment 1 centerline bearing station 61+25.00, or an X-coordinate of 73,487”. The horizontal offset 

from the HCL to Girder 1 is 9’-9” to the right, or a Y-coordinate of -117”. The insertion point of the girder 

library object is defined as the top of the web, so the Z-coordinate is -12.5” from the PGL.
SECTION 6 – BRIDGE MODELING

6-13

Figure 74 - Ramp 119 S-N Girder Framing Plan

Figure 75 - Ramp 119 S-N Girder 1 Elevation

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:

 <O N="Superstructure" T="Group">

 <O N="Girders" T="Group">

 <P N="Color" V="#991111" T="Text" />

 <P N="Opacity" V="0.7" />

 <O N="Girder 1" T="Group">

 <O N="G1FS1" T="SteelGirderMB" Z="-12.5" Y="117" X="BridgeLayoutData.Abut1Sta-13" 

AlignV="Warp" AlignH="Warp" AlignT="None">
SECTION 6 – BRIDGE MODELING

6-14

<P N="StartStation" V="G1FS1.X" />

<P N="Offset" V="G1FS1.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="18" 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="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>

 </O>

 </O>

 </O>

Girder 1 field section 1, this time including the stiffeners, is shown in Figure 76. 

Figure 76 - Ramp 119 S-N Girder 1 Field Section 1
SECTION 6 – BRIDGE MODELING

6-15

Figure 77 shows the connectivity of the girder to the deck.

Figure 77- Ramp 119 S-N Girder/Deck Interface

6.4.3 Example Cross Frame

The cross frames are the other major component of a steel bridge superstructure. Ramp 119 S-N cross 

frame configuration based on workpoints from the girders, is shown in Figure 78. 

Figure 78 - Ramp 119 S-N Cross Frame
SECTION 6 – BRIDGE MODELING

6-16

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:

<O N="CrossFrames" T="Group">

 <O N="CF1" T="Group">

 <O N="Bay1" 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[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="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>

 </O>

</O>

A view of the cross frame is shown in Figure 79. Note that in the ParamML code, there are no Align 

parameters in the project code for this more complex object. Because the corner gusset plates remain 

normal to the girders, but the top center gusset plate follows the slope of the top chord, those 

individual elements have their own Align parameter requirements, which must be contained within the 

library object code. Because of the roadway section has variations in cross slope across the width, 

Girders 3 and 4 do not have the same vertical elevation difference as Girders 1 and 2 and Girders 2 

and 3. The cross frame library object takes into account the variation as can be seen in Figure 80. 
SECTION 6 – BRIDGE MODELING

6-17

Figure 79 - Ramp 119 S-N Cross Frame Racking

Figure 80- Ramp 119 S-N Cross Frame Variations
This page intentionally left blank.
7-1 

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.
This page intentionally left blank.
8-1 

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 DOT’s 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 user’s library and modified to suit the new user’s preferences. These modifications

cannot be changed by anyone else.
SECTION 8 – INDUSTRY OUTREACH

8-2 

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

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 it’s 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

parameter’s 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 Ktype 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
SECTION 9 - CONCLUSIONS

9-2 

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 Next Steps

The first thing that must happen for OpenBrIM to become a viable solution is to address some of the 

gaps identified in Section 7. The most significant gap that absolutely has to be addressed is the 

incorporation of reinforcing and pre- and post-tensioning steel into the concrete components. Those 

capabilities now exist within OpenBrIM, but were developed too late to incorporate into this report. 

Digital terrain modeling of the existing and proposed ground surfaces is also necessary for developing a 

complete 3-D representation of a project. Finally, expansion joint components will need to be 

developed.

 Further validation of the OpenBrIM approach will likely require that it be implemented on a pilot test

project for a state Department of Transportation. There is probably little incentive for a state to do this 

with a system that is not production ready. However, there are several sources for funding available 

through the following FHWA programs that may be considered to further develop OpenBrIM:

• Accelerated Innovation Deployment (AID) Funding

• State Transportation Innovation Council (STIC) Incentive Funds

• MAP-21 Section 1304 Innovative Project Delivery Funding

Once one or more example bridge projects are modeled in OpenBrIM, the next step would be to make 

presentations at AASHTO SCOBS and other bridge oriented national and regional conferences to 

promote its use.

9.3 Concluding Remarks

OpenBrIM is a powerful open, parametric approach with ability to model any bridge component 

conceivable and standardize to support detailing practices for individual owners. Further development 

of OpenBrIM as one approach for bridge information modeling should be continued until such time that 

owners and industry can achieve consensus. If the next steps outlined above can be followed, the power 

of OpenBrIM will be demonstrated, which will allow it to gain the momentum necessary to obtain 

broader implementation by the bridge community.

There is however, the possibility that the building industry IFC system may be the choice of the bridge 

community for standardization. If that is the case, there may be an opportunity to merge the two 

systems. The IFC data structure could become the exchange standard and OpenBrIM, with its logical 

interface could be used to develop bridge component objects and libraries. Recently, OpenBrIM 

developed the capability of creating an IFC format file for any library object that it creates. 
Appendix A – Library Object Definitions
This page intentionally left blank.
A-1 

Pile (BB)
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-2 

ParamML Code

<O N="Pile (BB)" T="Project">

 <P N="d" V="10" D="Depth" Role="Input" />

 <P N="bf" V="10.25" D="Flange width" Role="Input" />

 <P N="tf" V="0.5625" D="Flange Thickness" Role="Input" />

 <P N="tw" V="0.5625" D="Web Thickness" Role="Input" />

 <P N="fillet" V="0.5" D="Fillet Radius" Role="Input" />

 <P N="L" V="300" D="Length" Role="Input" />

 <P N="Batter" V="3/12" D="Batter Slope H:V" Role="Input" />

 <P N="Phi" V="0" D="Batter Orientation" Role="Input" />

 <P N="Beta" V="0" D="Web Orientation" Role="Input" />

 <P N="PileSection" V="H-Pile Section" T="Section" />

 <O N="ObjDesc" T="Group">

 <!--<p> |Pile (BB)| library object.</p>--> 

 <!-- <i>Created by <b>Mike Bartholomew</b> on 6/2/2015 --> 

 <!-- Updated by <b>Benjamin Blasen</b> on 8/12/2015</i> --> 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-3 

 <!--

 --> 

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-4 

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-5 

Abutment U-Shaped Footing
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-6 

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS 

A-7 

 <O T="Point" X="Length/2+margin" Y="0" />

 <O T="Point" X="Length/2+margin" Y="Width" />

 <O T="Point" X="Length/2+5*margin" Y="Width/2" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="WWA_Length = %d" T="Text" />

 <O T="Point" X="Length/2+margin" Y="0" />

 <O T="Point" X="Length/2+margin" Y="WWA_Length" />

 <O T="Point" X="Length/2+10*margin" Y="WWA_Length" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="WWA_Width = %d" T="Text" />

 <O T="Point" X="Length/2-WWA_Width" Y="WWA_Length+2*margin" />

 <O T="Point" X="Length/2" Y="WWA_Length+2*margin" />

 <O T="Point" X="Length/2" Y="WWA_Length+5*margin" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="WWB_Length = %d" T="Text" />

 <O T="Point" X="-Length/2-margin" Y="0" />

 <O T="Point" X="-Length/2-margin" Y="WWB_Length" />

 <O T="Point" X="-Length/2-10*margin" Y="WWB_Length" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="WWB_Width = %d" T="Text" />

 <O T="Point" X="-Length/2" Y="WWB_Length+2*margin" />

 <O T="Point" X="-Length/2+WWB_Width" Y="WWB_Length+2*margin" />

 <O T="Point" X="Length/2" Y="WWB_Length+5*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+5*margin" />

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-8 

Stem Abutment (BB)

|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. 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-9 

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> --> 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-10

 <!--

 --> 

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-11

 <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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-12

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-13

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-14
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-15

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>--> 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-16

 <!-- <i>created by <b>Benjamin Blasen</b> on 7/17/2015</i> --> 

 <!--

 --> 

</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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-17

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-18

 </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">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-19

 <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="Guard" V="stubL.NE.0" />

 <P N="Label" V="Left Stub = %d" T="Text" />

 <O T="Point" Y="BackWallHeight" X="-AbutLength/2" />

 <O T="Point" Y="BackWallHeight" X="-AbutLength/2+stubL" />

 <O T="Point" Y="BackWallHeight+margin*3" X="0" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Guard" V="stubR.NE.0" />

 <P N="Label" V="Right Stub = %d" T="Text" />

 <O T="Point" Y="BackWallHeight" X="AbutLength/2-stubR" />

 <O T="Point" Y="BackWallHeight" X="AbutLength/2" />

 <O T="Point" Y="BackWallHeight+margin*3" X="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="PedSlope*AbutLength/2" X="-AbutLength/2" />

 <O T="Point" Y="BackWallHeight" X="-AbutLength/2" />

 <O T="Point" Y="BackWallHeight/2" 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="-PedSlope*AbutLength/2" X="AbutLength/2" />

 <O T="Point" Y="BackWallHeight" X="AbutLength/2" />

 <O T="Point" Y="BackWallHeight/2" X="AbutLength/2+margin*3" />

 </O>

</O>

<O N="Abutment Backwall - Section" T="CADD">

 <P N="margin" V="2" />

 <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="BackWallThick" Y="0" />

 <O T="Point" X="BackWallThick" Y="BackWallHeight" />

 <O T="Point" X="BackWallNotchH" Y="BackWallHeight" />

 <O T="Point" X="BackWallNotchH" Y="BackWallHeight-BackWallNotchV" />

 <O T="Point" X="0" Y="BackWallHeight-BackWallNotchV" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="3" />

 <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="3" />

 <O T="Point" X="4" Y="0" />

 <O T="Point" X="-4" Y="0" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-20

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-21

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:

1) Does not include wingwall barrier

2) Does not include reinforcement

3) Does not include architectural details
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-22
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-23

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>--> 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-24

 <!--<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_WidthTop_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_WidthTop_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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-25

 <O T="Point" X="0" Z="Top_Wall_Height" Y="Base_Width/2-(Top_Width*Top_Wall_Height)" />

 <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+rSlope*(Base_Width-Top_Width*Top_Wall_Height)" 

Y="-Base_Width/2" />

 <O T="Point" X="DistanceToCrown" Z="Crown_Height" Y="Base_Width/2-(Top_Width*Crown_Height)" />

 <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)*-1" />

 <O T="Point" X="Length" Z="Lower_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)" Y="-

Base_Width/2+Skew*(Length-DistanceToCrown)*-1" />

 <O T="Point" X="Length" Z="Lower_Wall_Height" Y="Base_Width/2-

(Top_Width*Lower_Wall_Height)+Skew*(Length-DistanceToCrown)*-1" />

 <O T="Point" X="Length" Z="0" Y="Base_Width/2+Skew*(Length-DistanceToCrown)*-1" />

 </O>

 </O>

 <!--

 CADD Section for BrIM Object Standard documentation

--> 

 <O N="Wing Wall - Section" T="CADD">

 <P N="margin" V="2" />

 <O T="CADDShape" Y="0" X="0" RZ="-PI/2">

 <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="-Base_Width/2" />

 <O T="Point" X="Top_Wall_Height" Y="Base_Width/2-(Base_Width-Top_Width*Top_Wall_Height)" />

 <O T="Point" X="Top_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)" Y="Base_Width/2" 

/>

 <O T="Point" X="0" Y="Base_Width/2" />

 </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="w = %d" T="Text" />

 <O T="Point" Y="0" X="-Base_Width/2" />

 <O T="Point" Y="0" X="Base_Width/2" />

 <O T="Point" Y="-margin*4" X="0" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="h = %d" T="Text" />

 <O T="Point" Y="0" X="-Base_Width/2" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-26

 <O T="Point" Y="Top_Wall_Height+rSlope*(Base_Width-Top_Width*Top_Wall_Height)" X="-Base_Width/2" 

/>

 <O T="Point" Y="0" X="-Base_Width/2-margin*4" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="h = %d" T="Text" />

 <O T="Point" Y="0" X="Base_Width/2" />

 <O T="Point" Y="Top_Wall_Height" X="Base_Width/2" />

 <O T="Point" Y="0" X="Base_Width/2+margin*2" />

 </O>

 </O>

 <O N="Wing Wall - Plan" T="CADD">

 <P N="margin" V="2" />

 <P N="top" V="(Base_Width-Top_Width*Top_Wall_Height)" />

 <O T="CADDShape" Y="0" X="0" RZ="0">

 <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="0" X="0" />

 <O T="Point" Y="DistanceToCrown" X="0" />

 <O T="Point" Y="Length" X="-(Length-DistanceToCrown)*Skew" />

 <O T="Point" Y="Length" X="-(Length-DistanceToCrown)*Skew+top" />

 <O T="Point" Y="DistanceToCrown" X="top" />

 <O T="Point" Y="0" X="top" />

 </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="d = %d" T="Text" />

 <O T="Point" Y="0" X="top" />

 <O T="Point" Y="DistanceToCrown" X="top" />

 <O T="Point" Y="DistanceToCrown/2" X="top+6*margin" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Length = %d" T="Text" />

 <O T="Point" Y="0" X="0" />

 <O T="Point" Y="Length" X="0" />

 <O T="Point" Y="DistanceToCrown/2" X="-top-6*margin" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-27

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-28

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

 <!--

 --> 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-29

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-30

 <O T="Point" Y="0" X="Width+margin" />

 </O>

 </O>

 <O N="Cheekwall - Profile" 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="Length" Y="0" />

 <O T="Point" X="Length" Y="Height+Length*TopSlope" />

 <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="Length = %d" T="Text" />

 <O T="Point" Y="0" X="0" />

 <O T="Point" Y="0" X="Length" />

 <O T="Point" Y="-margin" 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="Length" />

 <O T="Point" Y="Height+Length*TopSlope" X="Length" />

 <O T="Point" Y="0" X="Length+margin" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="%d" T="Text" />

 <O T="Point" Y="0" X="0" />

 <O T="Point" Y="Height" X="0" />

 <O T="Point" Y="0" X="-margin" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-31

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-32

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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-33

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-34

ParamML Code

<O N="DrilledShaft" T="Project"> <P N="D" V="54" D="Shaft Diameter" Role="Input" />

 <P N="L" V="300" D="Shaft Length" Role="Input" />

 <P N="Color" V="#D3D3D3" T="Text" />

 <!-- created by Mike Bartholomew on 12/21/2015 --> 

 <O N="ObjDesc" T="Group">

 <!--<p> |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.</p>--> 

 </O>

 <O N="ShaftSection" T="Section">

 <O T="Circle">

 <P N="Radius" V="D/2" />

 </O>

 </O>

 <O T="Volume">

 <P N="Section" V="ShaftSection" T="Section" />

 <O T="Point" Y="0" Z="0" X="0" />

 <O T="Point" Y="0" Z="-L" X="0" />

 </O>

 <O N="Dimension Lines" T="Group" AlignH="Warp" AlignT="None" AlignV="Warp">

 <P N="DimLineFontSize" V="L / 50" />

 <P N="DimLineArrowSize" V="L / 50" />

 <P N="DimLineMargin" V="L / 50" />

 <O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize">

 <P N="Label" V="L = |d|" T="Text" />

 <O T="Point" Y="0" X="D/2 + DimLineMargin" Z="0" />

 <O T="Point" Y="0" X="D/2 + DimLineMargin" Z="-L" />

 <O T="Point" Y="0" X="D" Z="0" />

 </O>

 <O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize">

 <P N="Label" V="D = |d|" T="Text" />

 <O T="Point" Y="0" X="-D/2" Z="DimLineMargin" />

 <O T="Point" Y="0" X="D/2" Z="DimLineMargin" />

 <O T="Point" Y="0" X="0" Z="D" />

 </O>

 </O>

 <O T="Private">

 <O N="Reference" T="InsertionPoint">

 <P N="Size" V="DimLineMargin" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-35

Rectangular Footing
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-36

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-37

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-38

Rectangular Column
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-39

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-40

 <O T="Point" X="Depth/2" Y="BotElev+Height+20*margin" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Height = %d" T="Text" />

 <O T="Point" X="Depth/2+margin" Y="BotElev" />

 <O T="Point" X="Depth/2+margin" Y="BotElev+Height" />

 <O T="Point" X="Depth/2+40*margin" Y="0" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-41

Hammerhead Pier Cap (BB)

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-42

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="Locationof 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="" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-43

 <P N="FootV" V="200" D="" />

 <P N="PierDown" V="-80" D="" />

 <P N="CIDH_Dia" V="120" D="" />

 <P N="CIDH_Tip" V="-500" D="" />

 </O>

 <O N="Internal Parameters" T="Group" />

 <O T="Surface" X="PierWidth/2">

 <P N="ElvBottomLeft" V="DistanceToCrown*PCrossSlopeL-MaxD_L" />

 <P N="ElvBottomRight" V="(-DistanceToCrown+PierLength)*PCrossSlopeR-MaxD_R" />

 <P N="Thickness" V="PierWidth" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL" Y="-PierLength/2" />

 <O T="Point" Z="0" Y="-DistanceToCrown" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR" Y="PierLength/2" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MinD_R" Y="PierLength/2" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R" Y="PierLength/2-ExtensionR" 

R="ColumnRadius" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R-ColumnExt" Y="PierLength/2-

ExtensionR" />

 <O T="Point" Z="(PierLength/2+DistanceToCrown)*PCrossSlopeR-MaxD_R-ColumnExt" Y="-

PierLength/2+ExtensionL" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL-MaxD_L" Y="-PierLength/2+ExtensionL" 

R="ColumnRadius" />

 <O T="Point" Z="(PierLength/2-DistanceToCrown)*PCrossSlopeL-MinD_L" Y="-PierLength/2" />

 </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" />

 <O T="Group">

 <P N="Guard" V="PedestalLocations1[hnI-1].GT.DistanceToCrown" />

 <O T="ConcPedestal (BB)" Z="-(-PedestalLocations1[hnI-1]+DistanceToCrown)*PCrossSlopeL" Y="-

PedestalLocations1[hnI-1]">

 <P N="SupportSlope" V="-PCrossSlopeL" 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 T="Group">

 <P N="Guard" V="PedestalLocations1[hnI-1].EQ.DistanceToCrown" />

 <O T="ConcPedestal (BB)" Z="0" Y="PedestalLocations1[hnI-1]">

 <P N="SupportSlope" V="-(PCrossSlopeR+PierDataPCrossSlopeL)/2" 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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-44 

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-45

 <P N="SupportDepth" V="PedestalDepth[hnI-1]" />

 <P N="DistToCrown" V="PedestalLocations2[hnI-1]-DistanceToCrown" />

 </O>

 </O>

 </O>

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-46

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, 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-47

 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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-48

 <O N="PISTON" T="Volume" Z="t+2.5625">

 <P N="V" V="11.605" />

 <O T="Circle" Z="1.5-c">

 <P N="Radius" V="V/2" />

 </O>

 <O T="Circle" Z="-.75">

 <P N="Radius" V="V/2" />

 </O>

 </O>

 <O N="SOLEPLATE" T="Volume" Z="t+2.5625+1.5-c" RZ="PI/2">

 <P N="J" V="21.5" D="Sole plate length." Role="Input" Category="Parameters" />

 <P N="K" V="24" D="Sole plate width." Role="Input" Category="Parameters" />

 <P N="adjV" V="alignV(Alignment,Sta-K/2)-alignV(Alignment,Sta+K/2)" />

 <O N="A" T="Surface">

 <O T="Point" X="-J/2" Y="-K/2" Z="0" />

 <O T="Point" X="J/2" Y="-K/2" Z="0" />

 <O T="Point" X="J/2" Y="K/2" Z="0" />

 <O T="Point" X="-J/2" Y="K/2" Z="0" />

 </O>

 <O N="B" T="Surface">

 <O T="Point" X="-J/2" Y="-K/2" Z="2.25" />

 <O T="Point" X="J/2" Y="-K/2" Z="2.25" />

 <O T="Point" X="J/2" Y="K/2" Z="2.25-adjV" />

 <O T="Point" X="-J/2" Y="K/2" Z="2.25-adjV" />

 </O>

 </O>

 <O T="Private">

 <O N="Reference" T="InsertionPoint" Size="1" />

 </O>

 </O>

 <O N="Elev from 3D" T="CADDFrom3D" RX="PI/2" RZ="PI/2">

 <P N="Obj3D" V="PotBearing" T="Group" />

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-49

OregonBulbT
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-50

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-51

 <O T="Point" X="0" Y="0" Z="0" />

 <O T="Point" X="1" Y="0" Z="0" />

 </O>

 <O T="Line">

 <P N="StartSkewX" V="-0.4" />

 <P N="EndSkewX" V="-0.4" />

 <P N="Section" V="Full 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="DrawFaceABorder" V="1" />

 <P N="DrawFaceBBorder" V="1" />

 <O T="Point" X="1" Y="0" Z="0" />

 <O T="Point" X="49" Y="0" Z="0" />

 </O>

 <O T="Line">

 <P N="StartSkewX" V="-0.4" />

 <P N="EndSkewX" V="0" />

 <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="DrawFaceABorder" V="1" />

 <O T="Point" X="49" Y="0" Z="0" />

 <O T="Point" X="50" Y="0" Z="0" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-52

Std Box Beam

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

1) Girders must be straight.

2) Girders must have the same skew at beginning and end.

3) Alignment may contain curves, however the piers must be parallel.

4) There must be a least one interior diaphragm.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-53

ParamML Code

O N="Std Box Beam (BB)" T="Project">

 <O N="ObjDesc" T="Group">

 <!--<p> |Std Box Beam (BB)| library object. </p> --> 

 <!-- <i>created by <b>Mike Bartholomew</b> on 6/2/2015</i> --> 

 <!-- <i>updated by <b>Benjamin Blasen</b> on 7/6/2015</i> --> 

 <!--

 <br>Limitations:</br>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-54

 <br>1) Girders must be straight.</br>

 <br>2) Girders must have the same skew at beginning and end.</br>

 <br>3) Alignment may contain curves, however the piers must be parallel.</br>

 <br>4) There must be a least one interior diaphragm.</br>

 --> 

 </O>

 <O N="Girder Cross Section Data" T="Group">

 <P N="w" V="48" D="overall width, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="h" V="36" D="overall depth, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="t_ft" V="5.5" D="Top flange thickness, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="t_fb" V="5.5" D="Bottom flange thickness, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="b_w" V="5" D="width of web, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="Fillet" V="3" D="Inside fillet, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="h_KeyT" V="4" D="Top key height, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="w_KeyT" V="0.375" D="Top key width, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="h_KeyB" V="4" D="Bottom key height, in " Role="Input" Category="Girder Cross Section Data" />

 <P N="w_KeyB" V="0.75" D="Bottom key width, in " Role="Input" Category="Girder Cross Section Data" />

 </O>

 <O N="Girder Span Data" T="Group">

 <P N="StartOffset" V="24" D="X-Coordinate Offset from Start" Role="Input" Category="Girder Span Data" />

 <P N="EndOffset" V="24" D="X-Coordinate Offset from End" Role="Input" Category="Girder Span Data" />

 <P N="Length" V="960" D="Length of girder span, in." Role="Input" Category="Girder Span Data" />

 <P N="GirderSkew" V="0.393" D="Girder Skew Angle, rad." Role="Input" Category="Girder Span Data" />

 <P N="CLBearingToBeamEnd" V="10" D="Length of Centerline of Bearing to Beam End, in." Role="Input" 

Category="Girder Span Data" />

 <P N="EndBeamThick" V="24" D="End Beam Thickness (end to start of hollow section), in." Role="Input" 

Category="Girder Span Data" />

 <P N="NumIntDiaph" V="3" D="Number of Interior Diaphrams" Role="Input" Category="Girder Span Data" />

 <P N="IntDiaphThick" V="18" D="Thickness of Interior Diaphrams, in." Role="Input" Category="Girder Span 

Data" />

 </O>

 <O N="Hollow Box Beam" T="Section">

 <O N="Solid" T="Shape">

 <O T="Point" Y="0" X="-w/2+w_KeyB-w_KeyT" />

 <O T="Point" Y="-h_KeyT" X="-w/2+w_KeyB-w_KeyT" />

 <O T="Point" Y="-h_KeyT-w_KeyT" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h+h_KeyB+w_KeyB" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h+h_KeyB" X="-w/2" />

 <O T="Point" Y="-h+w_KeyB" X="-w/2" />

 <O T="Point" Y="-h" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h" X="w/2-w_KeyB" />

 <O T="Point" Y="-h+w_KeyB" X="w/2" />

 <O T="Point" Y="-h+h_KeyB" X="w/2" />

 <O T="Point" Y="-h+h_KeyB+w_KeyB" X="w/2-w_KeyB" />

 <O T="Point" Y="-h_KeyT-w_KeyT" X="w/2-w_KeyB" />

 <O T="Point" Y="-h_KeyT" X="w/2-w_KeyB+w_KeyT" />

 <O T="Point" Y="0" X="w/2-w_KeyB+w_KeyT" />

 </O>

 <O N="Void" T="Shape">

 <P N="IsCutout" V="1" />

 <P N="DrawBorder" V="1" />

 <O T="Point" Y="-t_fb" X="-w/2+w_KeyB+b_w+Fillet" />

 <O T="Point" Y="-t_fb-Fillet" 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" X="-w/2+w_KeyB+b_w+Fillet" />

 <O T="Point" Y="-h+t_ft" X="w/2-w_KeyB-b_w-Fillet" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-55

 <O T="Point" Y="-h+t_ft+Fillet" X="w/2-w_KeyB-b_w" />

 <O T="Point" Y="-t_fb-Fillet" X="w/2-w_KeyB-b_w" />

 <O T="Point" Y="-t_fb" X="w/2-w_KeyB-b_w-Fillet" />

 </O>

 </O>

 <O N="Girder 1" T="Line">

 <P N="StartSkewX" V="GirderSkew" />

 <P N="EndSkewX" V="GirderSkew" />

 <P N="StartOffsetX" V="StartOffset" />

 <P N="EndOffsetX" V="-1*EndOffset" />

 <P N="Opacity" V="0.75" />

 <P N="BetaAngle" V="0" />

 <O T="Point" Z="0" Y="0" X="0" />

 <O N="Solid" T="Shape" Extends="Solid" />

 <O T="Point" X="EndBeamThick/cos(GirderSkew)/Length" />

 <O N="Hollow Box Beam" T="Section" Extends="Hollow Box Beam" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="NumIntDiaph" />

 <P N="I" V="1" />

 <P N="CTRL" V="index" T="Text" />

 <P N="index" V="1" />

 <O T="Point" X="index/(E+1)-0.5*IntDiaphThick/cos(GirderSkew)/(Length-EndBeamThick)" />

 <O N="Solid" T="Shape" Extends="Solid" />

 <O T="Point" X="index/(E+1)+0.5*IntDiaphThick/cos(GirderSkew)/(Length-EndBeamThick)" />

 <O N="Hollow Box Beam" T="Section" Extends="Hollow Box Beam" />

 </O>

 <O T="Point" X="1-EndBeamThick/cos(GirderSkew)/Length" />

 <O N="Solid" T="Shape" Extends="Solid" />

 <O T="Point" Z="0" Y="0" X="Length" />

 </O>

 <O T="Private">

 <O N="Top Chord Working Line" T="Line">

 <P N="BetaAngle" V="0" />

 <P N="Color" V="#FF0000" T="Text" />

 <O N="Simple Line" T="Section">

 <P N="w" V="0.1" />

 <P N="h" V="0.1" />

 <O T="Shape">

 <O T="Point" X="-w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="h/2" />

 <O T="Point" X="-w/2" Y="h/2" />

 </O>

 </O>

 <O T="Point" Z="0" Y="0" X="0" />

 <O T="Point" Z="0" Y="0" X="Length" />

 </O>

 </O>

 <O N="Box Beam - Section" 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" Y="0" X="-w/2+w_KeyB-w_KeyT" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-56

 <O T="Point" Y="-h_KeyT" X="-w/2+w_KeyB-w_KeyT" />

 <O T="Point" Y="-h_KeyT-w_KeyT" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h+h_KeyB+w_KeyB" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h+h_KeyB" X="-w/2" />

 <O T="Point" Y="-h+w_KeyB" X="-w/2" />

 <O T="Point" Y="-h" X="-w/2+w_KeyB" />

 <O T="Point" Y="-h" X="w/2-w_KeyB" />

 <O T="Point" Y="-h+w_KeyB" X="w/2" />

 <O T="Point" Y="-h+h_KeyB" X="w/2" />

 <O T="Point" Y="-h+h_KeyB+w_KeyB" X="w/2-w_KeyB" />

 <O T="Point" Y="-h_KeyT-w_KeyT" X="w/2-w_KeyB" />

 <O T="Point" Y="-h_KeyT" X="w/2-w_KeyB+w_KeyT" />

 <O T="Point" Y="0" X="w/2-w_KeyB+w_KeyT" />

 </O>

 <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" Y="-t_fb" X="-w/2+w_KeyB+b_w+Fillet" />

 <O T="Point" Y="-t_fb-Fillet" 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" X="-w/2+w_KeyB+b_w+Fillet" />

 <O T="Point" Y="-h+t_ft" X="w/2-w_KeyB-b_w-Fillet" />

 <O T="Point" Y="-h+t_ft+Fillet" X="w/2-w_KeyB-b_w" />

 <O T="Point" Y="-t_fb-Fillet" X="w/2-w_KeyB-b_w" />

 <O T="Point" Y="-t_fb" X="w/2-w_KeyB-b_w-Fillet" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="3" />

 <O T="Point" X="0" Y="-6" />

 <O T="Point" X="0" Y="6" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="3" />

 <O T="Point" X="6" Y="0" />

 <O T="Point" X="-6" Y="0" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="w = %d" T="Text" />

 <O T="Point" Y="-h" X="-w/2" />

 <O T="Point" Y="-h" X="w/2" />

 <O T="Point" Y="-h-margin*2" X="0" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="h = %d" T="Text" />

 <O T="Point" Y="-h" X="-w/2" />

 <O T="Point" Y="0" X="-w/2" />

 <O T="Point" Y="-h/2" X="-w/2-margin*6" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="t_ft = %d" T="Text" />

 <O T="Point" Y="-t_ft" X="-w/2" />

 <O T="Point" Y="0" X="-w/2" />

 <O T="Point" Y="-t_ft/2" X="-w/2-margin*4" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-57

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-58

 <P N="IsClosed" V="T" T="Text" />

 <O T="Point" Y="-w/2" X="0-w/2*tan(GirderSkew)" />

 <O T="Point" Y="w/2" X="0+w/2*tan(GirderSkew)" />

 <O T="Point" Y="w/2" X="Length+w/2*tan(GirderSkew)" />

 <O T="Point" Y="-w/2" X="Length-w/2*tan(GirderSkew)" />

 </O>

 <!-- creates diaphragms --> 

 <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" />

 <P N="OpenLength" V="(Length-2*EndBeamThick-IntDiaphThick*NumIntDiaph)/(NumIntDiaph+1)" />

 <P N="X1" V="EndBeamThick+(-w/2+b_w)*tan(GirderSkew)" />

 <P N="X2" V="EndBeamThick+(w/2-b_w)*tan(GirderSkew)" />

 <O T="Repeat">

 <P N="S" V="0" />

 <P N="I" V="1" />

 <P N="E" V="NumIntDiaph" />

 <P N="CTRL" V="index" T="Text" />

 <P N="index" V="0" />

 <O T="Point" Y="-w/2+b_w" X="X1 + (index * OpenLength) + (IntDiaphThick * index)" />

 <O T="Point" Y="w/2-b_w" X="X2 + (index * OpenLength) + (IntDiaphThick * index)" />

 <O T="Point" Y="w/2-b_w" X="X2+ (index+1) * OpenLength+ (IntDiaphThick * index)" />

 <O T="Point" Y="-w/2+b_w" X="X1+ (index+1) * OpenLength+ (IntDiaphThick * index)" />

 </O>

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="-StartOffset" Y="-50" />

 <O T="Point" X="-StartOffset" Y="50" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="-50-StartOffset" Y="0" />

 <O T="Point" X="50-StartOffset" Y="0" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Start Offset = %d" T="Text" />

 <O T="Point" Y="-2*margin" X="-StartOffset" />

 <O T="Point" Y="-2*margin" X="0" />

 <O T="Point" Y="3*w" X="StartOffset/2" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Length = %d" T="Text" />

 <O T="Point" Y="-2*margin" X="0" />

 <O T="Point" Y="-2*margin" X="Length" />

 <O T="Point" Y="-3*w" X="Length/2" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Length = %d" T="Text" />

 <O T="Point" Y="-1*margin" X="EndBeamThick" />

 <O T="Point" Y="-1*margin" X="Length-EndBeamThick" />

 <O T="Point" Y="-2*w" X="Length/2" />

 </O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-59

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="Length = %d" T="Text" />

 <O T="Point" Y="-1*margin" X="EndBeamThick" />

 <O T="Point" Y="-1*margin" X="EndBeamThick+OpenLength" />

 <O T="Point" Y="-1.25*w" X="Length/4" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="GirderSkew">

 <P N="Label" V="End = %d" T="Text" />

 <O T="Point" Y=".5*margin" X="0" />

 <O T="Point" Y=".5*margin" X="EndBeamThick" />

 <O T="Point" Y="2*w" X="Length" />

 </O>

 <O T="CADDDimensionLine" Y=".5*margin" X="EndBeamThick+OpenLength" RZ="GirderSkew">

 <P N="Label" V="Int = %d" T="Text" />

 <O T="Point" Y="0" X="0" />

 <O T="Point" Y="0" X="IntDiaphThick" />

 <O T="Point" Y="2*w" X="Length" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-60

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. 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-61

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-62

 <P N="ConnStiffLoc" V="[450, 700]" D="Connection Stiffener locations" Role="Input" 

Category="ConnectionStiffener" />

 </O>

 <O N="BearingStiffener" T="Group">

 <P N="BearingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None" 

Role="Input" Category="BearingStiffener" />

 <P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" Role="Input" Category="BearingStiffener" />

 <P N="BearingStiffW" V="7.5" D="Bearing Plate Width" Role="Input" Category="BearingStiffener" />

 <P N="BearingStiffHeight" V="90" D="Bearing Stiffener Height" Role="Input" Category="BearingStiffener" />

 <P N="BearingStiffClipH" V="1.5" D="Bearing Stiffener Horizontal Clip" Role="Input" 

Category="BearingStiffener" />

 <P N="BearingStiffClipV" V="2.5" D="Bearing Stiffener Vertical Clip" Role="Input" 

Category="BearingStiffener" />

 <P N="BearingStiffLoc" V="[25, 975]" D="Bearing Stiffener locations" Role="Input" 

Category="BearingStiffener" />

 </O>

 <O N="JackingStiffener" T="Group">

 <P N="JackingStiffOrient" V="B" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both N = None" 

Role="Input" Category="JackingStiffener" />

 <P N="JackingStiffT" V="1.0" D="Jacking Stiffener Thickness" Role="Input" Category="JackingStiffener" />

 <P N="JackingStiffW" V="9" D="Jacking Stiffener Width" Role="Input" Category="JackingStiffener" />

 <P N="JackingStiffHeight" V="90"D="Jacking Stiffener Height" Role="Input" Category="JackingStiffener" />

 <P N="JackingStiffClipH" V="1.5" D="Jacking Stiffener Horizontal Clip" Role="Input" 

Category="JackingStiffener" />

 <P N="JackingStiffClipV" V="2.5" D="Jacking Stiffener Vertical Clip" Role="Input" Category="JackingStiffener" 

/>

 <P N="JackingStiffLoc" V="[50,950]" D="Jacking Stiffener locations" Role="Input" Category="JackingStiffener" 

/>

 </O>

 </O>

 <!--

--> 

 <O N="Internal Drawing Parameters" T="Group">

 <P N="L" V="L" T="Text" D="Used for Left Side Stiffener only" />

 <P N="R" V="R" T="Text" D="Used for Right Side Stiffener only" />

 <P N="B" V="B" T="Text" D="Used for Both Sides Stiffener" /> 

 </O>

 <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" />

 <O T="Point" Y="0" X="tw/2" />

 <O T="Point" Y="-dw" X="tw/2" />

 <O T="Point" Y="-dw" X="-tw/2" />

 <O T="Point" Y="0" X="-tw/2" />

 </O>

 <O N="Bottom Flange" T="Shape">

 <P N="Material" V="STEEL" T="Material" D="Material" />

 <O T="Point" Y="-dw" X="bfb/2" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-63

 <O T="Point" Y="-dw-tfb" X="bfb/2" />

 <O T="Point" Y="-dw-tfb" X="-bfb/2" />

 <O T="Point" Y="-dw" X="-bfb/2" />

 </O>

 </O>

 <O T="Line">

 <P N="Section" V="IGirder" T="Section" />

 <O T="Point" Y="0" X="0" Z="0" />

 <O T="Point" Y="0" X="Length" Z="0" />

 </O>

 <!-- Draw Web Stiffeners --> 

 <O N="Shear Stiffeners" T="Group">

 <P N="Guard" V="WebStiffOrient.NE.None" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="length(WebStiffLoc)" />

 <P N="I" V="1" />

 <P N="CTRL" V="spi" T="Text" />

 <P N="spi" V="0" />

 <O N="Draw Right" T="Group">

 <P N="Guard" V="(WebStiffOrient.EQ.R).OR.(WebStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset)" />

 <P N="GR" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset+tw/2+WebStiffW/2)" />

 <P N="AdjR" V="CL-GR" />

 <O T="VerticalStiffener" Y="tw/2" X="WebStiffLoc[spi-1]" Z="AdjR" AlignH="Warp" AlignV="Orient">

 <P N="t" V="WebStiffT" D="Thickness" />

 <P N="w" V="WebStiffW" D="Width" />

 <P N="h" V="WebStiffHeight" D="Height" />

 <P N="clipV" V="WebStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="WebStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

 <P N="Guard" V="(WebStiffOrient.EQ.L).OR.(WebStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset)" />

 <P N="GL" V="alignT(Alignment, StartStation+WebStiffLoc[spi-1], Offset-tw/2-WebStiffW/2)" />

 <P N="AdjL" V="CL-GL" />

 <O T="VerticalStiffener" Y="-tw/2" X="WebStiffLoc[spi-1]" Z="AdjL" RZ="PI" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="WebStiffT" D="Thickness" />

 <P N="w" V="WebStiffW" D="Width" />

 <P N="h" V="WebStiffHeight" D="Height" />

 <P N="clipV" V="WebStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="WebStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 </O>

 </O>

 <!-- Draw Connection Stiffeners --> 

 <O N="Cross Frame Connection Stiffeners" T="Group">

 <P N="Guard" V="ConnStiffOrient.NE.None" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="length(ConnStiffLoc)" />

 <P N="I" V="1" />

 <P N="CTRL" V="spi" T="Text" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-64

 <P N="spi" V="0" />

 <O N="Draw Right" T="Group">

 <P N="Guard" V="(ConnStiffOrient.EQ.R).OR.(ConnStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+ConnStiffLoc[spi-1], Offset)" />

 <P N="GR" V="alignT(Alignment, StartStation+ConnStiffLoc[spi-1], Offset+tw/2+ConnStiffW/2)" />

 <P N="AdjR" V="CL-GR" />

 <O T="VerticalStiffener" Y="tw/2" X="ConnStiffLoc[spi-1]" Z="AdjR" AlignH="Warp" AlignV="Orient">

 <P N="t" V="ConnStiffT" D="Thickness" />

 <P N="w" V="ConnStiffW" D="Width" />

 <P N="h" V="ConnStiffHeight" D="Height" />

 <P N="clipV" V="ConnStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="ConnStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

 <P N="Guard" V="(ConnStiffOrient.EQ.L).OR.(ConnStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+ConnStiffLoc[spi-1], Offset)" />

 <P N="GL" V="alignT(Alignment, StartStation+ConnStiffLoc[spi-1], Offset-tw/2-ConnStiffW/2)" />

 <P N="AdjL" V="CL-GL" />

 <O T="VerticalStiffener" Y="-tw/2" X="ConnStiffLoc[spi-1]" RZ="PI" Z="AdjL" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="ConnStiffT" D="Thickness" />

 <P N="w" V="ConnStiffW" D="Width" />

 <P N="h" V="ConnStiffHeight" D="Height" />

 <P N="clipV" V="ConnStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="ConnStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 </O>

 </O>

 <!-- Draw Bearing Stiffeners 

--> 

 <O N="Bearing Stiffeners" T="Group">

 <P N="Guard" V="BearingStiffOrient.NE.None" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="length(BearingStiffLoc)" />

 <P N="I" V="1" />

 <P N="CTRL" V="spi" T="Text" />

 <P N="spi" V="0" />

 <O N="Draw Right" T="Group">

 <P N="Guard" V="(BearingStiffOrient.EQ.R).OR.(BearingStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+BearingStiffLoc[spi-1], Offset)" />

 <P N="GR" V="alignT(Alignment, StartStation+BearingStiffLoc[spi-1], Offset+tw/2+BearingStiffW/2)" />

 <P N="AdjR" V="CL-GR" />

 <O T="VerticalStiffener" Y="tw/2" X="BearingStiffLoc[0]" Z="AdjR" AlignH="Warp" AlignV="Orient">

 <P N="t" V="BearingStiffT" D="Thickness" />

 <P N="w" V="BearingStiffW" D="Width" />

 <P N="h" V="BearingStiffHeight" D="Height" />

 <P N="clipV" V="BearingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="BearingStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

 <P N="Guard" V="(BearingStiffOrient.EQ.L).OR.(BearingStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+BearingStiffLoc[spi-1], Offset)" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-65

 <P N="GL" V="alignT(Alignment, StartStation+BearingStiffLoc[spi-1], Offset-tw/2-BearingStiffW/2)" />

 <P N="AdjL" V="CL-GL" />

 <O T="VerticalStiffener" Y="-tw/2" X="BearingStiffLoc[0]" Z="AdjL" RZ="PI" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="BearingStiffT" D="Thickness" />

 <P N="w" V="BearingStiffW" D="Width" />

 <P N="h" V="BearingStiffHeight" D="Height" />

 <P N="clipV" V="BearingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="BearingStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 </O>

 </O>

 <!-- Draw Jacking Stiffeners

--> 

 <O N="Jacking Stiffeners" T="Group">

 <P N="Guard" V="JackingStiffOrient.NE.None" />

 <O T="Repeat">

 <P N="S" V="1" />

 <P N="E" V="length(JackingStiffLoc)" />

 <P N="I" V="1" />

 <P N="CTRL" V="spi" T="Text" />

 <P N="spi" V="0" />

 <O N="Draw Right" T="Group">

 <P N="Guard" V="(JackingStiffOrient.EQ.R).OR.(JackingStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+JackingStiffLoc[spi-1], Offset)" />

 <P N="GR" V="alignT(Alignment, StartStation+JackingStiffLoc[spi-1], Offset+tw/2+JackingStiffW/2)" />

 <P N="AdjR" V="CL-GR" />

 <O T="VerticalStiffener" Y="tw/2" X="JackingStiffLoc[spi-1]" Z="AdjR" AlignH="Warp" AlignV="Orient">

 <P N="t" V="JackingStiffT" D="Thickness" />

 <P N="w" V="JackingStiffW" D="Width" />

 <P N="h" V="JackingStiffHeight" D="Height" />

 <P N="clipV" V="JackingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="JackingStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

 <P N="Guard" V="(JackingStiffOrient.EQ.L).OR.(JackingStiffOrient.EQ.B)" />

 <P N="CL" V="alignT(Alignment, StartStation+JackingStiffLoc[spi-1], Offset)" />

 <P N="GL" V="alignT(Alignment, StartStation+JackingStiffLoc[spi-1], Offset-tw/2-JackingStiffW/2)" />

 <P N="AdjL" V="CL-GL" />

 <O T="VerticalStiffener" Y="-tw/2" X="JackingStiffLoc[spi-1]" Z="AdjL" RZ="PI" AlignH="Warp" 

AlignV="Orient">

 <P N="t" V="JackingStiffT" D="Thickness" />

 <P N="w" V="JackingStiffW" D="Width" />

 <P N="h" V="JackingStiffHeight" D="Height" />

 <P N="clipV" V="JackingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="JackingStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-66

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-67

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-68

 <P N="Thickness" V="1" />

 <P N="IsClosed" V="F" T="Text" />

 <O T="Point" X="0" Y="margin" />

 <O T="Point" X="0" Y="-h-margin" />

 </O>

 <O T="CADDLine" X="0" Y="0" RZ="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="1" />

 <P N="IsClosed" V="F" T="Text" />

 <O T="Point" X="-margin" Y="0" />

 <O T="Point" X="w+margin" Y="0" />

 </O>

 </O>

 <O T="CADDDimensionLine" X="tw/2" Y="0" RZ="0">

 <P N="Label" V="w = %d" T="Text" />

 <O T="Point" X="0" Y="0" />

 <O T="Point" X="w" Y="0" />

 <O T="Point" X="0" Y="3*margin" />

 </O>

 <O T="CADDDimensionLine" Y="0" X="0" RZ="0">

 <P N="Label" V="tw/2 = %d" T="Text" />

 <O T="Point" X="0" Y="0" />

 <O T="Point" X="tw/2" Y="0" />

 <O T="Point" X="0" Y="margin" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="h = %d" T="Text" />

 <O T="Point" X="w" Y="-h" />

 <O T="Point" X="w" Y="0" />

 <O T="Point" X="w+2*margin" Y="0" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="clipV = %d" T="Text" />

 <O T="Point" X="0" Y="-clipV" />

 <O T="Point" X="0" Y="0" />

 <O T="Point" X="-margin" Y="0" />

 </O>

 <O T="CADDDimensionLine" X="tw/2" Y="0" RZ="0">

 <P N="Label" V="clipH = %d" T="Text" />

 <O T="Point" X="0" Y="0" />

 <O T="Point" X="clipH" Y="0" />

 <O T="Point" X="0" Y="2*margin" />

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-69

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).
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-70
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-71

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-72

 <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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-73

 <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="WebFillPlateA" T="SplicePlate2" Y="-tw_min/2" X="iif(twA .GT. twB, 3*plate_length/4+g_gap/4, 

plate_length/4-g_gap/4)" Z="-dwA*0.5" RY="PI/2" RX="PI/2">

 <P N="Guard" V="tw_max .NE. tw_min" />

 <P N="Color" V="#da12d8" T="Text" />

 <P N="w" V="plate_width" D="width of the plate" />

 <P N="h" V="(plate_length - g_gap) / 2" D="height of the plate" />

 <P N="t" V="(tw_max-tw_min)/2" 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="WebFillPlateB" T="SplicePlate2" Y="tw_max/2" X="iif(twA .GT. twB, 3*plate_length/4+g_gap/4, 

plate_length/4-g_gap/4)" Z="-dwB*0.5" RY="PI/2" RX="PI/2">

 <P N="Guard" V="tw_max .NE. tw_min" />

 <P N="Color" V="#da12d8" T="Text" />

 <P N="w" V="plate_width" D="width of the plate" />

 <P N="h" V="(plate_length - g_gap) / 2" D="height of the plate" />

 <P N="t" V="(tw_max-tw_min)/2" 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>

 <!----> 

 <O N="WebBolts" T="Group">

 <O N="WebBoltsA" T="BoltGroup (BB)" Extends="bolt75" Y="tw_max/2+plate_thickness" X="edx" Z="-

dwA*0.5+plate_width/2-edy" RX="PI/2">

 <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="tw_max + 2 * plate_thickness" />

 </O>

 <O N="WebBoltsB" T="BoltGroup (BB)" Extends="WebBoltsA" X="plate_length/2+spcx/2" Z="-

dwB*0.5+plate_width/2-edy" />

 </O>

 </O>

 <O N="Flange Field Splice" T="Group">

 <P N="tft_max" V="max(tftA, tftB)" D="larger top flange thickness" />

 <P N="tft_min" V="min(tftA, tftB)" D="smaller top flange thickness" />

 <P N="tfb_max" V="max(tfbA, tfbB)" D="larger bottom flange thickness" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-74

 <P N="tfb_min" V="min(tfbA, tfbB)" D="smaller bottom flange thickness" />

 <P N="d_max" V="max(dwA + tfbA, dwB + tfbB)" D="larger web depth + bottom flange thickness" />

 <P N="d_min" V="min(dwA + tfbA, dwB + tfbB)" D="smaller web depth + bottom flange thickness" />

 <P N="dw_max" V="max(dwA, dwB)" D="smaller web depth" />

 <P N="dw_min" V="min(dwA, dwB)" D="smaller web depth" />

 <P N="w_o" V="min(bftA, bftB)" D="outside plate's width" />

 <P N="w_i" V="min((bftA-twA)/2, (bftB-twB)/2)" D="inside plate's width" />

 <P N="plate_thickness" V="flange_thickness" />

 <P N="numx" V="fnumx" />

 <P N="spcx" V="fspcx" />

 <P N="spx" V="fspx" />

 <P N="edx" V="fedx" />

 <P N="numy" V="fnumy" />

 <P N="spy" V="fspy" />

 <P N="edy" V="fedy" />

 <P N="spcy" V="fspcy" />

 <P N="length" V="edx * 2 + (spx * (numx - 1)) * 2 + spcx" D="length of the plate" />

 <P N="width" V="edy * 2 + (spy * (numy - 1)) * 2 + spcy" D="width of the outer plate along tranverse axis" />

 <P N="width_inside" V="edy * 2 + spy * (numy - 1)" D="width of each inner plate along transverse axis" />

 <O N="TopFlangePlates" T="Group">

 <O N="PanelOutside" T="SplicePlate2" X="0" Z="tft_max+plate_thickness" RY="PI/2">

 <P N="Color" V="#991111" T="Text" />

 <P N="w" V="width" 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="PanelInsideA" T="SplicePlate2" Y="(width - width_inside) / 2" X="0" Z="0" 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="PanelInsideB" T="SplicePlate2" Y="-(width - width_inside) / 2" X="0" Z="0" 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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-75

 <O N="PanelFill" T="SplicePlate2" X="iif(tftA .GT. tftB, length/4+g_gap/8, -length/4-g_gap/8)" Z="tft_max" 

RY="PI/2">

 <P N="Guard" V="tft_min .NE. tft_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="tft_max-tft_min" D="thickness of the plate" />

 <P N="nrows" V="numx" D="number of horizontal rows" />

 <P N="ncols" V="2*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="TopFlangeBolts" T="Group">

 <O N="TopFlangeBoltsAL" T="BoltGroup (BB)" Extends="bolt75" Y="spcy/2" X="-length/2+edx" 

Z="tft_max+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="tft_max + 2 * plate_thickness" />

 </O>

 <O N="TopFlangeBoltsAR" T="BoltGroup" Extends="TopFlangeBoltsAL" Y="-spcy/2-(rows-1)*row_spacing" 

/>

 <O N="TopFlangeBoltsBL" T="BoltGroup" Extends="TopFlangeBoltsAL" X="spcx/2" />

 <O N="TopFlangeBoltsBR" T="BoltGroup" Extends="TopFlangeBoltsAR" X="spcx/2" />

 </O>

 <O N="BottomFlangePlates" T="Group"> 

 <O N="PanelOutside" T="SplicePlate2" X="0" Z="-d_max" RY="PI/2">

 <P N="Color" V="#991111" T="Text" />

 <P N="w" V="width" 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="PanelInsideA" 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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-76

 </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-(rows1)*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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-77

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-78

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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-79

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-80

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-81

 <O T="Point" Y="Y_os" X="X_os" Z="Z_os" />

 <O T="Section">

 <O T="Circle">

 <P N="Segments" V="Refinement" />

 <P N="Radius" V="d_s/2" UT="Length" UC="Properties" />

 </O>

 </O>

 </O>

 <O N="HexNut" T="Volume">

 <P N="Color" V="#b60000" T="Text" />

 <O T="Point" Y="Y_2" X="X_2" Z="Z_2" />

 <O T="Point" Y="Y_on" X="X_on" Z="Z_on" />

 <O T="Section">

 <O T="Circle">

 <P N="Segments" V="6" />

 <P N="Radius" V="d_n/2" UT="Length" UC="Properties" />

 </O>

 <O T="Circle">

 <P N="IsCutout" V="1" />

 <P N="Segments" V="Refinement" />

 <P N="Radius" V="d_s/2+d_s*0.01" UT="Length" UC="Properties" />

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS 

A-82

Bolt Group (BB)

The Bolt Group (BB) object is a collection of bolts spaced in a rectangular grid. The bolt spacing in the 

two directions may be different, but all spaces in each direction are constant. 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-83

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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-84

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-85

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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-86

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. 

<O N="Stud Placement" T="Project">

 <P N="dia_s" V="7/8" D="Diameter of the stud, in." Role="Input" />

 <P N="len_s" V="7" D="Length of stud, in." Role="Input" />

 <P N="Stud_Spacing" V="[5, 10, 30, 5]" D="Spacing in-between studs, in." Role="Input" />

 <P N="Spacing_Length" V="[15, 200, 150, 15]" D="Total length of each spacing, in." Role="Input" />

 <O N="ObjDesc" T="Group">

 <!-- 

 <p> |Stud Placement| object is used to call "Shear Stud" library object

 and place it in a row based on a given spacing and length. Alignment of the 
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-87

 row of studs can be specified in the project.</p>

 --> 

 <!-- <i>created by <b>Benjamin Blasen</b> on 7/13/2015</i> --> 

 </O>

 <!-- Reset of spacing parameters required.--> 

 <O T="Group">

 <O N="xd" T="Repeat" CTRL="ri" I="1" E="length(Stud_Spacing)+1" S="0" ri="0">

 <P N="Tot" V="0" />

 </O>

 </O>

 <O T="Group">

 <O N="xd" T="Repeat" CTRL="i" I="1" E="length(Stud_Spacing)+1" S="0" i="0">

 <O T="Group">

 <P N="Guard" V="i .LE. 0" />

 <P N="Tot" V="0" />

 </O>

 <O T="Group">

 <P N="Guard" V="i .GT. 0" />

 <P N="Tot" V="Spacing_Length[i-1] + xd[i-1].Tot" />

 </O>

 </O>

 <O T="Repeat" S="0" E="length(Stud_Spacing)" I="1" CTRL="ai" ai="0">

 <O T="Repeat" S="1" E="floor((Spacing_Length[ai]+.01)/(Stud_Spacing[ai]+.01))+1" I="1" CTRL="sdi" 

sdi="0">

 <O T="Group">

 <P N="Guard" V="ai .LE. 0" />

 <O T="Shear Stud" X="(Stud_Spacing[ai]*sdi)" AlignH="None" AlignV="None">

 <P N="d_s" V="dia_s" />

 <P N="L" V="len_s" />

 </O>

 </O>

 <O T="Group">

 <P N="Guard" V="ai .GT. 0" />

 <O T="Shear Stud" X="(Stud_Spacing[ai]*sdi)+xd[ai].Tot" AlignH="None" AlignV="None">

 <P N="d_s" V="dia_s" />

 <P N="L" V="len_s" />

 </O>

 </O>

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-88

CrossFrameTypeKTop

CrossFrameTypeKTop object is used for steel K-Type cross frame objects placed between steel plate Igirders. 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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-89
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-90

ParamML Code

<O N="CrossFrameTypeKTop" T="Project">

 <!-- created by Mike Bartholomew on 7/8/2015 --> 

 <!--

--> 

 <O N="ObjDesc" T="Group">

 <!-- 

<p> |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
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-91

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-92

 <P N="CenterGusset_H" V="20" Role="Input" Category="Gusset Plate Data" />

 <P N="CenterGusset_V" V="12" Role="Input" Category="Gusset Plate Data" />

 <P N="thickness" V="0.5" D="Thickness of Gusset Plates" Role="Input" Category="Gusset Plate Data" />

 <P N="GussetA" V="alignT(Alignment, XFStation-t/2, WP1.Y+8)" D="Right Gusset global Z" />

 <P N="GussetAElevCorr" V="GussetA-GA" />

 <P N="GussetB" V="alignT(Alignment, XFStation-t/2, WP2.Y-8)" D="Left Gusset global Z" />

 <P N="GussetBElevCorr" V="GussetB-GB" />

 <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" />

 </O>

 <O N="DefaultSection" T="Section" RZ="0">

 <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="Cross Frame" T="Group">

 <O N="Gusset1" T="BoltedGusset" AlignH="Orient" AlignV="Orient" AlignT="None" X="thickness/2" 

Y="WP1.Y+8" Z="WP1.Z-TopChord.d/2+TopChord.y-GussetAElevCorr" RX="PI">

 <P N="w" V="TopGusset_H" D="width of the plate" />

 <P N="h" V="TopGusset_V" D="height of the plate" />

 <P N="t_g" V="thickness" D="thickness of the plate" />

 <P N="nrows" V="TopBoltGroupRows" D="number of rows" />

 <P N="ncols" V="TopBoltGroupCols" D="number of columns" />

 <P N="spY" V="TopBoltGroupSpY" D="Horiz spacing between columns" />

 <P N="spZ" V="TopBoltGroupSpZ" D="Vert spacing between rows" />

 <P N="d_b" V="BoltDia" D="Bolt Diameter" />

 <P N="c" V="EdgeDist" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Gusset2" T="BoltedGusset" AlignH="Orient" AlignV="Orient" AlignT="None" X="thickness/2" Y="WP2.Y8" Z="WP2.Z-TopChord.d/2+TopChord.y-GussetBElevCorr">

 <P N="w" V="TopGusset_H" D="width of the plate" />

 <P N="h" V="TopGusset_V" D="height of the plate" />

 <P N="t_g" V="thickness" D="thickness of the plate" />

 <P N="nrows" V="TopBoltGroupRows" D="number of rows" />

 <P N="ncols" V="TopBoltGroupCols" D="number of columns" />

 <P N="spY" V="TopBoltGroupSpY" D="Horiz spacing between columns" />

 <P N="spZ" V="TopBoltGroupSpZ" D="Vert spacing between rows" />

 <P N="d_b" V="BoltDia" D="Bolt Diameter" />

 <P N="c" V="EdgeDist" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-93

 <O N="Gusset3" T="BoltedGusset" AlignH="Orient" AlignV="Orient" AlignT="None" X="thickness/2" 

Y="WP3.Y+8" Z="WP3.Z+BottomGusset_V/2-BotChord.d+BotChord.y-1.5-GussetAElevCorr" RX="PI">

 <P N="w" V="BottomGusset_H" D="width of the plate" />

 <P N="h" V="BottomGusset_V" D="height of the plate" />

 <P N="t_g" V="thickness" D="thickness of the plate" />

 <P N="nrows" V="BottomBoltGroupRows" D="number of rows" />

 <P N="ncols" V="BottomBoltGroupCols" D="number of columns" />

 <P N="spY" V="BottomBoltGroupSpY" D="Horiz spacing between columns" />

 <P N="spZ" V="BottomBoltGroupSpZ" D="Vert spacing between rows" />

 <P N="d_b" V="BoltDia" D="Bolt Diameter" />

 <P N="c" V="EdgeDist" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Gusset4" T="BoltedGusset" AlignH="Orient" AlignV="Orient" AlignT="None" X="thickness/2" Y="WP4.Y8" Z="WP4.Z+BottomGusset_V/2-BotChord.d+BotChord.y-1.5-GussetBElevCorr">

 <P N="w" V="BottomGusset_H" D="width of the plate" />

 <P N="h" V="BottomGusset_V" D="height of the plate" />

 <P N="t_g" V="thickness" D="thickness of the plate" />

 <P N="nrows" V="BottomBoltGroupRows" D="number of rows" />

 <P N="ncols" V="BottomBoltGroupCols" D="number of columns" />

 <P N="spY" V="BottomBoltGroupSpY" D="Horiz spacing between columns" />

 <P N="spZ" V="BottomBoltGroupSpZ" D="Vert spacing between rows" />

 <P N="d_b" V="BoltDia" D="Bolt Diameter" />

 <P N="c" V="EdgeDist" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O> 

 <O N="Gusset5" T="WeldedGusset" AlignH="Orient" AlignV="Orient" AlignT="None" X="thickness/2" 

Y="WP5.Y" Z="WP5.Z+TopChord.y+0.5-CenterGusset_V/2" RX="AngleCorr">

 <P N="w" V="CenterGusset_H" D="width of the plate" />

 <P N="h" V="CenterGusset_V" D="height of the plate" />

 <P N="t_g" V="thickness" D="thickness of the plate" />

 </O>

 <O N="Top Chord" T="Line" AlignH="None" AlignV="None" AlignT="None">

 <P N="Section" V="TopChord" T="Section" />

 <P N="BetaAngle" V="PI" />

 <P N="StartOffsetX" V="9" />

 <P N="EndOffsetX" V="-9" />

 <P N="StartOffsetZ" V="TopChord.y" />

 <P N="EndOffsetZ" V="TopChord.y" />

 <O T="Point" X="WP1.X" Y="WP1.Y" Z="WP1.Z" />

 <O T="Point" X="WP2.X" Y="WP2.Y" Z="WP2.Z" />

 </O>

 <O N="Bottom Chord" T="Line" AlignH="None" AlignV="None" AlignT="None">

 <P N="Section" V="BotChord" T="Section" />

 <P N="BetaAngle" V="PI" />

 <P N="StartOffsetX" V="9" />

 <P N="EndOffsetX" V="-9" />

 <P N="StartOffsetZ" V="BotChord.y" />

 <P N="EndOffsetZ" V="BotChord.y" />

 <O T="Point" X="WP3.X" Y="WP3.Y" Z="WP3.Z" />

 <O T="Point" X="WP4.X" Y="WP4.Y" Z="WP4.Z" />

 </O>

 <O N="Left Diagonal" T="Line" AlignH="None" AlignV="None" AlignT="None">

 <P N="Section" V="Diagonal" T="Section" />

 <P N="BetaAngle" V="PI" />

 <P N="StartOffsetX" V="11" />

 <P N="EndOffsetX" V="-8" />

 <P N="StartOffsetZ" V="Diagonal.y" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS 

A-94

 <P N="EndOffsetZ" V="Diagonal.y" />

 <O T="Point" X="WP3.X" Y="WP3.Y" Z="WP3.Z" />

 <O T="Point" X="WP5.X" Y="WP5.Y" Z="WP5.Z" />

 </O>

 <O N="Right Diagonal" T="Line" AlignH="None" AlignV="None" AlignT="None">

 <P N="Section" V="Diagonal" T="Section" />

 <P N="BetaAngle" V="PI" />

 <P N="StartOffsetX" V="8" />

 <P N="EndOffsetX" V="-11" /> 

 <P N="StartOffsetZ" V="Diagonal.y" />

 <P N="EndOffsetZ" V="Diagonal.y" />

 <O T="Point" X="WP5.X" Y="WP5.Y" Z="WP5.Z" />

 <O T="Point" X="WP4.X" Y="WP4.Y" Z="WP4.Z" />

 </O>

 <!--

 The Working Lines are for debugging purposes

--> 

 <O T="Private">

 <O N="Working Lines" T="Group">

 <P N="Color" V="#FF0000" T="Hex" />

 <O N="Simple Line" T="Section">

 <P N="w" V="0.003" />

 <P N="h" V="0.003" />

 <O T="Shape">

 <O T="Point" X="-w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="h/2" />

 <O T="Point" X="-w/2" Y="h/2" />

 </O>

 </O>

 <O N="Top Chord Working Line" T="Line">

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP1.Y" Z="WP1.Z" />

 <O T="Point" X="-t/2" Y="WP2.Y" Z="WP2.Z" />

 </O>

 <O N="Bottom Chord Working Line" T="Line">

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z" />

 </O>

 <O N="Left Diagonal Working Line" T="Line">

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z" />

 <O T="Point" X="-t/2" Y="WP5.Y" Z="WP5.Z" />

 </O>

 <O N="Right Diagonal Working Line" T="Line">

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP5.Y" Z="WP5.Z" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z" />

 </O>

 <O N="Left Girder CL" T="Line">

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP1.Y" Z="WP1.Z+TopWP_Vert_Offset" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z-BotWP_Vert_Offset" />

 </O>

 <O N="Right Girder CL" T="Line">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-95

 <P N="Section" V="Simple Line" T="Section" />

 <O T="Point" X="-t/2" Y="WP2.Y" Z="WP2.Z+TopWP_Vert_Offset" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z-BotWP_Vert_Offset" />

 </O>

 </O>

 </O>

 </O>

 <O N="Cross Frame Elevation" T="CADD" RX="PI/2" RZ="PI/2">

 <P N="Alignment" V="NULL" T="Aligment" />

 <O N="Left Girder CL" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP1.Y" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)" />

 </O>

 <O N="Left Girder Web" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP1.Y-0.375" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP3.Y-0.375" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP3.Y+0.375" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP1.Y+0.375" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)" />

 </O>

 <O N="Left Girder Top Flange" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP1.Y-10" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP1.Y+10" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP1.Y+10" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)+1" />

 <O T="Point" X="-t/2" Y="WP1.Y-10" Z="WP1.Z+TopWP_Vert_Offset+(GA-CL)+1" />

 </O>

 <O N="Left Girder Bottom Flange" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP3.Y-10" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP3.Y+10" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP3.Y+10" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)-1" />

 <O T="Point" X="-t/2" Y="WP3.Y-10" Z="WP3.Z-BotWP_Vert_Offset+(GA-CL)-1" />

 </O>

 <!--

--> 

 <O N="Right Girder CL" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP2.Y" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)" />

 </O>

 <O N="Right Girder Web" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP2.Y-0.375" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP4.Y-0.375" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-96

 <O T="Point" X="-t/2" Y="WP4.Y+0.375" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP2.Y+0.375" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)" />

 </O>

 <O N="Right Girder Top Flange" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP2.Y-10" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP2.Y+10" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP2.Y+10" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)+1" />

 <O T="Point" X="-t/2" Y="WP2.Y-10" Z="WP2.Z+TopWP_Vert_Offset+(GB-CL)+1" />

 </O>

 <O N="Right Girder Bottom Flange" T="CADDShape">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="1" />

 <P N="Color" V="#AAAAAA" T="Hex" />

 <O T="Point" X="-t/2" Y="WP4.Y-10" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP4.Y+10" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)" />

 <O T="Point" X="-t/2" Y="WP4.Y+10" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)-1" />

 <O T="Point" X="-t/2" Y="WP4.Y-10" Z="WP4.Z-BotWP_Vert_Offset+(GB-CL)-1" />

 </O>

 <O N="Top Chord Working Line" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP1.Y" Z="WP1.Z+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP2.Y" Z="WP2.Z+(GB-CL)" />

 </O>

 <O N="Bottom Chord Working Line" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z+(GB-CL)" />

 </O>

 <O N="Left Diagonal Working Line" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP3.Y" Z="WP3.Z+(GA-CL)" />

 <O T="Point" X="-t/2" Y="WP5.Y" Z="WP5.Z" />

 </O>

 <O N="Right Diagonal Working Line" T="CADDLine">

 <P N="Thickness" V="1" />

 <P N="Color" V="#FF0000" T="Hex" />

 <O T="Point" X="-t/2" Y="WP5.Y" Z="WP5.Z" />

 <O T="Point" X="-t/2" Y="WP4.Y" Z="WP4.Z+(GB-CL)" />

 </O>

 <O N="Gusset1CADD" T="CADDShape" Y="WP1.Y" Z="WP1.Z">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="8-TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr+TopGusset_V/2+(GACL)" />

 <O T="Point" Y="8+TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr+TopGusset_V/2+(GACL)" />

 <O T="Point" Y="8+TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr-TopGusset_V/2+(GACL)" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-97

 <O T="Point" Y="8-TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr-TopGusset_V/2+(GACL)" />

 </O>

 <O N="Gusset2CADD" T="CADDShape" X="-thickness/2" Y="WP2.Y" Z="WP2.Z">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-8-TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr+TopGusset_V/2+(GBCL)" />

 <O T="Point" Y="-8+TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr+TopGusset_V/2+(GBCL)" />

 <O T="Point" Y="-8+TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr-TopGusset_V/2+(GBCL)" />

 <O T="Point" Y="-8-TopGusset_H/2" Z="-TopChord.d/2+TopChord.y-GussetAElevCorr-TopGusset_V/2+(GBCL)" />

 </O>

 <O N="Gusset3CADD" T="CADDShape" X="-thickness/2" Y="WP3.Y" Z="WP3.Z">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="8-BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr+BottomGusset_V/2+(GA-CL)" />

 <O T="Point" Y="8+BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr+BottomGusset_V/2+(GA-CL)" />

 <O T="Point" Y="8+BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr-BottomGusset_V/2+(GA-CL)" />

 <O T="Point" Y="8-BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr-BottomGusset_V/2+(GA-CL)" />

 </O>

 <O N="Gusset4CADD" T="CADDShape" X="-thickness/2" Y="WP4.Y" Z="WP4.Z">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-8-BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr+BottomGusset_V/2+(GB-CL)" />

 <O T="Point" Y="-8+BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr+BottomGusset_V/2+(GB-CL)" />

 <O T="Point" Y="-8+BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr-BottomGusset_V/2+(GB-CL)" />

 <O T="Point" Y="-8-BottomGusset_H/2" Z="BottomGusset_V/2-BotChord.d+BotChord.y-1.5-

GussetAElevCorr-BottomGusset_V/2+(GB-CL)" />

 </O>

 <O N="Gusset5CADD" T="CADDShape" X="-thickness/2" Y="WP5.Y" Z="WP5.Z" RX="-AngleCorr">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-CenterGusset_H/2" Z="TopChord.y+0.5-CenterGusset_V/2-

GussetAElevCorr+CenterGusset_V/2" />

 <O T="Point" Y="CenterGusset_H/2" Z="TopChord.y+0.5-CenterGusset_V/2-

GussetAElevCorr+CenterGusset_V/2" />

 <O T="Point" Y="CenterGusset_H/2" Z="TopChord.y+0.5-CenterGusset_V/2-GussetAElevCorrCenterGusset_V/2" />

 <O T="Point" Y="-CenterGusset_H/2" Z="TopChord.y+0.5-CenterGusset_V/2-GussetAElevCorrCenterGusset_V/2" />

 </O>

 <O N="TopChordCADD" T="CADDShape" X="-thickness/2" Y="WP5.Y" Z="WP5.Z" RX="-AngleCorr">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-98

 <P N="IsClosed" V="T" T="Text" /> 

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="-5+1.44-GussetAElevCorr" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="-5+1.44-GussetAElevCorr" />

 </O>

 <O N="BotChordCADD" T="CADDShape" X="-thickness/2" Y="WP5.Y" Z="WP5.Z-48.5" RX="-AngleCorr">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="-5+1.44-GussetAElevCorr" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="-5+1.44-GussetAElevCorr" />

 </O>

 <!--

 <O N="LeftDiagonalCADD" T="CADDShape" X="-thickness/2" Y="(WP5.Y+WP3.Y)/2" Z="(WP5.Z+WP3.Z)/2" 

RX="-LeftDiagAngle-AngleCorr/2">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="1.44" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="1.44" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="-5+1.44" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="-5+1.44" />

 </O>

 <O N="RightDiagonalCADD" T="CADDShape" X="-thickness/2" Y="(WP5.Y+WP4.Y)/2" Z="(WP5.Z+WP4.Z)/2" 

RX="-RightDiagAngle-AngleCorr/2">

 <P N="IsClosed" V="T" T="Text" />

 <P N="Thickness" V="2" />

 <P N="Color" V="#000000" T="Hex" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="1.44-GussetAElevCorr" />

 <O T="Point" Y="(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2-9" Z="-5+1.44-GussetAElevCorr" />

 <O T="Point" Y="-(GirderB_Horiz_Offset-GirderA_Horiz_Offset)/2+9" Z="-5+1.44-GussetAElevCorr" />

 </O>

--> 

 <O T="CADDDimensionLine">

 <P N="Label" V="TopWP_Vert_Offset = %d" T="Text" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="-TopWP_Vert_Offset+(GA-CL)" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL" />

 <O T="Point" Y="GirderA_Horiz_Offset-15" Z="GA-CL" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="BotWP_Vert_Offset = %d" T="Text" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL-WebDepth" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL-WebDepth+BotWP_Vert_Offset" />

 <O T="Point" Y="GirderA_Horiz_Offset-15" Z="GA-CL" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="WebDepth = %d" T="Text" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL-WebDepth" />

 <O T="Point" Y="GirderA_Horiz_Offset" Z="GA-CL" />

 <O T="Point" Y="GirderA_Horiz_Offset-20" Z="GA-CL" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-99

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-100

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-101

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-102

 <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=" c=|d|" T="Text" />

 <O T="Point" Y="w/2 - c" 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="0.9*h" />

 </O>

 <O T="DimensionLine" FontSize="DimLineFontSize" ArrowSize="DimLineArrowSize" AlignH="Warp" 

AlignT="None" AlignV="Warp">

 <P N="Label" V=" spY=|d|" T="Text" />

 <O T="Point" Y="w/2 - c - spY" X="-t_g" Z="h/2 + DimLineMargin" />

 <O T="Point" Y="w/2 - c" X="-t_g" Z="h/2 + DimLineMargin" />

 <O T="Point" Y="0" X="-t_g" Z="0.9*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" />

 </O>

 <!--

 <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="DimLineMargin" Z="h/2" />

 <O T="Point" Y="w/2" X="DimLineMargin " Z="h/2" />

 <O T="Point" Y="0" X="h/2" Z="h/2" />

 </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 + DimLineMargin" X="0" Z="0" />

 <O T="Point" Y="w/2 + DimLineMargin" X="-t_g" Z="0" />

 <O T="Point" Y="w" X="-t_g/2" Z="0" />

 </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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-103

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-104

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-105

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-106

 </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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-107

CrossFrameLayout

CrossFrameLayout uses the Repeat object to generate multiple cross frames along a bridge at locations 

determined by the array parameter CrossFrameLocations.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-108

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-109

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

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-110

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-111

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">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-112

 <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" />

 <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="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" />

 <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="Diaphragm Section Data" />

 <P N="fpb" V="6.5" D="Fill Plate Width" Role="Input" Category="Diaphragm Section Data" />

 <P N="spt" V="3/8" D="Splice Plate Thickness" Role="Input" Category="Diaphragm Section Data" />

 <P N="spb" V="13.5" D="Splice Plate Width" Role="Input" Category="Diaphragm Section Data" />

 <P N="nR" V="11" D="Number of Bolt Hole Rows " Role="Input" Category="Diaphragm Section Data" />

 <P N="nC" V="4" D="Number of Bolt Hole Columns " Role="Input" Category="Diaphragm Section Data" />

 <P N="spc" V="2" D="Splice Plate Clearance" Role="Input" Category="Diaphragm Section Data" />

 <P N="spH" V="3" D="Horiz spacing between columns" />

 <P N="spW" V="3" D="Center column space" />

 <P N="spV" V="5" D="Vertspacing between rows" />

 <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="Stiffener and Plate Data" T="Group">

 <O N="Plate" T="Group">--> 

 <!--

 </O>

 <O N="JackingStiffener" T="Group">--> 

 <!--</O>--> 

 </O>

 <O N="Internal Drawing Parameters" T="Group">

 <P N="L" V="L" T="Text" D="Used for Left Side Stiffener only" />

 <P N="R" V="R" T="Text" D="Used for Right Side Stiffener only" />

 <P N="B" V="B" T="Text" D="Used for Both Sides Stiffener" />

 </O>

 <O N="DiaphramGirder" T="Volume" RZ="PI"> 

 <P N="Material" V="STEEL" T="Material" D="Material" />

 <O N="IGirderL" T="Surface" X="0" Y="bsw+gap" Z="gwpL">

 <O T="Point" X="-tfb/2" Z="-tft-tc" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-113

 <O T="Point" X="-tfb/2" Z="-tc" />

 <O T="Point" X="tfb/2" Z="-tc" />

 <O T="Point" X="tfb/2" Z="-tft-tc" />

 <O T="Point" X="tw/2" Z="-tc-tft" />

 <O T="Point" X="tw/2" Z="-gd+bc+bft" />

 <O T="Point" X="bfb/2" Z="-gd+bc+bft" />

 <O T="Point" X="bfb/2" Z="-gd+bc" />

 <O T="Point" X="-bfb/2" Z="-gd+bc" />

 <O T="Point" X="-bfb/2" Z="-gd+bc+bft" />

 <O T="Point" X="-tw/2" Z="-gd+bc+bft" />

 <O T="Point" X="-tw/2" Z="-tc-tft" />

 </O>

 <O N="IGirderR" T="Surface" X="0" Y="Length-bsw-gap" Z="gwpR">

 <O T="Point" X="-tfb/2" Z="-tft-tc" />

 <O T="Point" X="-tfb/2" Z="-tc" />

 <O T="Point" X="tfb/2" Z="-tc" />

 <O T="Point" X="tfb/2" Z="-tft-tc" />

 <O T="Point" X="tw/2" Z="-tc-tft" />

 <O T="Point" X="tw/2" Z="-gd+bc+bft+gwpL-gwpR" />

 <O T="Point" X="bfb/2" Z="-gd+bc+bft+gwpL-gwpR" />

 <O T="Point" X="bfb/2" Z="-gd+bc+gwpL-gwpR" />

 <O T="Point" X="-bfb/2" Z="-gd+bc+gwpL-gwpR" />

 <O T="Point" X="-bfb/2" Z="-gd+bc+bft+gwpL-gwpR" />

 <O T="Point" X="-tw/2" Z="-gd+bc+bft+gwpL-gwpR" />

 <O T="Point" X="-tw/2" Z="-tc-tft" />

 </O>

 </O>

 <O N="FillPlates" T="Group" RZ="PI">

 <P N="Opacity" V="0.9" />

 <P N="spV" V="(gd-bc-tc-tft-bft-2*spc)/(nR)" D="Bolt Spacing " />

 <P N="spA" V="spV-(gwpL-gwpR)/(nR-1)" D="Bolt Spacing Adjustment" />

 <O N="Fill Plate Left Front" T="SplicePlate" X="tw/2" Y="bsw+gap+fpb/2" Z="gwpL-tc-tft-spc-(gd-bc-tc-tft-bft2*spc)/2">

 <P N="w" V="fpb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc" D="height of the plate" />

 <P N="t" V="-fpt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC/2" D="number of columns" />

 <P N="spY" V="[spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spV,spV,spV,spV,spV,spV,spV,spV,spV,spV,spV]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Fill Plate Left Back" T="SplicePlate" X="-tw/2" Y="bsw+gap+fpb/2" Z="gwpL-tc-tft-spc-(gd-bc-tc-tft-bft2*spc)/2">

 <P N="w" V="fpb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc" D="height of the plate" />

 <P N="t" V="fpt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC/2" D="number of columns" />

 <P N="spY" V="[spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spV,spV,spV,spV,spV,spV,spV,spV,spV,spV,spV]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-114

 <O N="Fill Plate Right Front" T="SplicePlate" X="tw/2" Y="Length-bsw-gap-fpb/2" Z="gwpR-tc-tft-spc-(gd-bc-tctft-bft-2*spc-(gwpL-gwpR))/2">

 <P N="w" V="fpb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc-(gwpL-gwpR)" D="height of the plate" />

 <P N="t" V="-fpt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC/2" D="number of columns" />

 <P N="spY" V="[spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spA,spA,spA,spA,spA,spA,spA,spA,spA,spA,spA]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Fill Plate Right Back" T="SplicePlate" X="-tw/2" Y="Length-bsw-gap-fpb/2" Z="gwpR-tc-tft-spc-(gd-bc-tctft-bft-2*spc-(gwpL-gwpR))/2">

 <P N="w" V="fpb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc-(gwpL-gwpR)" D="height of the plate" />

 <P N="t" V="fpt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC/2" D="number of columns" />

 <P N="spY" V="[spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spA,spA,spA,spA,spA,spA,spA,spA,spA,spA,spA]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 </O>

 <O N="SplicePlates" T="Group" RZ="PI">

 <P N="Opacity" V="0.9" />

 <P N="spV" V="(gd-bc-tc-tft-bft-2*spc)/(nR)" D="Bolt Spacing " />

 <P N="spA" V="spV-(gwpL-gwpR)/(nR-1)" D="Bolt Spacing Adjustment" />

 <O N="Splice Plate Left Front" T="SplicePlate" X="tw/2+fpt" Y="bsw+gap" Z="gwpL-tc-tft-spc-(gd-bc-tc-tft-bft2*spc)/2">

 <P N="w" V="spb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc" D="height of the plate" />

 <P N="t" V="-spt" D="thickness ofthe plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC" D="number of columns" />

 <P N="spY" V="[spH,spW,spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spV,spV,spV,spV,spV,spV,spV,spV,spV,spV,spV]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Splice Plate Left Back" T="SplicePlate" X="-tw/2-fpt" Y="bsw+gap" Z="gwpL-tc-tft-spc-(gd-bc-tc-tft-bft2*spc)/2">

 <P N="w" V="spb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc" D="height of the plate" />

 <P N="t" V="spt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC" D="number of columns" />

 <P N="spY" V="[spH,spW,spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spV,spV,spV,spV,spV,spV,spV,spV,spV,spV,spV]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Splice Plate Right Front" T="SplicePlate" X="tw/2+fpt" Y="Length-bsw-gap" Z="gwpR-tc-tft-spc-(gd-bctc-tft-bft-2*spc-(gwpL-gwpR))/2">

 <P N="w" V="spb" D="width of the plate" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-115

 <P N="h" V="gd-bc-tc-tft-bft-2*spc-(gwpL-gwpR)" D="height of the plate" />

 <P N="t" V="-spt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC" D="number of columns" />

 <P N="spY" V="[spH,spW,spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spA,spA,spA,spA,spA,spA,spA,spA,spA,spA,spA]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 <O N="Splice Plate Right Back" T="SplicePlate" X="-tw/2-fpt" Y="Length-bsw-gap" Z="gwpR-tc-tft-spc-(gd-bc-tctft-bft-2*spc-(gwpL-gwpR))/2">

 <P N="w" V="spb" D="width of the plate" />

 <P N="h" V="gd-bc-tc-tft-bft-2*spc-(gwpL-gwpR)" D="height of the plate" />

 <P N="t" V="spt" D="thickness of the plate" />

 <P N="nrows" V="nR" D="number of rows" />

 <P N="ncols" V="nC" D="number of columns" />

 <P N="spY" V="[spH,spW,spH]" D="Horiz spacing between columns" />

 <P N="spZ" V="[spA,spA,spA,spA,spA,spA,spA,spA,spA,spA,spA]" D="Vert spacing between rows" />

 <P N="d" V="dia" D="Bolt Diameter" />

 <P N="c" V="edge" D="Distance from edge of Plate to CL of Bolt Hole" />

 </O>

 </O>

 <!--

 <O N="Bolts Right" T="akBoltGroup" X="tw/2+fpt+spt" Y="bsw+gap+spb/2-spc" Z="gwpR-tc-tft-2*spc+dia/4" 

RY="-PI/2" RZ="PI/2" AlignV="Orient" AlignH="Orient">

 <P N="Color" V="#ca2e2e" T="Text" />

 <P N="rows" V="nR" />

 <P N="cols" V="nC" />

 <P N="col_spacing" V="spH" />

 <P N="row_spacing" V="SplicePlates.spA" />

 <P N="thickness" V="tw+2*fpt+2*spt" D="distance between the inner surfaces of the nut and the head." />

 <P N="bolt_ds" V="dia" D="Diameter of the shaft of the bolt." />

 <P N="bolt_dh" V="1.4375" D="Diameter of the head of the bolt." />

 <P N="bolt_dn" V="1.4375" D="Diameter of the nut of the bolt." />

 <P N="bolt_th" V="15/32" D="Thickness of the head." />

 <P N="bolt_tn" V="46/64" D="Thickness of the nut." />

 </O>

 <O N="Bolts Left" T="akBoltGroup" X="tw/2+fpt+spt" Y="Length-bsw-gap+spb/2-spc" Z="gwpL-tc-tft2*spc+dia/4" RY="-PI/2" RZ="PI/2" AlignV="Orient" AlignH="Orient">

 <P N="Color" V="#ca2e2e" T="Text" />

 <P N="rows" V="nR" />

 <P N="cols" V="nC" />

 <P N="col_spacing" V="spH" />

 <P N="row_spacing" V="spV" />

 <P N="thickness" V="tw+2*fpt+2*spt" D="distance between the inner surfaces of the nut and the head." />

 <P N="bolt_ds" V="dia" D="Diameter of the shaft of the bolt." />

 <P N="bolt_dh" V="1.4375" D="Diameter of the head of the bolt." />

 <P N="bolt_dn" V="1.4375" D="Diameter of the nut of the bolt." />

 <P N="bolt_th" V="15/32" D="Thickness of the head." />

 <P N="bolt_tn" V="46/64" D="Thickness of the nut." />

 </O>--> 

 <!-- Draw Jacking Stiffeners

--> 

 <O T="Group" RZ="PI">

 <P N="Guard" V="JackingStiffOrient.NE.None" />

 <O T="Repeat" S="1" E="length(JackingStiffLoc)" I="1" CTRL="spi" spi="0">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-116

 <O N="Draw Right" T="Group">

 <P N="Guard" V="(JackingStiffOrient.EQ.R).OR.(JackingStiffOrient.EQ.B)" />

 <O T="VerticalStiffener" Y="JackingStiffLoc[spi-1]" X="tw/2" Z="-tctft+((gwpL+gwpR)/Length)*JackingStiffLoc[spi-1]" RZ="PI/2">

 <P N="Opacity" V="0.9" />

 <P N="t" V="JackingStiffT" D="Thickness" />

 <P N="w" V="JackingStiffW" D="Width" />

 <P N="h" V="JackingStiffHeight-((gwpL-gwpR)/Length)*JackingStiffLoc[spi-1]" D="Height" />

 <P N="clipV" V="JackingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="JackingStiffClipH" D="Horizontal clip width" />

 </O>

 </O>

 <O N="Draw Left" T="Group">

 <P N="Guard" V="(JackingStiffOrient.EQ.L).OR.(JackingStiffOrient.EQ.B)" />

 <O T="VerticalStiffener" Y="JackingStiffLoc[spi-1]" X="-tw/2" Z="-tctft+((gwpL+gwpR)/Length)*JackingStiffLoc[spi-1]" RZ="-PI/2">

 <P N="Opacity" V="0.9" />

 <P N="t" V="JackingStiffT" D="Thickness" />

 <P N="w" V="JackingStiffW" D="Width" />

 <P N="h" V="JackingStiffHeight-((gwpL-gwpR)/Length)*JackingStiffLoc[spi-1]" D="Height" />

 <P N="clipV" V="JackingStiffClipV" D="Vertical clip height" />

 <P N="clipH" V="JackingStiffClipH" D="Horizontal clip width" /> 

 </O>

 </O>

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-117

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 buildup 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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-118

ParamML Code

<O N="Deck" T="Project">

 <P N="Alignment" V="CSAlignment" T="Alignment" />

 <O N="ObjDesc" T="Group">

 <!--

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

--> 

 </O>

 <O N="Deck Parameters" T="Group">

 <P N="StartStation" V="0" />

 <P N="EndStation" V="120" />

 <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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS 

A-119

 <P N="numGirders" V="length(GirderOffset)" />

 <P N="HaunchWidth" V="[20, 20, 20, 22]" Role="Input" Category="Deck Parameters" />

 </O>

 <!-- created by Mike Bartholomew on 7/14/2015 --> 

 <O N="Deck" T="Group">

 <O N="Deck Section" T="Volume" AlignH="Warp" AlignV="Warp" AlignT="Warp">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.8" />

 <P N="SegmentsAlong" V="100" />

 <P N="SegmentsAround" V="1" />

 <P N="DrawBorder" V="1" />

 <!--

--> 

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

 <O T="Surface" X="EndStation">

 <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>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-120

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

 </O>

 <O T="Private">

 <O N="CSAlignment" T="Alignment">

 <P N="Station" V="0" />

 <P N="Azimuth" V="PI/2" />

 <O N="TangentSeg_1" T="Straight">

 <P N="Length" V="11700" />

 </O>

 <O N="Begin" T="ElevationPoint">

 <P N="Station" V="0" />

 <P N="Grade" V="0" />

 <P N="Elevation" V="0" />

 </O>

 <O N="Sta_6125" T="CrossSection">

 <P N="Station" V="0" />

 <P N="LeftEdgeToHCL" V="LeftEdge" />

 <P N="ElevationAtHCL" V="0" />

 <O N="LeftBarrier" T="CrossSectionSegment">

 <P N="Slope" V="-0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 <O N="LeftShoulder" T="CrossSectionSegment">

 <P N="Slope" V="0.02" />

 <P N="Width" V="48" />

 </O>

 <O N="LeftShy" T="CrossSectionSegment">

 <P N="Slope" V="-0.02" />

 <P N="Width" V="24" />

 </O>

 <O N="Lane" T="CrossSectionSegment">

 <P N="Slope" V="-0.08" />

 <P N="Width" V="180" />

 </O>

 <O N="RightShoulder" T="CrossSectionSegment">

 <P N="Slope" V="-0.08" />

 <P N="Width" V="144" />

 </O>

 <O N="RightBarrier" T="CrossSectionSegment">

 <P N="Slope" V="0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 </O>

 <O N="Sta_6588" T="CrossSection">

 <P N="Station" V="120" />

 <P N="LeftEdgeToHCL" V="272.25" />

 <P N="ElevationAtHCL" V="0" />

 <O N="LeftBarrier" T="CrossSectionSegment">

 <P N="Slope" V="-0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 <O N="LeftShoulder" T="CrossSectionSegment">

 <P N="Slope" V="0.04" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-121

 <P N="Width" V="48" />

 </O>

 <O N="LeftShy" T="CrossSectionSegment">

 <P N="Slope" V="0.04" />

 <P N="Width" V="24" />

 </O>

 <O N="Lane" T="CrossSectionSegment">

 <P N="Slope" V="-0.02" />

 <P N="Width" V="180" />

 </O>

 <O N="RightShoulder" T="CrossSectionSegment">

 <P N="Slope" V="-0.04" />

 <P N="Width" V="144" />

 </O>

 <O N="RightBarrier" T="CrossSectionSegment">

 <P N="Slope" V="0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 </O>

 </O>

 </O>

 <!-- 

 Horizontal Control Line is for debugging purposes only

--> 

 <O T="Private">

 <O N="Horizontal Control Line" T="Line">

 <P N="Alignment" V="CSAlignment" T="Alignment" />

 <P N="Color" V="#FF0000" T="Text" />

 <O N="Simple Line" T="Section">

 <P N="w" V="1" />

 <P N="h" V="1" />

 <O T="Shape">

 <O T="Point" X="-w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="h/2" />

 <O T="Point" X="-w/2" Y="h/2" />

 </O>

 </O>

 <O T="Point" X="StartStation" Z="0" Y="0" />

 <O T="Point" X="EndStation" Z="0" Y="0" />

 </O>

 </O>

 <!--

CADD Drawings

--> 

 <O N="Deck Cross Section - Dimensions" T="CADD" RX="PI/2" RZ="PI/2">

 <P N="w" V="[20.25, 48, 24, 180, 144, 20.25]" D="Cross Section Segment Widths" />

 <P N="numSectionWidths" V="length(w)" />

 <P N="margin" V="0.2" />

 <!--

 <P N="Slope" V="[-0.09876543, 0.02, -0.02, -0.08, -0.08, 0.09876543]" D="Cross Section Segment Slopes" />

--> 

 <O T="CADDShape">

 <P N="Color" V="#000000" T="Text" />

 <P N="Thickness" V="3" />

 <P N="IsClosed" V="T" T="Text" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-122

 <!--

 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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-123

 <O T="Point" Y="(GirderOffset[0]+GirderOffset[1])/2" Z="alignT(CSAlignment, Station, 

(GirderOffset[0]+GirderOffset[1])/2)" />

 <O T="Point" Y="(GirderOffset[0]+GirderOffset[1])/2" Z="0" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="TopDeckToTopGirderWeb = %d" T="Text" />

 <O T="Point" Y="GirderOffset[2]" Z="alignT(CSAlignment, Station, GirderOffset[2])-

TopDeckToTopGirderWeb" />

 <O T="Point" Y="GirderOffset[2]" Z="alignT(CSAlignment, Station, GirderOffset[2])" />

 <O T="Point" Y="GirderOffset[2]+40" Z="0" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="LeftDeck_t = %d" T="Text" />

 <O T="Point" Y="-LeftEdge" Z="alignT(CSAlignment, Station, -LeftEdge)-LeftDeck_t" />

 <O T="Point" Y="-LeftEdge" Z="alignT(CSAlignment, Station, -LeftEdge)" />

 <O T="Point" Y="-LeftEdge-20" Z="0" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="RightDeck_t = %d" T="Text" />

 <O T="Point" Y="RightEdge" Z="alignT(CSAlignment, Station, RightEdge)-RightDeck_t" />

 <O T="Point" Y="RightEdge" Z="alignT(CSAlignment, Station, RightEdge)" />

 <O T="Point" Y="RightEdge+20" Z="0" />

 </O>

 <O T="Repeat" index="S" CTRL="index" I="1" E="numGirders-1" S="0">

 <P N="CL" V="alignT(CSAlignment, StartStation, GirderOffset[index])" />

 <O T="CADDDimensionLine">

 <P N="Label" V="GirderOffset = %d" T="Text" />

 <P N="Guard" V="GirderOffset[index].GT.0" />

 <O T="Point" Y="0" Z="CL-MinDeck_t" />

 <O T="Point" Y="GirderOffset[index]" Z="CL-MinDeck_t" />

 <O T="Point" Y="0" Z="-120-index*20" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="GirderOffset = -%d" T="Text" />

 <P N="Guard" V="GirderOffset[index].LT.0" />

 <O T="Point" Y="GirderOffset[index]" Z="CL-MinDeck_t" />

 <O T="Point" Y="0" Z="CL-MinDeck_t" />

 <O T="Point" Y="0" Z="-120-index*20" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="HaunchWidth = %d" T="Text" />

 <O T="Point" Y="GirderOffset[index]-HaunchWidth[index]/2" Z="CL-TopDeckToTopGirderWeb-4" />

 <O T="Point" Y="GirderOffset[index]+HaunchWidth[index]/2" Z="CL-TopDeckToTopGirderWeb-4" />

 <O T="Point" Y="0" Z="-80" />

 </O>

 </O>

 </O>

 <O N="Haunch Detail" T="CADD" RX="PI/2" RZ="PI/2">

 <P N="w" V="[20.25, 48, 24, 180, 144, 20.25]" D="Cross Section Segment Widths" />

 <P N="numSectionWidths" V="length(w)" />

 <P N="margin" V="0.2" />

 <!--

 <P N="Slope" V="[-0.09876543, 0.02, -0.02, -0.08, -0.08, 0.09876543]" D="Cross Section Segment Slopes" />

--> 

 <O T="CADDShape">

 <P N="Color" V="#000000" T="Text" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-124

 <P N="Thickness" V="3" />

 <P N="IsClosed" V="T" T="Text" />

 <P N="GB" V="alignT(CSAlignment, StartStation, 0+0.5*HaunchWidth[1])" />

 <P N="CL" V="alignT(CSAlignment, StartStation, 0)" />

 <P N="GA" V="alignT(CSAlignment, StartStation, 0-0.5*HaunchWidth[1])" />

 <O T="Point" Z="alignT(CSAlignment, Station, 30)" Y="30" />

 <O T="Point" Z="alignT(CSAlignment, Station, 30)-MinDeck_t" Y="30" AlignTB="0" />

 <O T="Point" Z="GB-MinDeck_t" Y="0+0.5*HaunchWidth[1]" AlignTB="0" />

 <O T="Point" Z="CL-TopDeckToTopGirderWeb" Y="0+0.5*HaunchWidth[1]" AlignTB="0" />

 <O T="Point" Z="CL-TopDeckToTopGirderWeb" Y="0-0.5*HaunchWidth[1]" AlignTB="0" />

 <O T="Point" Z="GA-MinDeck_t" Y="0-0.5*HaunchWidth[1]" AlignTB="0" />

 <O T="Point" Z="alignT(CSAlignment, Station, -30)-MinDeck_t" Y="-30" AlignTB="0" />

 <O T="Point" Z="alignT(CSAlignment, Station, -30)" Y="-30" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" Y="0" Z="-30" />

 <O T="Point" Y="0" Z="5" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#0000FF" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" Y="0.375" Z="-25" />

 <O T="Point" Y="0.375" Z="-TopDeckToTopGirderWeb" />

 </O>

 <O T="CADDLine">

 <P N="Color" V="#0000FF" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" Y="-0.375" Z="-25" />

 <O T="Point" Y="-0.375" Z="-TopDeckToTopGirderWeb" />

 </O>

 <O T="CADDShape">

 <P N="Color" V="#0000FF" T="Text" />

 <P N="Thickness" V="2" />

 <P N="IsClosed" V="T" T="Text" />

 <O T="Point" Y="-HaunchWidth[1]/2" Z="-TopDeckToTopGirderWeb+1" />

 <O T="Point" Y="HaunchWidth[1]/2" Z="-TopDeckToTopGirderWeb+1" />

 <O T="Point" Y="HaunchWidth[1]/2" Z="-TopDeckToTopGirderWeb" />

 <O T="Point" Y="-HaunchWidth[1]/2" Z="-TopDeckToTopGirderWeb" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="HaunchWidth = %d" T="Text" />

 <O T="Point" Y="-HaunchWidth[1]/2" Z="alignT(CSAlignment, Station, 0)-TopDeckToTopGirderWeb" />

 <O T="Point" Y="HaunchWidth[1]/2" Z="alignT(CSAlignment, Station, 0)-TopDeckToTopGirderWeb" />

 <O T="Point" Y="0" Z="-35" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="MinDeck_t = %d" T="Text" />

 <O T="Point" Y="30" Z="alignT(CSAlignment, Station, 30)-MinDeck_t" />

 <O T="Point" Y="30" Z="alignT(CSAlignment, Station, 30)" />

 <O T="Point" Y="35" Z="0" />

 </O>

 <O T="CADDDimensionLine">

 <P N="Label" V="TopDeckToTopGirderWeb = %d" T="Text" />

 <O T="Point" Y="0" Z="alignT(CSAlignment, Station, 0)-TopDeckToTopGirderWeb" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-125

 <O T="Point" Y="0" Z="alignT(CSAlignment, Station, 0)" />

 <O T="Point" Y="40" Z="0" />

 </O>

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-126

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-127

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-128

 <!--

--> 

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

 <!--

 Ahead Station End Beam

--> 

 <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">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-129

 <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="StartStation+TypDeckLength" />

 <O N="Beam" T="Surface" X="StartStation+TypDeckLength+TransitionLength">

 <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="EndStation" />

 </O>

 </O>

 <O T="Private">

 <O N="CSAlignment" T="Alignment">

 <P N="Station" V="0" />

 <P N="Azimuth" V="PI/2" />

 <O N="TangentSeg_1" T="Straight">

 <P N="Length" V="11700" />

 </O>

 <O N="Begin" T="ElevationPoint">

 <P N="Station" V="0" />

 <P N="Grade" V="0" />

 <P N="Elevation" V="0" />

 </O>

 <O N="Sta_6125" T="CrossSection">

 <P N="Station" V="0" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-130

 <P N="LeftEdgeToHCL" V="LeftEdge" />

 <P N="ElevationAtHCL" V="0" />

 <O N="LeftBarrier" T="CrossSectionSegment">

 <P N="Slope" V="-0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 <O N="LeftShoulder" T="CrossSectionSegment">

 <P N="Slope" V="0.02" />

 <P N="Width" V="48" />

 </O>

 <O N="LeftShy" T="CrossSectionSegment">

 <P N="Slope" V="-0.02" />

 <P N="Width" V="24" />

 </O>

 <O N="Lane" T="CrossSectionSegment">

 <P N="Slope" V="-0.08" />

 <P N="Width" V="180" />

 </O>

 <O N="RightShoulder" T="CrossSectionSegment">

 <P N="Slope" V="-0.08" />

 <P N="Width" V="144" />

 </O>

 <O N="RightBarrier" T="CrossSectionSegment">

 <P N="Slope" V="0.09876543" />

 <P N="Width" V="20.25" />

 </O>

 </O>

 </O>

 </O>

 <!-- 

 Horizontal Control Line is for debugging purposes only

--> 

 <O T="Private">

 <O N="Horizontal Control Line" T="Line">

 <P N="Alignment" V="CSAlignment" T="Alignment" />

 <P N="Color" V="#FF0000" T="Text" />

 <O N="Simple Line" T="Section">

 <P N="w" V="1" />

 <P N="h" V="1" />

 <O T="Shape">

 <O T="Point" X="-w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="-h/2" />

 <O T="Point" X="w/2" Y="h/2" />

 <O T="Point" X="-w/2" Y="h/2" />

 </O>

 </O>

 <O T="Point" X="StartStation" Z="0" Y="0" />

 <O T="Point" X="EndStation" Z="0" Y="0" />

 </O>

 </O>

 <!--

CADD Drawings

--> 

 <O N="End Beam Section (between girders)" T="CADD">

 <O T="CADDShape" X="0" Y="0">

 <P N="Color" V="#000000" T="Text" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-131

 <P N="Thickness" V="2" />

 <P N="IsClosed" V="T" T="Text" />

 <!--

--> 

 <O T="Point" X="StartStation" Y="0" />

 <O T="Point" X="EndStation" Y="0" />

 <O T="Point" X="EndStation" Y="-MinDeck_t" />

 <O T="Point" X="EndStation-TypDeckLength" Y="-MinDeck_t" />

 <O T="Point" X="EndStation-TypDeckLength-TransitionLength" Y="-EndBeamDepth" />

 <O T="Point" X="StartStation" Y="-EndBeamDepth" C="0.75" />

 </O>

 <O T="CADDLine" X="0" Y="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="0" Y="-20" />

 <O T="Point" X="0" Y="10" />

 </O>

 <!--

 <O T="CADDLine" X="0" Y="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="GirderOffset[0]" Y="-15" />

 <O T="Point" X="GirderOffset[0]" Y="-75" />

 </O>

 <O T="CADDLine" X="0" Y="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="GirderOffset[1]" Y="-5" />

 <O T="Point" X="GirderOffset[1]" Y="-65" />

 </O>

 <O T="CADDLine" X="0" Y="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="GirderOffset[2]" Y="5" />

 <O T="Point" X="GirderOffset[2]" Y="-55" />

 </O>

 <O T="CADDLine" X="0" Y="0">

 <P N="Color" V="#FF0000" T="Text" />

 <P N="Thickness" V="2" />

 <O T="Point" X="GirderOffset[3]" Y="10" />

 <O T="Point" X="GirderOffset[3]" Y="-50" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="LeftEdgeToHCL = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL" Y="10" />

 <O T="Point" X="0" Y="10" />

 <O T="Point" X="0" Y="140" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="DeckWidth = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL" Y="10" />

 <O T="Point" X="DeckWidth-LeftEdgeToHCL" Y="10" />

 <O T="Point" X="0" Y="160" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-132

 <P N="Label" V="w[0] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]" Y="10" />

 <O T="Point" X="0" Y="120" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="w[1] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]" Y="10" />

 <O T="Point" X="0" Y="110" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="w[2] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]" Y="10" />

 <O T="Point" X="0" Y="120" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="w[3] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]+w[3]" Y="10" />

 <O T="Point" X="0" Y="110" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="w[4] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]+w[3]" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]+w[3]+w[4]" Y="10" />

 <O T="Point" X="0" Y="120" />

 </O>

 <O T="CADDDimensionLine" X="0" Y="0" RZ="0">

 <P N="Label" V="w[5] = %d" T="Text" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]+w[3]+w[4]" Y="10" />

 <O T="Point" X="-LeftEdgeToHCL+w[0]+w[1]+w[2]+w[3]+w[4]+w[5]" Y="10" />

 <O T="Point" X="0" Y="110" />

 </O>

--> 

 </O>

</O>
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-133

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.
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-134

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" />
APPENDIX A – LIBRARY OBJECT DEFINITIONS

A-135

 </O>

 <O T="Private">

 <O N="Reference" T="InsertionPoint" Size="2" />

 </O>

</O>
This page intentionally left blank.
Appendix B – Example Bridge Model
This page intentionally left blank.
APPENDIX B – EXAMPLE BRIDGE MODEL

B-1 

<O N="Ramp 119 S-N 8.19.15" T="Project">

<P N="Alignment" V="CSAlignment" T="Alignment" />

<O N="BridgeLayoutData" T="Group">

 <P N="EndUserInputFields" V="1" />

 <P N="CSAlignment" V="BL119S_N" T="Alignment" />

 <P N="Abut1Sta" V="6125*12" D="Station" UT="Length" UC="Layout" />

 <P N="Abut1Skew" V="0" D="Skew Angle" UT="Angle" UC="Layout" />

 <P N="Pier1Sta" V="6255*12" D="Station" UT="Length" UC="Layout" />

 <P N="Pier1 Skew" V="0" D="Skew Angle"UT="Angle" UC="Layout" />

 <P N="Pier2Sta" V="6435*12" D="Station" UT="Length" UC="Layout" />

 <P N="Pier2 Skew" V="0" D="Skew Angle" UT="Angle" UC="Layout" />

 <P N="Abut2Sta" V="6565*12" D="Station" UT="Length" UC="Layout" />

 <P N="Abut2Skew" V="0" D="Skew Angle" UT="Angle" UC="Layout" />

</O>

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

 <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 N="Geometry and Load" 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 N="Properties" T="Unit">

 <P N="Length" V="INCH" 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>

<O N="Materials" T="Group">

 <O N="A709 36" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="36" UT="Stress" UC="Properties" />

 <P N="Fu" V="58" UT="Stress" UC="Properties" />

 <P N="Type" V="steel" T="Text" />

 </O>

 <O N="A709 50" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="50" UT="Stress" UC="Properties" />

 <P N="Fu" V="65" UT="Stress" UC="Properties" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-2 

 <P N="Type" V="steel" T="Text" />

 </O>

 <O N="A709 50W" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="50" UT="Stress" UC="Properties" />

 <P N="Fu" V="70" UT="Stress" UC="Properties" />

 <P N="Type" V="steel" T="Text" />

 </O>

 <O N="A709 70W" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="70" UT="Stress" UC="Properties" />

 <P N="Fu" V="90" UT="Stress" UC="Properties" />

 <P N="Type" V="steel" T="Text" />

 </O>

 <O N="A615 60" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="60" UT="Stress" UC="Properties" />

 <P N="Fu" V="90" UT="Stress" UC="Properties" />

 <P N="Type" V="rebar" T="Text" />

 </O>

 <O N="A615 75" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="75" UT="Stress" UC="Properties" />

 <P N="Fu" V="100" UT="Stress" UC="Properties" />

 <P N="Type" V="rebar" T="Text" />

 </O>

 <O N="A706 60" T="Material">

 <P N="E" V="29000" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.3" />

 <P N="d" V="0.000284" UT="Density" UC="Properties" />

 <P N="a" V="0.0000065" />

 <P N="Fy" V="60" UT="Stress" UC="Properties" />

 <P N="Fu" V="80" UT="Stress" UC="Properties" />

 <P N="Type" V="rebar" T="Text" />

 </O>

 <O N="Concrete f'c 3 ksi" T="Material">

 <P N="E" V="3123.84" UT="Stress" UC="Properties" />

 <P N="Nu" V="0.17" />

 <P N="d" V="0.0000868" UT="Density" UC="Properties" />

 <P N="a" V="0.000008" />

 <P N="Fc28" V="3" UT="Stress" UC="Properties" />

 <P N="Type" V="concrete" T="Text" />

 </O>

 <O N="Concrete f'c 4 ksi" T="Material">

 <P N="E" V="3607.1" UT="Stress" UC="Properties" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-3 

 <P N="Nu" V="0.17" />

 <P N="d" V="0.0000868" UT="Density" UC="Properties" />

 <P N="a" V="0.000008" />

 <P N="Fc28" V="4" UT="Stress" UC="Properties" />

 <P N="Type" V="concrete" T="Text" />

 </O>

</O>

<O N="BL119S_N" T="Alignment">

 <P N="Station" V="72000" UT="Length" UC="Layout" />

 <P N="Azimuth" V="PI/2" UT="Angle" UC="Layout" />

 <O N="Curve_101" T="Circular">

 <P N="Length" V="4465.68" UT="Length" UC="Layout" />

 <P N="Radius" V="9168" UT="Length" UC="Layout" />

 <P N="Direction" V="Right" T="Text" />

 </O>

 <O N="TangentSeg_1" T="Straight">

 <P N="Length" V="7234.32" UT="Length" UC="Layout" />

 </O>

 <O N="Begin" T="ElevationPoint">

 <P N="Station" V="72000" UT="Length" UC="Layout" />

 <P N="Grade" V="0.0579" UT="Length" UC="Layout" />

 <P N="Elevation" V="12385.68" UT="Length" UC="Layout" />

 </O>

 <O N="VPC_1" T="ElevationPoint">

 <P N="Station" V="77100" UT="Length" UC="Layout" />

 <P N="Grade" V="0.0579" />

 <P N="Elevation" V="12680.97" UT="Length" UC="Layout" />

 </O>

 <O N="VPT_1" T="ElevationPoint">

 <P N="Station" V="83700" UT="Length" UC="Layout" />

 <P N="Grade" V="-0.005" />

 <P N="Elevation" V="12813.54" UT="Length" UC="Layout" />

 </O>

 <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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-4 

 <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_6372" T="CrossSection">

 <P N="Station" V="76465.68" 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>

 <O N="Sta_6444" T="CrossSection">

 <P N="Station" V="77332.08" 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.06" />

 <P N="Width" V="180" UT="Length" UC="Layout" />

 </O>

 <O N="Right Shoulder" T="CrossSectionSegment">

 <P N="Slope" V="-0.06" />

 <P N="Width" V="144" UT="Length" UC="Layout" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-5 

 </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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-6 

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

<O N="Straight" T="Alignment">

 <P N="Station" V="72000" UT="Length" UC="Layout" />

 <P N="Azimuth" V="PI/2" UT="Angle" UC="Layout" />

 <O N="TangentSeg_1" T="Straight">

 <P N="Length" V="11700" UT="Length" UC="Layout" />

 </O>

 <O N="Begin" T="ElevationPoint">

 <P N="Station" V="72000" UT="Length" UC="Layout" />

 <P N="Grade" V="0" />

 <P N="Elevation" V="12385.68" UT="Length" UC="Layout" />

 </O>

 <O N="VPT_1" T="ElevationPoint">

 <P N="Station" V="83700" UT="Length" UC="Layout" />

 <P N="Grade" V="0" />

 <P N="Elevation" V="12385.68" UT="Length" UC="Layout" />

 </O>

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

</O>

<O N="Sections" T="Group">

 <O N="L5X5X1over2" T="Section">

 <P N="Material" V="A709 50" T="Material" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-7 

 <O N="L5X5X1over2" T="Shape">

 <P N="d" V="5" D="Overall depth of member, or width of shorter leg for angles, or width of the outstanding legs of 

long legs back-to-back double angles, or the width of the back-to-back legs of short legs back-to-back double angles" 

UT="Length" UC="Section" />

 <P N="b" V="5" D="Width of the flat wall of square or rectangular HSS, or width of the longer leg for angles, or width of 

the back-to-back legs of long legs back-to-back double angles, or width of the outstanding legs of short legs back-to-back 

double angles" UT="Length" UC="Section" />

 <P N="t" V="0.5" D="Thickness of angle leg" UT="Length" UC="Section" />

 <O N="Properties" T="Group">

 <P N="Type" V="L" T="Text" />

 <P N="W" V="16.2" D="Nominal weight" UT="ForcePerLength" UC="Section" />

 <P N="A" V="4.79" D="Cross-sectional area" />

 <P N="kdes" V="1" D="Design distance from outer face of flange to web toe of fillet" UT="Length" UC="Section" />

 <P N="kdet" V="1" D="Detailing distance from outer face of flange to web toe of fillet" UT="Length" UC="Section" />

 <P N="x" V="1.42" D="Horizontal distance from designated member edge, as defined in the AISC Steel Construction 

Manual, to member centroidal axis" UT="Length" UC="Section" />

 <P N="y" V="1.42" D="Vertical distance from designated member edge, as defined in the AISC Steel Construction 

Manual, to member centroidal axis" UT="Length" UC="Section" />

 <P N="xp" V="0.479" D="Horizontal distance from designated member edge, as defined in the AISC Steel 

Construction Manual, to member plastic neutral axis" UT="Length" UC="Section" />

 <P N="yp" V="0.479" D="Vertical distance from designated member edge, as defined in the AISC Steel Construction 

Manual, to member plastic neutral axis" UT="Length" UC="Section" />

 <P N="bt" V="10" D="Slendernessratio for single angles" />

 <P N="Ix" V="11.3" D="Moment of inertia about the x-axis" UT="Inertia" UC="Section" />

 <P N="Zx" V="5.66" D="Plastic section modulus about the x-axis" UT="Volume" UC="Section" />

 <P N="Sx" V="3.15" D="Elastic section modulus about the x-axis" UT="Volume" UC="Section" />

 <P N="rx" V="1.53" D="Radius of gyration about the x-axis" UT="Length" UC="Section" />

 <P N="Iy" V="11.3" D="Moment of inertia about the y-axis" UT="Inertia" UC="Section" />

 <P N="Zy" V="5.66" D="Plastic section modulus about the y-axis" UT="Volume" UC="Section" />

 <P N="Sy" V="3.15" D="Elastic section modulus about the y-axis" UT="Volume" UC="Section" />

 <P N="ry" V="1.53" D="Radius of gyration about the y-axis -- with no separation for double angles back-to-back" 

UT="Length" UC="Section" />

 <P N="Iz" V="4.64" D="Moment of inertia about the z-axis" UT="Inertia" UC="Section" />

 <P N="rz" V="0.98" D="Radius of gyration about the z-axis" UT="Length" UC="Section" />

 <P N="Sz" V="2.29" D="Elastic section modulus about the z-axis" UT="Volume" UC="Section" />

 <P N="J" V="0.417" D="Torsional moment of inertia" UT="Inertia" UC="Section" />

 <P N="Cw" V="0.744" D="Warping constant" UT="Warp" UC="Section" />

 <P N="ro" V="2.73" D="Polar radius of gyration about the shear center" UT="Length" UC="Section" />

 <P N="H" V="0.63" D="Flexural constant" />

 <P N="tan(a)" V="1" D="Tangent of the angle between the y-y and z-z axes for single angles, where ? is shown in 

Figure 3" />

 <P N="Qs" V="1" D="Reduction factor for slender unstiffened compression elements" />

 <P N="Iw" V="18" D="Moment of inertia about the w-axis" UT="Inertia" UC="Section" />

 <P N="zA" V="3.36" D="Distance from point A to center of gravity along z-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="zB" V="0" D="Distance from point B to center of gravity along z-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="zC" V="3.36" D="Distance from point C to center of gravity along z-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="wA" V="1.7" D="Distance from point A to center of gravity along w-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="wB" V="2.01" D="Distance from point B to center of gravity along w-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="wC" V="1.7" D="Distance from point C to center of gravity along w-axis, as shown in Figure 3" UT="Length" 

UC="Section" />

 <P N="SwA" V="5.36" D="Elastic section modulus about the w-axis at point A on cross section, as shown in Figure 3" 

UT="Volume" UC="Section" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-8 

 <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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-9 

 </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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-10

 <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="84.32" />

<P N="Width" V="10" />

<P N="Length" V="36" />

<P N="PedSlope" V="0.069" />

<P N="TopSlope" V="-0.0567" />

 </O>

 </O>

 <O T="Abutment U-Shaped Footing" RZ="-PI/2">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="Length" V="484.5" D="Footing Length (Transverse to Bridge Alignment)" />

 <P N="Width" V="108" D="Footing Width (Along Bridge Alignment)" />

 <P N="WWA_Length" V="384" D="Footing Length (Transverse to Bridge Alignment)" />

 <P N="WWA_Width" V="108" D="Footing Width (Along Bridge Alignment)" />

 <P N="WWB_Length" V="324" D="Footing Length (Transverse to Bridge Alignment)" />

 <P N="WWB_Width" V="108" D="Footing Width (Along Bridge Alignment)" />

 <P N="Depth" V="30" D="Footing Depth" />

 <P N="BotElev" V="-StemH-Depth" D="Footing Bottom Elevation" />

 <P N="CL_Bearing" V="54" D="CL Bearing to Front Edge of Footing" />

 <P N="HCL_Offset" V="484.5/2" D="HCL to Left Edge of Footing" />

 </O>

 <O N="Pot Bearings" T="Group" Z="-1.25">

 <P N="potlocs" V="[-171, -57, 57, 171]" />

 <P N="PedSlope" V="-0.069" />

 <O T="Pot Bearing" X="12" Y="potlocs[0]" Z="-potlocs[0]*PedSlope+PedestalDepth[3]">

<P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

<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 T="Pot Bearing" X="12" Y="potlocs[1]" Z="-potlocs[1]*PedSlope+PedestalDepth[2]">

<P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

<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 T="Pot Bearing" X="12" Y="potlocs[2]" Z="-potlocs[2]*PedSlope+PedestalDepth[1]">

<P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

<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 T="Pot Bearing" X="12" Y="potlocs[3]" Z="-potlocs[3]*PedSlope+PedestalDepth[0]">

<P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-11

<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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-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="PI/2" 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="1*74.75">

<P N="Batter" V="0" 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="-1*74.75">

<P N="Batter" V="0" 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="-PI/2" 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-1*69" Y="3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI/2" 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="-108" Y="-3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" 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="-108" Y="-2*74.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="0" D="Batter Orientation" />

<P N="Beta" V="PI/2" 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="-180" Y="-3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" 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-2*69" Y="3*74.75">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-13

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI/2" 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-2*69" Y="2*74.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="0" D="Batter Orientation" />

<P N="Beta" V="PI/2" 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-3*69" Y="3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI/2" 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="-252" Y="-3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" 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="-252" Y="-2*74.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="0" D="Batter Orientation" />

<P N="Beta" V="PI/2" 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-4*69" Y="3*74.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI/2" 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-4*69" Y="2*74.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="0" D="Batter Orientation" />

<P N="Beta" V="PI/2" D="Web Orientation" />

<P N="L" V="150" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 </O>

 <O N="Wing Walls" T="Group">

 <O T="Wing Wall (BB)" X="-StemWidth/2" Y="-AbutLength/2+16" Z="-StemH" RZ="PI">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="239.5" D="Total Wall Longitudinal Length" />

<P N="DistanceToCrown" V="174" D="Distance from left side to Crown" />

<P N="Base_Width" V="32" D="Wall Width at Base" />

<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-14

 <P N="Top_Wall_Height" V="143.42+3" D="Height of wall at higher end" />

 <P N="Crown_Height" V="133.26+3" D="Height of wall at crown" />

 <P N="Lower_Wall_Height" V="119.1+3" D="Height of wall at lower end" />

 <P N="Skew" V="0.2" D="Skew angle of end of wall" />

 <P N="Slope" V="1" D="Wall sloped to the '1' for Right or '2' for Left" />

 <P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" />

 </O>

 <O T="Wing Wall (BB)" X="-StemWidth/2" Y="AbutLength/2-16" Z="-StemH" RZ="PI">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="Length" V="299.5" D="Total Wall Longitudinal Length" />

 <P N="DistanceToCrown" V="234" D="Distance from left side to Crown" />

 <P N="Base_Width" V="32+2.404" D="Wall Width at Base" />

 <P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />

 <P N="Top_Wall_Height" V="167.86+2" D="Height of wall at higher end" />

 <P N="Crown_Height" V="155.22+2" D="Height of wall at crown" />

 <P N="Lower_Wall_Height" V="141.06+2" D="Height of wall at lower end" />

 <P N="Skew" V="0.2" D="Skew angle of end of wall" />

 <P N="Slope" V="2" D="Wall sloped to the '1' for Right or '2' for Left" />

 <P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" />

 </O>

 </O>

 <O N="Bridge Rail" T="Group" AlignH="Warp" AlignV="Warp" Y="-AbutOffset" Z="-Abut1WorkPointOffset-0.75">

 <O T="PA Turnpike Barrier New" X="-6">

 <P N="Station" V="-176-24" />

 <P N="Length" V="177+24" />

 <P N="Offset" V="144" />

 <P N="type" V="RIGHT" />

 </O>

 <O T="PA Turnpike Barrier New" X="-6">

 <P N="Station" V="-227-24" />

 <P N="Length" V="225+24" />

 <P N="Offset" V="-252" />

 <P N="type" V="LEFT" />

 </O>

 </O>

 </O>

 <O N="Abut2" T="Group">

 <O N="Abut2 Walls" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="AbutOffset" Z="Abut2WorkPointOffset">

 <O T="Abutment Backwall 2" RZ="PI" Y="-109.125">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="S1" V="Abut2Sta+12" />

 <P N="AbutLength" V="218.25" />

 <P N="StemWidth" V="60" />

 <P N="BackWallHeight" V="97.5" />

 <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="0" />

 <P N="PedSlope" V="0" />

 <P N="ADJLF" V="alignT(Alignment, S1, 13)" />

 <P N="ADJRF" V="-2+alignT(Alignment, S1, -AbutLength+AbutOffset)" />

 <P N="ADJLM" V="ADJLF" />

 <P N="ADJRM" V="ADJRF" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-15

 <P N="ADJLB" V="ADJLF" />

 <P N="ADJRB" V="ADJRF" />

 </O>

 <O T="Abutment Backwall 2" RZ="PI" Y="109.125">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="S1" V="Abut2Sta+12" />

 <P N="AbutLength" V="218.25" />

 <P N="StemWidth" V="60" />

 <P N="BackWallHeight" V="97.8" />

 <P N="BackWallThick" V="24" />

 <P N="BackWallNotchH" V="9" />

 <P N="BackWallNotchV" V="20" />

 <P N="stubR" V="0" />

 <P N="stubL" V="20.25" />

 <P N="PedSlope" V="0" />

 <P N="ADJLF" V="-10+alignT(Alignment, S1, -AbutLength-AbutOffset)" />

 <P N="ADJRF" V="alignT(Alignment, S1, 13)" />

 <P N="ADJLM" V="ADJLF" />

 <P N="ADJRM" V="ADJRF" />

 <P N="ADJLB" V="ADJLF" />

 <P N="ADJRB" V="ADJRF" />

 </O>

 <O T="Stem Abutment (BB)" RZ="PI" Y="-6">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="AbutLength" V="218.25" D="Total Abut Length" />

 <P N="StemWidth" V="60" D="Abut Width" />

 <P N="PedSlope" V="0" D="Slope of surface for pedestal mounts" />

 <P N="StemH" V="206.04" D="Left Min Depth" />

 <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="[9.6,9.84]" D="Depth of Girder Supports" />

 <P N="PedestalLocations1" V="[57-6, -57-6]" 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" />

 <P N="BackWallHeight" V="85" />

 <P N="BackWallThick" V="24" />

 <P N="BackWallNotchH" V="9" />

 <P N="BackWallNotchV" V="20" />

 </O>

 <O T="Stem Abutment (BB)" RZ="PI" Y="-109.125*2-6">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="AbutLength" V="218.25" D="Total Abut Length" />

 <P N="StemWidth" V="60" D="Abut Width" />

 <P N="PedSlope" V="0" D="Slope of surface for pedestal mounts" />

 <P N="StemH" V="272.04" D="Left Min Depth" />

 <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="[1.56,6.48]" D="Depth of Girder Supports" />

 <P N="PedestalLocations1" V="[57+6,-57+6]" 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" />

 <P N="BackWallHeight"V="85" />

 <P N="BackWallThick" V="24" />

 <P N="BackWallNotchH" V="9" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-16 

 <P N="BackWallNotchV" V="20" />

 </O>

 <O N="Pot Bearings" T="Group" Y="-3">

<P N="potlocs2" V="[57, -57, -171, -285]" />

<P N="PedSlope" V="0" />

<P N="grade" V="BL119S_N.VPC_1.Grade" />

<O T="Pot Bearing" X="-12" Y="potlocs2[0]" Z="9.6">

 <P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

 <P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

 <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="Abut2Sta" />

</O>

<O T="Pot Bearing" X="-12" Y="potlocs2[1]" Z="9.84">

 <P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

 <P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

 <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="Abut2Sta" />

</O>

<O T="Pot Bearing" X="-12" Y="potlocs2[2]" Z="6.48">

 <P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

 <P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

 <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="Abut2Sta" />

</O> 

<O T="Pot Bearing" X="-12" Y="potlocs2[3]" Z="1.56">

 <P N="w" V="16.75" D="Width of the masonry plate (B), in." Role="Input" />

 <P N="h" V="34.5" D="Length of the masonry plate (C), in." Role="Input" />

 <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="Abut2Sta" />

</O>

 </O>

 </O>

 <O N="Cheek Walls" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="AbutOffset" Z="Abut2WorkPointOffset">

 <O T="Cheekwall" Y="AbutLength-Width/2" Z="2" X="-StemWidth/2">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Height" V="87.96+7.5" />

<P N="Width" V="10" />

<P N="Length" V="36" />

<P N="PedSlope" V="0" />

<P N="TopSlope" V="-0.0433" />

 </O>

 <O T="Cheekwall" Y="-AbutLength+Width/2" Z="2" X="-StemWidth/2">

<P N="Color" V="#D3D3D3" T="Text" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-17

 <P N="Opacity" V="0.9" />

 <P N="Height" V="80.2+7.5" />

 <P N="Width" V="10" />

 <P N="Length" V="36" />

 <P N="PedSlope" V="0" />

 <P N="TopSlope" V="-0.0433" />

 </O>

 </O>

 <O N="Abut2a Footings" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="-AbutOffset-6-109.125*2" Z="Abut2WorkPointOffset-5.5">

 <O T="Rectangular Footing" X="24+142+14" Y="115.125-147/2">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="Length" V="198" D="Footing Length (Along Bridge Alignment)" />

 <P N="Width" V="147" D="Footing Width (Transverse to Bridge Alignment)" />

 <P N="Depth" V="30" D="Footing Depth" />

 <P N="BotElev" V="-206.04+54" D="Footing Bottom Elevation" />

 </O>

 <O T="Rectangular Footing" X="24">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="Length" V="162" D="Footing Length (Along Bridge Alignment)" />

 <P N="Width" V="230.25" D="Footing Width (Transverse to Bridge Alignment)" />

 <P N="Depth" V="30" D="Footing Depth" />

 <P N="BotElev" V="-206.04-30" D="Footing Bottom Elevation" />

 </O>

 </O>

 <O N="Abut 2a Piles" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="AbutOffset-109.125*2-18" Z="Abut2WorkPointOffset-206.04-30+12-5.5">

 <O T="Pile (BB)" X="12-48" Y="-0.5*58.75">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="-1.5*58.75">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="0.5*58.75">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="1.5*58.75">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-18

 <O T="Pile (BB)" X="12-48+63" Y="-0.5*58.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+63" Y="-1.5*58.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" /> 

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+63" Y="0.5*58.75">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+63" Y="1.5*58.75">

<P N="Color" V="#ff0000" T="Text" />

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63" Y="-0.5*58.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63" Y="-1.5*58.75">

<P N="Batter" V="0" 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="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63" Y="1.5*58.75">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="384" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36" Y="1.5*58.75" Z="84">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="384+84" D="Length" />

<P N="PileSection" V="pile" T="Section" D="Length" />

 </O>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-19

 <O T="Pile (BB)" X="12-48+2*63+36+69" Y="1.5*58.75" Z="84">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="PI" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36+2*69" Y="1.5*58.75" Z="84">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="PI" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36" Y="1.5*58.75-55.5" Z="84">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="PI" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36+69" Y="1.5*58.75-55.5" Z="84">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36+2*69" Y="1.5*58.75-55.5" Z="84">

 <P N="Batter" V="PileBatter" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="0" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36+2*69" Y="1.5*58.75-55.5*2" Z="84">

 <P N="Batter" V="0" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="PI/2" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 <O T="Pile (BB)" X="12-48+2*63+36" Y="1.5*58.75-55.5*2" Z="84">

 <P N="Batter" V="0" D="Batter Slope H:V" />

 <P N="Phi" V="PI/2" D="Batter Orientation" />

 <P N="Beta" V="PI/2" D="Web Orientation" />

 <P N="L" V="384+84" D="Length" />

 <P N="PileSection" V="pile" T="Section" D="Length" />

 </O>

 </O>

 <O N="Abut2b Footings" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="-AbutOffset" Z="Abut2WorkPointOffset+1">

 <O T="Rectangular Footing" RZ="PI/2" X="114-54-12-3">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Opacity" V="0.9" />

 <P N="Length" V="260.25" D="Footing Length (Transverse to Bridge Alignment)" />

 <P N="Width" V="204" D="Footing Width (Along Bridge Alignment)" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-20

<P N="Depth" V="48" D="Footing Depth" />

 <P N="BotElev" V="-272.04-48" D="Footing Bottom Elevation" />

 </O>

 <O T="Rectangular Footing" RZ="0" X="132+60" Y="-34">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="156" D="Footing Length (Transverse to Bridge Alignment)" />

<P N="Width" V="192" D="Footing Width (Along Bridge Alignment)" />

<P N="Depth" V="30" D="Footing Depth" />

<P N="BotElev" V="-272.04" D="Footing Bottom Elevation" />

 </O>

 </O>

 <O N="Abut 2b Piles" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" 

Y="AbutOffset+109.125*2-24" Z="Abut2WorkPointOffset-272-48+12+1">

 <O T="Pile (BB)" X="12-48" Y="-0*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="-1*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="-2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="1*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48" Y="2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+54" Y="-0*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+54" Y="-1*56">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-21

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+54" Y="-2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+54" Y="1*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+54" Y="2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+2*54" Y="0*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+2*54" Y="-2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+2*54" Y="2*56">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54" Y="0*56">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54" Y="-2*56">

<P N="Batter" V="0" D="Batter Slope H:V" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-22

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54" Y="2*56">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="PI" D="Batter Orientation" />

<P N="Beta" V="0" D="Web Orientation" />

<P N="L" V="300" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36" Y="-2*56" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

 <P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36+48" Y="-2*56" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36+48*2" Y="-2*56" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36" Y="-2*56+78" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36+48" Y="-2*56+78" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

 <P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36+48*2" Y="-2*56+78" Z="48">

<P N="Batter" V="PileBatter" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36" Y="-2*56+78*2" Z="48">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-23

<P N="Beta" V="PI/2" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 <O T="Pile (BB)" X="12-48+3*54+36+48*2" Y="-2*56+78*2" Z="48">

<P N="Batter" V="0" D="Batter Slope H:V" />

<P N="Phi" V="-PI/2" D="Batter Orientation" />

<P N="Beta" V="PI/2" D="Web Orientation" />

<P N="L" V="300+48" D="Length" />

<P N="PileSection" V="pile" T="Section" />

 </O>

 </O>

 <O N="Wing Walls" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" X="Abut2Sta+12" Y="-

AbutOffset-109.125" Z="Abut2WorkPointOffset+1">

 <O T="Wing Wall (BB)" X="81" Y="2*109.125-39/2" Z="-206.04+54+30-5" RZ="0">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="198" D="Total Wall Longitudinal Length" />

<P N="DistanceToCrown" V="198" D="Distance from left side to Crown" />

<P N="Base_Width" V="39" D="Wall Width at Base" />

<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />

<P N="Top_Wall_Height" V="(9.12/239.5)*51+210+8.5" D="Height of wall at higher end" />

<P N="Crown_Height" V="9.12+210+8.5" D="Height of wall at crown" />

<P N="Lower_Wall_Height" V="9.12+210+7.5" D="Height of wall at lower end" />

<P N="Skew" V="0" D="Skew angle of end of wall" />

<P N="Slope" V="1" D="Wall sloped to the '1' for Right or '2' for Left" />

<P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" Category="WingWallData" />

 </O>

 <O T="Wing Wall (BB)" Y="-2*109.125+48/2" Z="-272.04+30-5" RZ="0" X="114">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="155.5" D="Total Wall Longitudinal Length" />

<P N="DistanceToCrown" V="155.5" D="Distance from left side to Crown" />

<P N="Base_Width" V="48" D="Wall Width at Base" />

<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />

<P N="Top_Wall_Height" V="(10.68/239.5)*84+322.8+8.5" D="Height of wall at higher end" />

<P N="Crown_Height" V="10.68+322.8+8" D="Height of wall at crown" />

<P N="Lower_Wall_Height" V="10.68+322.8+7.5" D="Height of wall at lower end" /> 

<P N="Skew" V="0" D="Skew angle of end of wall" />

<P N="Slope" V="2" D="Wall sloped to the '1' for Right or '2' for Left" />

<P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" Category="WingWallData" />

 </O>

 </O>

 <O N="Step Footing WingWall C" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" 

X="Abut2Sta+12" Y="AbutOffset" Z="Abut2WorkPointOffset">

 <O T="Rectangular Footing" RZ="0" X="9*12-15" Y="-2*109.125+147/2-13" Z="2">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="24" D="Footing Length (Transverse to Bridge Alignment)" />

<P N="Width" V="147" D="Footing Width (Along Bridge Alignment)" />

<P N="Depth" V="54" D="Footing Depth" />

<P N="BotElev" V="-272.04+36+24" D="Footing Bottom Elevation" />

 </O>

 </O>

 <O N="Step Footing Abut West" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" 

X="Abut2Sta+12" Y="-AbutOffset" Z="Abut2WorkPointOffset">

 <O T="Rectangular Footing" RZ="0" X="24" Y="-109.125-10.5">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-24

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="162" D="Footing Length (Transverse to Bridge Alignment)" />

<P N="Width" V="21" D="Footing Width (Along Bridge Alignment)" />

<P N="Depth" V="36" D="Footing Depth" />

<P N="BotElev" V="-272.04" D="Footing Bottom Elevation" />

 </O>

 </O>

 <O N="Short Wing Walls" T="Group" RZ="Abut2Skew" AlignH="Orient" AlignV="None" AlignT="None" 

X="Abut2Sta+12" Y="-AbutOffset-109.125" Z="Abut2WorkPointOffset+1">

 <O T="Wing Wall (BB)" X="30" Y="2*109.125-46/2" Z="-206.04-5" RZ="0">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="51" D="Total Wall Longitudinal Length" />

<P N="DistanceToCrown" V="51" D="Distance from left side to Crown" />

<P N="Base_Width" V="46" D="Wall Width at Base" />

<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />

<P N="Top_Wall_Height" V="210+30+54+12.5" D="Height of wall at higher end" />

<P N="Crown_Height" V="(9.12/239.5)*51+210+30+54+12.5" D="Height of wall at crown" />

<P N="Lower_Wall_Height" V="(9.12/239.5)*51+210+30+54+12.5" D="Height of wall at lower end" />

<P N="Skew" V="0" D="Skew angle of end of wall" />

<P N="Slope" V="1" D="Wall sloped to the '1' for Right or '2' for Left" />

<P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" Category="WingWallData" />

 </O>

 <O T="Wing Wall (BB)" Y="-2*109.125+51/2" Z="-272.04-5" RZ="0" X="30">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Length" V="84" D="Total Wall Longitudinal Length" />

<P N="DistanceToCrown" V="84" D="Distance from left side to Crown" />

<P N="Base_Width" V="51" D="Wall Width at Base" />

<P N="Top_Width" V="1/12" D="Ratio of Wall Width at Top to Height" />

<P N="Top_Wall_Height" V="322.8+30+12.5" D="Height of wall at higher end" />

<P N="Crown_Height" V="(10.68/239.5)*84+322.8+30+12.5" D="Height of wall at crown" />

<P N="Lower_Wall_Height" V="(10.68/239.5)*84+322.8+30+12.5" D="Height of wall at lower end" />

<P N="Skew" V="0" D="Skew angle of end of wall" />

<P N="Slope" V="2" D="Wall sloped to the '1' for Right or '2' for Left" />

<P N="rSlope" V="0.0988" D="Slope of rail on top of wall." Role="Input" Category="WingWallData" />

 </O>

 </O>

 <O N="Bridge Rail" T="Group" AlignH="Warp" AlignV="Warp" X="Abut2Sta+12" Y="0" Z="-0.75">

 <O T="PA Turnpike Barrier New" X="6">

<P N="Station" V="0" />

<P N="Length" V="239.5+24" />

<P N="Offset" V="144" />

<P N="type" V="RIGHT" />

 </O>

 <O T="PA Turnpike Barrier New" X="6">

<P N="Station" V="0" />

<P N="Length" V="249+24" />

<P N="Offset" V="-252" />

<P N="type" V="LEFT" />

 </O>

 </O>

 </O>

 </O>

 <O N="Piers" T="Group">

 <O N="Column and Foundation Data" T="Group">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-25

 <P N="EndUserInputFields" V="1" />

 <P N="Pier1Sta" V="75060" D="" />

 <P N="Pier2Sta" V="77220" D="" />

 <P N="Pier1Height" V="25.48*12" D="" />

 <P N="Pier2Height" V="41.6*12" D="" />

 <P N="PierOffset" V="-54" D="" />

 <P N="CIDH_Space" V="81" D="" />

 <P N="ColumnH" V="60" D="" />

 <P N="ColumnV" V="120" D="" />

 <P N="FootT" V="48" D="" />

 <P N="FootV" V="246" D="" />

 <P N="FootL" V="84" D="" />

 <P N="Pier1WorkPoint" V="alignT(CSAlignment,Pier1Sta,PierOffset)-80.375-8.6875" D="" />

 <P N="Pier2WorkPoint" V="alignT(CSAlignment,Pier2Sta,PierOffset)-80.375-6.5" D="" />

 <P N="CIDHDia" V="54" D="" />

 <P N="CIDHLength" V="168" D="" />

 <O N="circ" T="Section">

 <O T="Circle">

 <P N="Radius" V="CIDHDia/2" />

 </O>

 </O>

 </O>

 <O N="Pier1" T="Group" X="Pier1Sta" Y="PierOffset" Z="Pier1WorkPoint">

 <O T="Hammerhead Pier Cap (BB)" Z="-20.25" AlignH="Orient" AlignV="None" AlignT="None">

 <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="56" D="Left Min Depth" />

 <P N="ColumnExt" V="56" 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="56" D="Right Min Depth" />

 <P N="MaxD_L" V="106" D="Right Max Depth" />

 <P N="EndUserInputFields" V="1" />

 <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.0688" D="Cross Slope to left of Crown" />

 <P N="PCrossSlopeR" V="0.0688" D="Cross Slope to Right of Crown" />

 <P N="PedestalDepth" V="[4.82,7.41,6.15,4.90]" />

 <P N="PedestalTopWidth" V="56" D="Top Width of the Girder Supports" />

 <P N="PedestalBotWidth" V="56" 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="-16.5">

 <P N="potlocs" V="PedestalLocations1" />

 <P N="SupportSlope" V="-0.0688" />

 <O T="Pot Bearing" X="0" Y="potlocs[0]" Z="-potlocs[0]*SupportSlope+4.90">

 <P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />

 <P N="h" V="45" D="Length of the masonry plate (C), in." Role="Input" />

 <P N="t" V="3.5" D="Thickness of the masonry plate (A), in." Role="Input" />

 <P N="D" V="19.125" D="Distance of bolt holes from CL (D), in." Role="Input" />

 <P N="r" V="1.25" D="Radius of bolt holes, in." Role="Input" />

 <P N="c" V="-2.5625" D="Depth of piston compression (to match girder elevation), in." Role="Input" />

 <P N="Sta" V="Pier1Sta" />

 </O>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-26

 <O T="Pot Bearing" X="0" Y="potlocs[1]" Z="-potlocs[1]*SupportSlope+6.15">

<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="45" D="Length of the masonry plate (C), in." Role="Input" />

<P N="t" V="3.5" D="Thickness of the masonry plate (A), in." Role="Input" />

<P N="D" V="19.125" D="Distance of bolt holes from CL (D), in." Role="Input" />

<P N="r" V="1.25" D="Radius of bolt holes, in." Role="Input" />

<P N="c" V="-2.5625" D="Depth of piston compression (to match girder elevation), in." Role="Input" />

<P N="Sta" V="Pier1Sta" />

 </O>

 <O T="Pot Bearing" X="0" Y="potlocs[2]" Z="-potlocs[2]*SupportSlope+7.41">

<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="45" D="Length of the masonry plate (C), in." Role="Input" />

<P N="t" V="3.5" D="Thickness of the masonry plate (A), in." Role="Input" />

<P N="D" V="19.125" D="Distance of bolt holes from CL (D), in." Role="Input" />

<P N="r" V="1.25" D="Radius of bolt holes, in." Role="Input" />

<P N="c" V="-2.5625" D="Depth of piston compression (to match girder elevation), in." Role="Input" />

<P N="Sta" V="Pier1Sta" />

 </O>

 <O T="Pot Bearing" X="0" Y="potlocs[3]" Z="-potlocs[3]*SupportSlope+4.82">

<P N="w" V="21.75" D="Width of the masonry plate (B), in." Role="Input" />

<P N="h" V="45" D="Length of the masonry plate (C), in." Role="Input" />

<P N="t" V="3.5" D="Thickness of the masonry plate (A), in." Role="Input" />

<P N="D" V="19.125" D="Distance of bolt holes from CL (D), in." Role="Input" />

<P N="r" V="1.25" D="Radius of bolt holes, in." Role="Input" />

<P N="c" V="-2.5625" D="Depth of piston compression (to match girder elevation), in." Role="Input" />

<P N="Sta" V="Pier1Sta" />

 </O>

 </O>

 <O T="Rectangular Column" AlignH="Orient" AlignV="None" AlignT="None">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Depth" V="ColumnH" D="Column Depth (Along Bridge Alignment)" />

 <P N="Width" V="ColumnV" D="Column Width (Transverse to Bridge Alignment)" />

 <P N="TopElev" V="Pier1WorkPoint-95" D="Column Top Elevation" />

 <P N="BotElev" V="Pier1WorkPoint-Pier1Height" D="Column Bottom Elevation" />

 </O>

 <O T="Rectangular Footing" AlignH="Orient" AlignV="None" AlignT="None">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Length" V="Piers.FootL" D="Footing Length (Along Bridge Alignment)" />

 <P N="Width" V="Piers.FootV" D="Footing Width (Transverse to Bridge Alignment)" />

 <P N="Depth" V="Piers.FootT" D="Footing Depth" />

 <P N="BotElev" V="Pier1WorkPoint-Pier1Height-Piers.FootT" D="Footing Bottom Elevation" />

 </O>

 <O N="Piles" T="Group" AlignH="Orient" AlignV="None" AlignT="None">

 <O T="Volume">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Section" V="circ" T="Section" />

<O T="Point" Y="CIDH_Space" Z="Pier1WorkPoint-Pier1Height-Piers.FootT" X="0" />

<O T="Point" Y="CIDH_Space" Z="Pier1WorkPoint-Pier1Height-Piers.FootT-CIDHLength" X="0" />

 </O>

 <O T="Volume">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Section" V="circ" T="Section" />

<O T="Point" Y="-CIDH_Space" Z="Pier1WorkPoint-Pier1Height-Piers.FootT" X="0" />

<O T="Point" Y="-CIDH_Space" Z="Pier1WorkPoint-Pier1Height-Piers.FootT-CIDHLength" X="0" />

 </O>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-27

 </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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-28

 <O T="Pot Bearing" X="0" Y="potlocs[3]" Z="-potlocs[3]*-.05367+4.30">

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

 <O T="Rectangular Column" AlignH="Orient" AlignV="None" AlignT="None" RZ="0">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Depth" V="ColumnH" D="Column Depth (Along Bridge Alignment)" />

 <P N="Width" V="ColumnV" D="Column Width (Transverse to Bridge Alignment)" />

 <P N="TopElev" V="Pier2WorkPoint-95" D="Column Top Elevation" />

 <P N="BotElev" V="Pier2WorkPoint-Pier2Height" D="Column Bottom Elevation" />

 </O>

 <O T="Rectangular Footing" AlignH="Orient" AlignV="None" AlignT="None" RZ="0">

 <P N="Color" V="#D3D3D3" T="Text" />

 <P N="Length" V="Piers.FootL" D="Footing Length (Along Bridge Alignment)" />

 <P N="Width" V="Piers.FootV" D="Footing Width (Transverse to Bridge Alignment)" />

 <P N="Depth" V="Piers.FootT" D="Footing Depth" />

 <P N="BotElev" V="Pier2WorkPoint-Pier2Height-Piers.FootT" D="Footing Bottom Elevation" />

 </O>

 <O N="Piles" T="Group" AlignH="Orient" AlignV="None" AlignT="None">

 <O T="Volume">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Section" V="circ" T="Section" />

<O T="Point" Y="CIDH_Space" Z="Pier2WorkPoint-Pier2Height-Piers.FootT" X="0" />

<O T="Point" Y="CIDH_Space" Z="Pier2WorkPoint-Pier2Height-Piers.FootT-CIDHLength" X="0" />

 </O>

 <O T="Volume">

<P N="Color" V="#D3D3D3" T="Text" />

<P N="Opacity" V="0.9" />

<P N="Section" V="circ" T="Section" />

<O T="Point" Y="-CIDH_Space" Z="Pier2WorkPoint-Pier2Height-Piers.FootT" X="0" />

<O T="Point" Y="-CIDH_Space" Z="Pier2WorkPoint-Pier2Height-Piers.FootT-CIDHLength" X="0" />

 </O>

 </O>

 </O>

 </O>

</O>

<O N="Superstructure" T="Group">

 <O N="Girders" T="Group">

 <P N="Color" V="#991111" T="Text" />

 <P N="Opacity" V="0.7" />

 <O N="Girder 1" T="Group">

 <O N="G1FS1" T="SteelGirderMB" Z="-12.5" Y="117" X="BridgeLayoutData.Abut1Sta-13" AlignV="Warp" 

AlignH="Warp" AlignT="None">

 <P N="StartStation" V="G1FS1.X" />

 <P N="Offset" V="G1FS1.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="18" 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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-29

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-30

 <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="[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="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="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="G1FS3" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="75576" Y="117" Z="-12.5">

 <P N="StartStation" V="G1FS3.X" />

 <P N="Offset" V="G1FS3.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="18" 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="20" 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="L" 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="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="[84, 324, 564, 804, 1044]" 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="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="G1FS4" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="76704" Y="117" Z="-12.5">

 <P N="StartStation" V="G1FS4.X" />

 <P N="Offset" V="G1FS4.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,342], 1.125,[342,702], 2.25,[702,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,342], 1.5,[342,702], 2.75,[702,1056], 1.5]" D="Thickness of the bottom flange of the I girder" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-31

 <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="[36, 96, 216, 276, 396, 456, 576, 636, 756, 816, 936, 996]" 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="[156, 336, 696, 876]" 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="[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="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="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="G1FS5" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="77760" Y="117" Z="-12.5">

 <P N="StartStation" V="G1FS5.X" />

 <P N="Offset" V="G1FS5.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="20" 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="L" T="Text" D="Side of Web stiffened, L = Left, R = Right, B = Both" />

<P N="WebStiffLoc" V="[0, 60, 180, 240, 300, 360, 480, 540, 600, 660, 780, 840, 900, 960]" 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="[120, 420, 720]" 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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-32

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-33

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-34

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-35

 <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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-36

 </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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-37

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL 

B-38

<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="G3FS3" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="75576" Y="-111" Z="-12.5">

 <P N="StartStation" V="G3FS3.X" />

 <P N="Offset" V="G3FS3.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="G3FS4" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="76704" Y="-111" Z="-12.5">

 <P N="StartStation" V="G3FS4.X" />

 <P N="Offset" V="G3FS4.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,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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-39

 <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="G3FS5" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="77760" Y="-111" Z="-12.5">

 <P N="StartStation" V="G3FS5.X" />

 <P N="Offset" V="G3FS5.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>

 </O>

 <O N="G3 Splices" T="Group" Z="-12.5" Y="-111">

 <O N="SG1G2" T="BoltedFieldSplice (BB)" X="G3FS1.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">

 <P N="gap" V="1/4" />

 <P N="sp_sta" V="G3FS1.Length" />

 <P N="dwA" V="G3FS1.dw" D="Web depth of the I girder" /> 

 <P N="twA" V="G3FS1.tw" D="Web thickness of the I girder" />

 <P N="bftA" V="G3FS1.bft" D="Width of the top flange of the I girder" />

 <P N="tftA" V="G3FS1.tft" D="Thickness of the top flange of the I girder" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-40

 <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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-41

 </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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-42

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-43

 <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,342], 1.25,[342,702], 2.5,[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.625,[342,702], 3,[702,1056], 1.625]" 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="[36, 96, 216, 276, 396, 456, 576, 636, 756, 816, 936, 996]" 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="[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="G4FS5" T="SteelGirderMB" AlignH="Warp" AlignV="Warp" AlignT="None" X="77760" Y="-225" Z="-12.5">

 <P N="StartStation" V="G4FS5.X" />

 <P N="Offset" V="G4FS5.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="20" D="Width of the bottom flange of the I girder" />

 <P N="tfb" V="1.125" 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="[0, 60, 180, 240, 300, 360, 480, 540, 600, 660, 780, 840, 900, 960]" 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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-44

<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, 1020]" D="Bearing Stiffener locations" />

<P N="BearingStiffW" V="7.5" D="Bearing Plate Width" />

<P N="BearingStiffT" V="0.75" D="Bearing Stiffener Thickness" />

<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="G4 Splices" T="Group" Z="-12.5" Y="-225">

 <O N="SG1G2" T="BoltedFieldSplice (BB)" X="G4FS1.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">

<P N="gap" V="1/4" />

<P N="sp_sta" V="G4FS1.Length" />

<P N="dwA" V="G4FS1.dw" D="Web depth of the I girder" />

<P N="twA" V="G4FS1.tw" D="Web thickness of the I girder" />

<P N="bftA" V="G4FS1.bft" D="Width of the top flange of the I girder" />

<P N="tftA" V="G4FS1.tft" D="Thickness of the top flange of the I girder" />

<P N="bfbA" V="G4FS1.bfb" D="Width of the bottom flange of the I girder" />

<P N="tfbA" V="G4FS1.tfb" D="Thickness of the bottom flange of the I girder" />

<P N="dwB" V="G4FS2.dw" D="Web depth of the I girder" />

<P N="twB" V="G4FS2.tw" D="Web thickness of the I girder" />

<P N="bftB" V="G4FS2.bft" D="Width of the top flange of the I girder" />

<P N="tftB" V="G4FS2.tft" D="Thickness of the top flange of the I girder" />

<P N="bfbB" V="G4FS2.bfb" D="Width of the bottom flange of the I girder" />

<P N="tfbB" V="G4FS2.tfb" D="Thickness of the bottom flange of the I girder" />

 </O>

 <O N="SG2G3" T="BoltedFieldSplice (BB)" X="G4FS2.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">

<P N="gap" V="1/4" />

<P N="sp_sta" V="G4FS2.Length" />

<P N="dwA" V="G4FS2.dw" D="Web depth of the I girder" />

<P N="twA" V="G4FS2.tw" D="Web thickness of the I girder" />

<P N="bftA" V="G4FS2.bft" D="Width of the top flange of the I girder" />

<P N="tftA" V="G4FS2.tft" D="Thickness of the top flange of the I girder" />

<P N="bfbA" V="G4FS2.bfb" D="Width of the bottom flange of the I girder" />

<P N="tfbA" V="G4FS2.tfb" D="Thickness of the bottom flange of the I girder" />

<P N="dwB" V="G4FS3.dw" D="Web depth of the I girder" />

<P N="twB" V="G4FS3.tw" D="Web thickness of the I girder" />

<P N="bftB" V="G4FS3.bft" D="Width of the top flange of the I girder" />

<P N="tftB" V="G4FS3.tft" D="Thickness of the top flange of the I girder" />

<P N="bfbB" V="G4FS3.bfb" D="Width of the bottom flange of the I girder" />

<P N="tfbB" V="G4FS3.tfb" D="Thickness of the bottom flange of the I girder" />

 </O>

 <O N="SG3G4" T="BoltedFieldSplice (BB)" X="G4FS3.StartStation" AlignV="Warp" AlignH="Orient" AlignT="None">

<P N="gap" V="1/4" />

<P N="sp_sta" V="G4FS3.Length" />

<P N="dwA" V="G4FS3.dw" D="Web depth of the I girder" />

<P N="twA" V="G4FS3.tw" D="Web thickness of the I girder" />

<P N="bftA" V="G4FS3.bft" D="Width of the top flange of the I girder" />

<P N="tftA" V="G4FS3.tft" D="Thickness of the top flange of the I girder" />

<P N="bfbA" V="G4FS3.bfb" D="Width of the bottom flange of the I girder" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-45

 <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">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-46

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

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

 <O N="Girder 3 Shear Studs" T="Group" X="73487" Z="-12.5">

 <O T="Stud Placement" Y="-111">

 <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="-111-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, 20, 18]" />

 <P N="Spacing_Length" V="[156, 1404, 2160, 1560]" />

 </O>

 <O T="Stud Placement" Y="-111+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, 20, 18]" />

 <P N="Spacing_Length" V="[156, 1404, 2160, 1560]" />

 </O>

 </O>

 <O N="Girder 4 Shear Studs" T="Group" X="73487" Z="-12.5">

 <O T="Stud Placement" Y="-225">

 <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="[12, 18, 15, 15, 18, 15, 15, 18, 12]" />

 <P N="Spacing_Length" V="[324, 1118.25, 156, 432, 1330.5, 432, 156, 1092, 324]" />

 </O>

 <O T="Stud Placement" Y="-225-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="[12, 18, 15, 15, 18, 15, 15, 18, 12]" />

 <P N="Spacing_Length" V="[324, 1118.25, 156, 432, 1330.5, 432, 156, 1092, 324]" />

 </O>

 <O T="Stud Placement" Y="-225+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="[12, 18, 15, 15, 18, 15, 15, 18, 12]" />

 <P N="Spacing_Length" V="[324, 1118.25, 156, 432, 1330.5, 432, 156, 1092, 324]" />

 </O>

 </O>

 --> 

 </O>

 <O N="Cross Frames" T="Group"> 

 <O N="CrossFrames" T="Group">

 <O N="CF1" T="Group">
APPENDIX B – EXAMPLE BRIDGE MODEL

B-47

 <O N="Bay1" 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[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="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>

 <O N="Bay2" 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[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="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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-48

 </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 Offsetfrom 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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-49

 </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 fromHCL" />

<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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-50

 </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>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-51

 </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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-52

 <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" />
APPENDIX B – EXAMPLE BRIDGE MODEL

B-53

 <P N="LeftDeck_t" V="10" />

 <P N="RightDeck_t" V="10" />

 <P N="LeftOverhangType" V="1" />

 <P N="RightOverhangType" V="1" />

 <P N="LeftEdge" V="272.25" />

 <P N="GirderOffset" V="[117, 3, -111, -225]" />

 <P N="HaunchWidth" V="[18, 16, 16, 22]" />

 <O N="DeckPour1" T="Deck">

 <P N="StartStation" V="73525.75" />

 <P N="EndStation" V="74520" />

 </O>

 <O N="DeckPour4" T="Deck">

 <P N="StartStation" V="74520" />

 <P N="EndStation" V="75585" />

 </O>

 <O N="DeckPour3" T="Deck">

 <P N="StartStation" V="75585" />

 <P N="EndStation" V="76695" />

 </O>

 <O N="DeckPour5" T="Deck">

 <P N="StartStation" V="76695" />

 <P N="EndStation" V="77760" />

 </O>

 <O N="DeckPour2" T="Deck">

 <P N="StartStation" V="77760" />

 <P N="EndStation" V="78754.25" />

 </O>

 <O N="DeckPour6a" T="DeckEndBeam">

 <P N="EndBeamCLStation" V="Abut1Sta" />

 <P N="EndBeamPosition" V="0" T="Text" D="End Beam Position (0=Back Station, 1=Ahead Station)" />

 <P N="EndBeamDepth" V="17.25" />

 <P N="EndBeamDepthLeft" V="15.25" />

 <P N="EndBeamDepthRight" V="15.25" />

 <P N="EndBeamWidth" V="27.75" />

 <P N="EndBeamOverhang" V="16.75" />

 <P N="TransitionLength" V="8.75" />

 <P N="TypDeckLength" V="6" />

 </O>

 <O N="DeckPour6b" T="DeckEndBeam">

 <P N="EndBeamCLStation" V="Abut2Sta" />

 <P N="EndBeamPosition" V="1" T="Text" D="End Beam Position (0=Back Station, 1=Ahead Station)" />

 <P N="EndBeamDepth" V="17.25" />

 <P N="EndBeamDepthLeft" V="15.25" />

 <P N="EndBeamDepthRight" V="15.25" />

 <P N="EndBeamWidth" V="27.75" />

 <P N="EndBeamOverhang" V="15.75" />

 <P N="TransitionLength" V="8.75" />

 <P N="TypDeckLength" V="6" />

 </O>

 </O>

 <O N="Bridge Rail" T="Group" AlignH="Warp" AlignV="Warp" Z="-0.75">

 <O T="PA Turnpike Barrier New">

 <P N="Station" V="Abut1Sta-16.75" />

 <P N="Length" V="5313" />

 <P N="Offset" V="144" />

 <P N="type" V="RIGHT" />

 </O>
APPENDIX B – EXAMPLE BRIDGE MODEL

B-54

 <O T="PA Turnpike Barrier New">

 <P N="Station" V="Abut1Sta-16.75" />

 <P N="Length" V="5313" />

 <P N="Offset" V="-252" />

 <P N="type" V="LEFT" />

 </O>

 </O>

 </O>

</O>