Exemple #1
0
        public TreComponent(Component c)
        {
            //Component class variables
            this.Name = c.Name;
            this.Bearings = c.Bearings;
            this.PlateConnectors = c.PlateConnectors;
            this.ComponentType = c.ComponentType;
            this.ComponentFunctions = c.ComponentFunctions;
            this.Members = c.Members;
            //TreComponent specific
            //Line 1
            DisplayUnits = "Imperial";
            InternalUnits = "Imperial";
            //Line 2
            CSIFailure = "1";
            SSIFailure = "0";
            SummaryResultOfAnalyze = "0";
            GeoconvertFailure = "0";
            AllJointsArePlated = "0";
            TrussUnstable = "0";
            EstimateHasBeenDone = "0";
            TrussDeflectionFailure = "0";
            CamberStatus = "0";
            ReactionFailure = "0";
            HorizontalTotalDeflectionFailure = "0";
            HorizontalLiveDeflectionFailure = "0";
            BearingOutOfScarf = "0";
            WedgeFailure = "0";
            HeelFailure = "0";
            FloorSpliceJointFailure = "0";
            BearingNotAtJointFailure = "0";
            BirdsmouthHeelFailure = "0";
            LSLFailure = "0";
            MinChordGradeFailureCanada = "0";
            Span2x3ExceededCanada = "0";
            Min2x3WebGradeFailureCanada = "0";
            Min2x4WebGradeFailureCanada = "0";
            DryLbrWithMetalWebFailCanada = "0";
            MaxAllowedSpanCanada = "0";
            NailingPatternFailureCanada = "0";
            MissedLoadingCanada = "0";
            UnspecifiedDesignFailCanada = "0";
            ChangedRequirementsCanada = "0";
            PanelRackingDeflectionFailure = "0";
            AnalysisResult = "0";
            TreVersionNumber = "7300";
            //Line 3
            ProgramMode = "0";
            TypeOfTruss = "0";

            //Line 4
            //Line 5
            RoofOrFloorTruss = "ROOF BASICS";

            Quantity = "1";
            TrussSpan = "0.0";
            TopSlope = "0.0";
            BottomSlope = "0.0";
            LeftOverhangLength = "0.0";
            RightOverhangLength = "0.0";
            //Part6Spacing;
            RoofSetupTrusses = "0.0";
            LeftTopChordOverhang = "1";
            RightTopChordOverhang = "1";
            DesignConnectionStatus = "1";
            RightBearingSize = "3.5";
            RightSeatCut = "3.5";
            LeftBearingSize = "3.5";
            LeftSeatCut = "3.5";
            RightHeelHeight = "4.188";
            LeftHeelHeight = "4.164";

            Spacing = "24.0";
            RightButtCut = "0.274870";
            LeftButtCut = "0.250882";

            RightHeelMatch = "-1";
            LeftHeelMatch = "-1";

            RightOverhangType = "0";
            LeftOverhangType = "0";

            LoadingFileName = "MATRIX";
            GirderTrussIndicator = "1";

            AtticVersatruss = "0";
            UserLevel = "0";

            SquareCutRoofWebs = "0";
            TOWOptimizeNonApexVerts = "0";
            TOWOptimizeApexVerts = "0";
            TOWKeepVerticalsVertical = "0";
            TOWDoNotMoveVerticals = "0";
            OptimizeTurbo = "0";
            RoofDetailMode = "0";
            PosiRoof = "0";
            TurboWebSquare = "0";
            TurboWeb = "0";
            TrussApplicationType = "0";
            RightHeelReductionType = "1";
            LeftHeelReductionType = "1";
            UseAlternateSpacing = "0.0";
            FirstAlternateSpacing = "0.0";
            SecondAlternateSpacing = "0.0";

            PiggybackFlag = "1";
            PiggybackStyle = "0";
            PiggybackGableFlag = "1";
            PiggybackBottomChordOffset = "1.5";
            PiggybackTailOffset = "0.25";
            PiggybackTopChordButtCutFlag = "1";
            PiggybackTopChordButtCutLength = "0.25";
            PiggybackBottomChordButtCutFlag = "1";
            PiggybackBottomChordButtCutLength = "0.25";

            PiggybackMinimumStudLength = "6.0";
            PiggybackStudSpacing = "16.0";
            PiggybackGableStudLayout = "10736";
            /*
            FloorSetupTrusses;
            RoofFloorPosi;
            UseMitekAutomatedMach;
            ShowTrimmableIcon;
            TrimmableEnd;
            UseFullMetalWebOnly;
            R)
            TrussDepth;
            NumberOfTopChords;
            NumberOfBottomChords;
            Bearing1Size;
            Bearing2Size;
            TopChordRibbon1;
            TopChordRibbon2;
            BottomChordRibbon1;
            BottomChordRibbon2;
            OR)
            NumberOfDetails;
            OR)
            DetailType;
            OR)
            XCoordinateLocation;
            NumberOfFullEndVertical;
            NumberOfShortEndVertical;
            TopRibbonDepth;
            BottomRibbonDepth;
            NumberOfEndVerticals;
            FireCutOffset;
            BearingSize;
            GapDistance;
            NumberOfTopPlies;
            BottomChordHoldBack;
            FortyFiveDegreeFirstWeb;
            WhichEnd;
            NumberOfWebsFortyFiveDegreeCase;
            LengthOfExtraTcPlies;
            MeasureFromTop;
            BlockLocation;
            MaterialListIndex;
            RecutBottomChordByNumberOfEndVerticals;
            DoubleTopChordLength;
            NumberOfVerticals;
            NumberOfDrops;
            SideMeasuredFrom;
            LapDistance;
            BearingCondition;
            NotUsed;
            WhichSideIsDropped;
            RibbonBlockWidthIfUsed;
            Width;
            Height;
            NumberOfLeftVerticals;
            NumberOfRightVerticals;
            ContinuousBottomChordFlag;
            AddAdditionalVerticalAtEndOfTopChord;
            HorizontalLengthOfFirstWeb;

            public List<TreWindZoneData> WindCCAutoRoofZones;
            public List<TreWindZoneData> NumWindCCAutoRoofZones;
            public List<TreWindZoneData> NumWindCCUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS1stPerpAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS1stPerpUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS2ndPerpAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS2ndPerpUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS1stParaAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS1stParaUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS2ndParaAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS2ndParaUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS3ndParaAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS3ndParaUsedRoofZones;
            public List<TreWindZoneData> NumWindMWFRS4ndParaAutoRoofZones;
            public List<TreWindZoneData> NumWindMWFRS4ndParaUsedRoofZones;
            */
            MemberInfo = new TreMemberInfo();

            PartNumber = ""; //Might be omitted
            TrussType = "0";
            StudSpacing = "0.0";
            OptimizeDuringAnalysis = "0";
            WebEndCutType = "1";
            TrussDifficultyFactor = "1.0";
            DesignMethodSelected = "0";
            BuildingCode = "2";
            BuildingType = "0";
            ContinuityCode = "0";
            SheathTopChord = "1";
            SheathBottomChord = "1";
            DesignDeflection = "0";
            MaximumPlies = "2";
            MinimumPlies = "2";
            MaximumBraces = "2";
            TopChordPurlinSpacing = "0.0";
            BottomChordPurlinSpacing = "0.0";
            CheckStockLength = "1";
            WetService = "0";
            StepLumber = "0";
            PinnedSplices = "0";
            NumberOfPlies = "2";
            BracingType = "0";
            UseBoltHoles = "0";
            BoltHoleDiameter = "0.0";
            DeflnCompositeAction = "0";
            ThirdPreferenceBearingDesignOption = "4";
            SecondPreferenceBearingDesignOption = "2";
            FirstPreferenceBearingDesignOption = "1";
            UseVerticalMembersForMultiPlyNails = "1";
            HeelDesignMethodSelected = "1";
            CreepFactorWetLumber = "2.0";
            CreepFactorDryLumber = "1.5";
            BottomChordSheathingGroup = "";
            FlatTopChordSheathingGroup = "";
            TopChordSheathingGroup = ""; //TODO: Get from file
            /* TODO: Is index its own variable or 2nd line of var in source docs?
            BottomChordSheathingMaterial = "1";
            Index = "3";
            FlatTopChordSheathingMaterialIndex = "1";
            TwoAnalogNodesForDado = "0";
            */
            MinSliderPercent = "10.0";
            MinSliderLength = "18.0";
            AnalogMethod = "0";
            GussetRepairInventoryID = ""; //TODO: Get from file
            RepairSheathingMaterialIndex = "8";
            GussetRepairOption3 = "3";
            GussetRepairOption2 = "2";
            GussetRepairOption1 = "1";
            GussetRepairDoubleLayer = "1";
            GussetRepairIncrementMaterial = "1";
            GussetRepairCheckGrainDirection = "1";
            BearingMaterialIndex = "5";
            BearingMaterialConsiderList = ""; //TODO: Get from file
            NailTrussSymmetrically = "0";
            TrussSheathingInventoryID = ""; //TODO: Get from file
            TrussSheathingMaterial = "7";
            PlyToPlyCompositeDesign = "1";
            BearingSupportDepth = "1.5";
            UseBearingSizeKzpFactor = "0";
            IgnoreFlatRoofPart9Factor = "0";
            BracingMaterialFixity = "0";
            LatBracingStartMaterial = ""; //TODO: Get from file
            LatBracingMaterialInventoryID = ""; //TODO: Get from file
            ForintekTrussOverride = "0";
            UseModifyBendingCapacityFactor = "1";
            BearingCapacity = "0.0";
            FirstAndThirdLength = "12.0";
            Span = "506.0004";
            MaxSpan = "506.0004";
            PriceQuantity = "0";
            AdditionalTrussInfoQuantity = "2";
            //TODO: Find in documentation???
            //QuantityForMDSM = ; //TODO: Find in file
            //PliesOnGirder;      //TODO: Find in file
            //PliesOnTruss;       //TODO: Find in file
            //NoOfGirders;        //TODO: Find in file
            //MDSMUsed;           //TODO: Find in file
            Ply = "2";
            /*
            TopChordLiveLoad;
            TopChordDeadLoad;
            BottomChordLiveLoad;
            BottomChordDeadLoad;
            AdditionalTrussInfoSpacing;
            LeftOverhang;
            RightOverhang;
            AdditionalTrussInfoLeftButtCut;
            AdditionalTrussInfoRightButtCut;
            AdditionalTrussInfoLeftHeelHeight;
            AdditionalTrussInfoRightHeelHeight;
            AdditionalTrussInfoLeftSeatCut;
            AdditionalTrussInfoRightSeatCut;
            TrussHeight;
            LeftHeelToPeak;
            RightHeelToPeak;
            MaxTopChordCSI;
            MaxBottomChordCSI;
            SSI;
            Girder;
            SpanCarried;
            TotalBearings;
            LeftStub;
            RightStub;
            VerticalDeflection;
            VerticalLLDeflection;
            VerticalTLDeflection;
            HorizontalDeflection;
            VerticalLLDeflectionLocation;
            VerticalTLDeflectionLocation;
            HorizontalDeflectionLocation;
            LeftCantilever;
            RightCantilever;
            Gable;
            RegularGable;
            StructuralGable;
            LouveredGable;
            GableStudSpacing;
            TopChordLumber;
            BottomChordLumber;
            Valley;
            NumberTopChordNailRows;
            TopChordInchesOnCenter;
            NumberBottomChordNailRows;
            BottomChordInchesOnCenter;
            NumberWebNailRows;
            WebInchesOnCenter;
            TotalChords;
            TotalWebs;
            */
            Wedges = "0";
            Sliders = "0";
            /*
            Blocks;
            NumberOfBlockSplices;
            */
            Date = "7/31/96";
            /*
            DifficultyFactor;
            Warning;
            TestedTruss;
            CornerJoints;
            Reaction1;
            Reaction2;
            Reaction3;
            Reaction4;
            Reaction5;
            Reaction6;
            Reaction7;
            MaxHorz1;
            MaxUplift1;
            MaxUplift2;
            MaxUplift3;
            MaxUplift4;
            UseToeNails;
            */
            RealSpliceBlocksSaved = "1";
            /*
            ComponentLoads;
            RepStressStatus;
            GID;
            */
            TotalBoardFeet = "264.00";
            TrussWeight = "564";
            TotalPlateArea = "0.00";
            NumberOfPlates = "0";
            NumberOfPlatesSetup = "0";

            Batched = "0";
            Printed = "0";

            TopChordSegments = "3";
            TopChordPanels = "3 6 2";
            TotalOfTopChordPanels = "11";
            TopChordSlopes = "26.57 0.00 -26.57";
            BottomChordSegments = "1";
            BottomChordPanels = "10";
            TotalOfBottomChordPanels = "10";
            BottomChordSlopes = "0.00";

            HeelSolved = "0";
            CantileverSingleCut = "1";
            CantileverToBearingEdge = "0";
            RightEndVerticalThroughBC = "0";
            LeftEndVerticalThroughBC = "0";
            DefaultReinforcingMember = "6109";
            LeftHeelReinforcementType = "6101";
            RightHeelReinforcementType = "6101";
            LeftHeelMaterial = "1";
            RightHeelMaterial = "1";
            SingleCutBottomChord = "0";
            LeftSliderLength = "30.0";
            RightSliderLength = "30.0";
            LeftHeelLumberID = "0";
            RightHeelLumberID = "0";
            Dummy1 = "0";
            Dummy2 = "0";
            LeftWedgeMaterialIndex = "-1";
            RightWedgeMaterialIndex = "-1";
            LeftSliderLengthMultiPoint = "30.0";
            RightSliderLengthMultiPoint = "30.0";
            LeftSliderIncrementValue = "6.0";
            RightSliderIncrementValue = "6.0";
            LeftSliderIncreasePercentage = "50.0";
            RightSliderIncreasePercentage = "50.0";
            LeftSliderIncreasedLengthOrPct = "1";
            RightSliderIncreasedLengthOrPct = "1";
            LeftSliderIncrementalIncrease = "1";
            RightSliderIncrementalIncrease = "1";
            GlobalChangeSliderLength = "0";
            EndVerticalUseWebLumber = "1";

            LeftHeelType = "0";
            RightHeelType = "0";
            LeftHeelSolveReason = "0";
            RightHeelSolveReason = "0";
            LeftHeelChanged = "0";
            RightHeelChanged = "0";
            LeftWedgeSize = "11.25";
            RightWedgeSize = "0.0";
            LeftHeelPreviousGroup = "-1";
            RightHeelPreviousGroup = "-1";
            LeftHeelPreviousMaterial = "-1";
            RightHeelPreviousMaterial = "-1";
            LeftHeelPreviousMaterialID = "-1";
            RightHeelPreviousMaterialID = "-1";
            LeftCantileverWebOption = "0";
            RightCantileverWebOptions = "0";

            LeftStubLegDownFlag = "0";
            LeftStubDistance = "0.0";
            RightStubLegDownFlag = "0";
            RightStubDistance = "0.0";

            CuttingInfo = new List<TreCuttingInfo>();
            HangerOptions = new List<HangerOption>();

            //DOLSDeadOnly = ;
            //SeismicDOL;
            //GeometryOption;
            //LCDeleted;
            LoadCases = new List<TreLoadCaseInfo>();

            //LiveLoads = new TreLoadInformation();
            //TotalLoad = new TreLoadInformation();
            //WindLive = new TreLoadInformation();
            //WindTotal = new TreLoadInformation();
            //LayoutLoadDistributionMethod =;
            BasicLoadInfo = new BasicLoad();
            //DragLoadCases;
            //TrussApp;
            CountryBasicLoadInfo = new CountryBasicLoad();
            SnowLoadInfo = new BasicLoadSnow();
            WindLoadInfo = new BasicLoadWind();
            FloorLoadInfo = new BasicLoadFloor();

            AdditionalLumberInfo = new List<TreLumberInfo>();
            //TS;
            //BS;

            LumberPullList = new List<TreLumberPullList>();
            //TotalSawUnits;
            //TotalFabUnits;
            //TotalOtherUnits;

            DefaultMaterials = new List<TreMaterial>();
            DefaultMaterialsMap = new List<TreMaterialMap>();

            ShopNotes = "<S>\n<E>";

            PlateInventoryID = "0";
            PlatingInfo = new List<TrePlatingInfo>();

            NumberOfReactionCases = "0";
            TreReactions = new List<TreReactionInfo>();
            SheathingInfo = new List<TreSheathing>();

            MasterTruss = "T1.TRE";
            AlignWebs = "1";
            AlignSplices = "1";
            GableStudAllPlies = "1";
            GableStudPly = "1";
            GableStudPlies = "1, 2";
            FillerAllPlies = "1";
            FillerPly = "1";
            FillerPlies = "4";

            LeftByDistance = "1";
            LeftMaintainSeatCut = "1";
            LeftLegDown = "0";
            LeftMaintainOverhangs = "0";
            LeftBearingHeight = "0.0";
            LeftDistance = "42.0";
            RightByDistance = "1";
            RightMaintainSeatCut = "1";
            RightLegDown = "0";
            RightMaintainOverhangs = "0";
            RightBearingHeight = "0.0";
            RightDistance = "0.0";

            ChordEndFixityForMatrix = "2";
            AutoFixUnstables = "1";
            MinSpanForFixedPitchBreaksOrHeels = "108";
            NumberOfEndFixitiesChanged = "4";
            //WallLength = ;

            ApplyDropToAllIndicator = "0";
            MoveVertWebsTrussIndicator = "0";
            CornerRafterIndicator = "0";
            CaliforniaHipFrontAngle = "0.0";
            CaliforniaHipCornerThickness = "1.5";
            DropHipThickness = "1.5";
            DropHipAngle = "0.558";
            DropHipIndicator = "0";
            CaliforniaHipExtension1 = "0.0";
            CaliforniaHipExtension2 = "0.0";
            CaliforniaHipIndicator = "0";
            RHPoint = "5";
            NumberOfProfile = "10";

            BearingPoints = new List<TrePoint>();

            NumberOfSegments = "0";
            NumberOfPanelsForSegmentAtIndex = new List<string>();

            NumberOfCalHipExtensions = "0";
            HipExtensions = new List<TreHipExension>();

            NumberOfDropTops = "0";
            DropTops = new List<TreDropTop>();
        }
        private void _parseMemberInfo()
        {
            TreMemberInfo treMemberInfo = new TreMemberInfo();
            treMemberInfo.TreMembers = new List<TreMember>();
            // The line numbers should not be understood as concrete, but as pointers to the line specified in the Mitek documentation

            currentLine = 107;
            _parseLine25(treMemberInfo);
            _parseLine26(treMemberInfo);
            // Set truss members
            for (int i = 0; i < Convert.ToInt32(treMemberInfo.NumberOfMembers); i++)
            {
                TreMember treMember = new TreMember();

                // Parse the five lines that make up a truss member
                // The line numbers should not be understood as concrete, but as pointers to the line specified in the Mitek documentation
                _parseLine27(treMember);
                _parseLine28(treMember);
                _parseLine31(treMember);
                _parseLine32(treMember);
                _parseLine33(treMember);

                treMemberInfo.TreMembers.Add(treMember);
            }
        }
 private void _parseLine25(TreMemberInfo treMemberInfo)
 {
     string[] line25 = Contents[currentLine].Trim().Split(',');
     if (line25.Length < 4)
     {
         throw new Exception("Problem while parsing Member Info in TRE file (first line in Member Info section): too few items");
     }
     treMemberInfo.TrussHighestVerticalPoint = line25[0];
     treMemberInfo.TopChordLumberSize = line25[1];
     treMemberInfo.BottomChordLumberSize = line25[2];
     treMemberInfo.WebLumberSize = line25[3];
     currentLine++;
 }
 private void _parseLine26(TreMemberInfo treMemberInfo)
 {
     // Parse line 26 (see MiTek's documentation file for the TRE file format)
     // Line 26 == Contents[_memberInfoIndex + 2]
     string[] line26 = Contents[currentLine].Trim().Split(' ');
     if (line26.Length < 12)
     {
         throw new Exception("Problem while parsing Member Info in TRE file (second line in Member Info section): too few items");
     }
     treMemberInfo.NumberOfMembers = line26[0];
     treMemberInfo.OriginLineMemberNumber = line26[1];
     treMemberInfo.AlwaysSetTo0 = line26[2];
     treMemberInfo.InitialReferenceLineV0 = line26[3];
     treMemberInfo.InitialReferenceLineH0 = line26[4];
     treMemberInfo.InitialReferenceLineV99 = line26[5];
     treMemberInfo.InitialReferenceLineOHL = line26[6];
     treMemberInfo.InitialReferenceLineOHR = line26[7];
     treMemberInfo.InitialReferenceLineSCL = line26[8];
     treMemberInfo.InitialReferenceLineSCR = line26[9];
     treMemberInfo.InitialReferenceLineOH1 = line26[10];
     treMemberInfo.InitialReferenceLineOH2 = line26[11];
     currentLine++;
 }
Exemple #5
0
        private void _parseMemberInfo()
        {
            while(Contents[currentLine].Contains("MEMBER INFO") == false)
            {
                currentLine++;
            }
            TreMemberInfo treMemberInfo = new TreMemberInfo();
            treMemberInfo.TreMembers = new List<TreMember>();
            // The line numbers should not be understood as concrete, but as pointers to the line specified in the Mitek documentation

            currentLine++;
            _parseLine25(treMemberInfo);
            _parseLine26(treMemberInfo);
            // Set truss members
            for (int i = 0; i < Convert.ToInt32(treMemberInfo.NumberOfMembers); i++)
            {
                TreMember treMember = new TreMember();

                // Parse the five lines that make up a truss member
                // The line numbers should not be understood as concrete, but as pointers to the line specified in the Mitek documentation
                _parseLine27(treMember);
                _parseLine28(treMember);
                _parseLine31(treMember);
                _parseLine32(treMember);
                _parseLine33(treMember);

                treMemberInfo.TreMembers.Add(treMember);
            }
            this.MemberInfo = treMemberInfo;
        }