// PBEE.cpp : Defines the entry point for the DLL application. // #include "stdafx.h" #include "PBEE.h" #ifdef _MANAGED #pragma managed(push, off) #endif BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } #ifdef _MANAGED #pragma managed(pop) #endif // This is an example of an exported variable PBEE_API int nPBEE=0; // This is an example of an exported function. PBEE_API int fnPBEE(void) { return 42; } // This is the constructor of a class that has been exported. // see PBEE.h for the class definition CPBEE::CPBEE() { return; } PBEE_API void PBEEProductionRates(double dbPBEEProductionRates_Mean[], double dbPBEEProductionRates_StdDev[]) { /* Repair Item Names: "Structure excavation", "Structure backfill", "Temporary support (superstructure)", "Temporary support (abutment)", "Structural concrete (bridge)", "Structural concrete (footing)", "Structural concrete (approach slab)", "Aggregate base (approach slab)", "Bar reinforcing steel (bridge)", "Bar reinforcing steel (footing, retaining wall)", "Epoxy inject cracks", "Repair minor spalls", "Column steel casing", "Joint seal assembly", "Elastomeric bearings", "Drill and bond dowel", "Furnish steel pipe pile", "Drive steel pipe pile", "Drive abutment pipe pile", "Asphalt concrete", "Mud jacking", "Bridge removal (column)", "Bridge removal (portion)", "Approach slab removal", "Clean deck for methacrylate", "Furnish methacrylate", "Treat bridge deck", "Barrier rail", "Re-center column" */ // please update the following 2 lines only double Mean[29] = {1.2,2.2,34.2,33.2,10,10,2,1.2,1.8,1.8,2,2,70,2,1.2,1.2,35,2,3,2,2,16.2,2,4,1.2,20,1.2,1.8,2}; double StdDev[29] = {0.2,0.5,3.8,3.8,0.7,0.7,0.3,0.2,0.2,0.2,0.3,0.3,7.7,0.3,0.2,0.2,1.7,0.3,0.3,0.3,0.3,1.8,0.3,0.7,0.2,3.3,0.2,0.2,0.3}; for (int i = 0; i < 29; i++) { dbPBEEProductionRates_Mean[i] = Mean[i]; dbPBEEProductionRates_StdDev[i] = StdDev[i]; } } PBEE_API void PBEEUnitCosts(double dbPBEEUnitCosts_Mean[], double dbPBEEUnitCosts_StdDev[]) { /* Repair Item Names: "Structure excavation", "Structure backfill", "Temporary support (superstructure)", "Temporary support (abutment)", "Structural concrete (bridge)", "Structural concrete (footing)", "Structural concrete (approach slab)", "Aggregate base (approach slab)", "Bar reinforcing steel (bridge)", "Bar reinforcing steel (footing, retaining wall)", "Epoxy inject cracks", "Repair minor spalls", "Column steel casing", "Joint seal assembly", "Elastomeric bearings", "Drill and bond dowel", "Furnish steel pipe pile", "Drive steel pipe pile", "Drive abutment pipe pile", "Asphalt concrete", "Mud jacking", "Bridge removal (column)", "Bridge removal (portion)", "Approach slab removal", "Clean deck for methacrylate", "Furnish methacrylate", "Treat bridge deck", "Barrier rail", "Re-center column" Unit: "Cubic Yard (CY)", "Cubic Yard (CY)", "Squre Foot (SF)", "Squre Foot (SF)", "Cubic Yard (CY)", "Cubic Yard (CY)", "Cubic Yard (CY)", "Cubic Yard (CY)", "Pound (LB)", "Pound (LB)", "Linear Foot (LF)", "Squre Foot (SF)", "Pound (LB)", "Linear Foot (LF)", "Each (EA)", "Linear Foot (LF)", "Linear Foot (LF)", "Each (EA)", "Each (EA)", "TON", "Cubic Yard (CY)", "Cubic Yard (CY)", "Cubic Yard (CY)", "Cubic Yard (CY)", "Squre Foot (SF)", "Gallon (GAL)", "Squre Foot (SF)", "Linear Foot (LF)", "Each (EA)", */ // please update the following 2 lines only double Mean[29] = {165,220,38,38,2225,520,1625,325,1.35,1.2,215,300,10,275,1500,55,55,2050,9000,265,380,3405,2355,1000,0.4,85,0.55,2,100}; double StdDev[29] = {33,44,7.6,7.6,445,104,325,65,0.27,0.24,43,60,2,55,300,11,11,410,1800,53,76,681,471,200,0.08,17,0.11,0.4,20}; for (int i = 0; i < 29; i++) { dbPBEEUnitCosts_Mean[i] = Mean[i]; dbPBEEUnitCosts_StdDev[i] = StdDev[i]; } } PBEE_API void PBEECalcQuantities(double dbPBEEQuantities[]) { for( int i = 0; i < 100; i++) dbPBEEQuantities[i] = 0; // please update the values below accordingly double B49 = 30; //ft approach slab length (Caltrans standard approach slab length) ----------------------- hard-coded dbPBEEQuantities[49] = B49; double B52 = 1170; //sf approach slab area = 108.7 m2 -------------------------------------------- hard-coded dbPBEEQuantities[52] = B52; double B7 = 0.375; //in required column casing thickness 0.375 in = 0.0095 m xs7-010e ------------------ hard-coded dbPBEEQuantities[7] = B7; double B23 = 16.72; // steel weight estimate (BDA 11-5) 16.72 lb/ft3 = 268.0 kg/m3 --------------------------- hard-coded dbPBEEQuantities[23] = B23; double B46 = 3.37; // backwall steel 3.370 lb/ft3 = 54.00 kg/m3 BDA 11-5 ---------------------------- hard-coded dbPBEEQuantities[46] = B46; double B43 = 12.; // expansion Joint blockout height 12 in 0.305 m -------------------------------- hard-coded dbPBEEQuantities[43] = B43; double B44 = 10.; // expansion Joint blockout width 10 in 0.254 m ------------------------------------ hard-coded dbPBEEQuantities[44] = B44; double B53 = 1170; // approach slab roadway volume 1170 cf 43.3 cy -------------------------------- hard-coded dbPBEEQuantities[53] = B53; double B54 = 19; //ft wing wall length 19.0 -------------------------------- hard-coded dbPBEEQuantities[54] = B54; double B55 = 1; //ft wing wall thickness 1.0 -------------------------------- hard-coded dbPBEEQuantities[55] = B55; double B56 = 3; //ft shortest wing wall height 3.0 -------------------------------- hard-coded dbPBEEQuantities[56] = B56; double B57 = 1.; // backwall thickness -------------------------------- hard-coded dbPBEEQuantities[57] = B57; double B60 = 8; //stem wall height 8.0 ft 2.44 m -------------------------------- hard-coded dbPBEEQuantities[60] = B60; double B63 = 2.; // embankment slope (V/H) 2.0 - 2.0 - -------------------------------- hard-coded dbPBEEQuantities[63] = B63; double B66 = 15; //pile cap dimension 1 15 ft -------------------------------- hard-coded dbPBEEQuantities[66] = B66; double B67 = 10; //pile cap dimension 2 10 ft -------------------------------- hard-coded dbPBEEQuantities[67] = B67; double B68 = 3.25; // pile cap depth 3.25 ft -------------------------------- hard-coded dbPBEEQuantities[68] = B68; double B77 = 27; // enlarged pile cap dimension 1 27 ft -------------------------------- hard-coded dbPBEEQuantities[77] = B77; double B78 = 22; // enlarged pile cap dimension 2 22 ft -------------------------------- hard-coded dbPBEEQuantities[78] = B78; double B79 = 2; // pile cap embedment depth 2 ft -------------------------------- hard-coded dbPBEEQuantities[79] = B79; double B80 = 6.552; // steel weight estimate footing 6.552 lb/ft3 -------------------------------- hard-coded dbPBEEQuantities[80] = B80; double B83 = 45; // abutment pile cap dimension 1 45 ft -------------------------------- hard-coded dbPBEEQuantities[83] = B83; double B84 = 10; //abutment pile cap dimension 2 10 ft -------------------------------- hard-coded dbPBEEQuantities[84] = B84; } PBEE_API void PBEECalcRepairs(double dbPBEEValues[]) { for( int i = 0; i < 10; i++) dbPBEEValues[i] = 0; // The unit price of repair cost dbPBEEValues[0] = 156.0; }