Example #1
0
        private static string GatherBucklingLengths(StaadModel Model)
        {
            var output = new StringBuilder();
            BucklingLengthGenerator      blg;
            IEnumerable <BucklingLength> bls;

            blg = new BucklingLengthGenerator(staadModel);

            // LZ
            output.AppendLine("***");
            output.AppendLine("*** BUCKLING LENGTHS (LY)");
            output.AppendLine("***");
            bls = blg.GenerateBucklingLengthsLY();
            output.AppendLine(GatherBucklingLengthsCollection(bls));

            // LZ
            output.AppendLine("***");
            output.AppendLine("*** BUCKLING LENGTHS (LZ)");
            output.AppendLine("***");
            bls = blg.GenerateBucklingLengthsLZ();
            output.AppendLine(GatherBucklingLengthsCollection(bls));

            // UNL
            output.AppendLine("***");
            output.AppendLine("*** BUCKLING LENGTHS (UNL)");
            output.AppendLine("***");
            bls = blg.GenerateBucklingLengthsUNL();
            output.AppendLine(GatherBucklingLengthsCollection(bls));

            return(output.ToString());
        }
Example #2
0
 static void StaadModel_ModelBuildStatusUpdate(StaadModel sender, ModelBuildStatusUpdateEventArgs e)
 {
     if (string.IsNullOrEmpty(previousStatus) || !previousStatus.Equals(e.StatusMessage))
     {
         previousStatus = e.StatusMessage;
         Console.WriteLine(e.StatusMessage);
     }
 }
Example #3
0
        static void Model_ModelBuildStatusUpdate(StaadModel sender, ModelBuildStatusUpdateEventArgs e)
        {
            if (string.IsNullOrEmpty(previouStatusMessage) || !previouStatusMessage.Equals(e.StatusMessage))
            {
                if (!string.IsNullOrEmpty(previouStatusMessage))
                {
                    Console.WriteLine();
                }

                Console.Write(e.StatusMessage);
                previouStatusMessage = e.StatusMessage;
            }
        }
Example #4
0
        private static bool GetSTAADModel()
        {
            try
            {
                staadModel = new StaadModel();
            }
            catch
            {
                return(false);
            }

            staadModel.ModelBuildStatusUpdate       += StaadModel_ModelBuildStatusUpdate;
            staadModel.ModelBuildComplete           += StaadModel_ModelBuildComplete;
            staadModel.MemberGenerator.StatusUpdate += MemberGenerator_StatusUpdate;

            return(true);
        }
Example #5
0
        private static string GatherDeflectionLengths(StaadModel Model)
        {
            var output = new StringBuilder();
            IEnumerable <DeflectionLength> verticalMembers;
            IEnumerable <DeflectionLength> horizontalMembers;

            var dlg = new DeflectionLengthGenerator(staadModel);

            dlg.GenerateDeflectionLengths();
            verticalMembers   = dlg.DeflectionLengths.Where(dl => dl.Member.Type == MemberType.COLUMN || dl.Member.Type == MemberType.POST).OrderBy(dl => dl.StartNode.Z).ThenBy(dl => dl.StartNode.X).ThenBy(dl => dl.StartNode.Y);
            horizontalMembers = dlg.DeflectionLengths.Except(verticalMembers).OrderBy(dl => dl.StartNode.Y).ThenBy(dl => dl.StartNode.Z).ThenBy(dl => dl.StartNode.X);

            output.AppendLine("***");
            output.AppendLine("*** DEFLECTION LENGTHS");
            output.AppendLine("***");

            // Output Columns
            output.AppendLine("***");
            output.AppendLine("*** COLUMNS & POSTS");
            output.AppendLine("***");
            foreach (var dl in verticalMembers)
            {
                output.AppendLine(dl.ToSTAADString());
            }
            // Output beams
            output.AppendLine("***");
            output.AppendLine("*** BEAMS & OTHERS");
            output.AppendLine("***");
            foreach (var deflectionLengthGroup in horizontalMembers.GroupBy(dl => dl.StartNode.Y))
            {
                output.AppendLine("***");
                output.AppendLine(string.Format("*** EL+{0:0.000}", deflectionLengthGroup.Key));
                output.AppendLine("***");
                foreach (var dl in deflectionLengthGroup)
                {
                    output.AppendLine(dl.ToSTAADString());
                }
            }

            return(output.ToString());
        }
Example #6
0
        static void Main(string[] args)
        {
            Stopwatch  st;
            ConsoleKey userInput;

            st = new Stopwatch();
            try
            {
                model = new StaadModel(OpenStaadGetter.InstantiateOpenSTAAD());
            }
            catch (STAADRunningInstanceNotFoundException)
            {
                Console.WriteLine("Could not get hold of STAAD");
                Console.ReadKey();
                return;
            }
            catch
            {
                Console.WriteLine("An unknown error occurred");
                Console.ReadKey();
                return;
            }
            model.ModelBuildStatusUpdate += Model_ModelBuildStatusUpdate;

            st.Start();
            model.Build();
            st.Stop();
            Console.WriteLine();
            Console.WriteLine("Model built in {0:0.000}s", st.Elapsed.TotalMilliseconds / 1000);

            //
            Console.WriteLine("Press s to select beams by type, y to generate members, press any other key to quit...");
            userInput = Console.ReadKey().Key;
            if (userInput == ConsoleKey.S)
            {
                SelectBeamsByType();
            }
            else if (userInput != ConsoleKey.Y)
            {
                return;
            }

            Console.WriteLine();
            Console.WriteLine("Starting member generation...");
            st.Reset();
            st.Start();
            model.GenerateMembers();
            st.Stop();
            Console.WriteLine("Member generation completed in {0:0.000}s", st.Elapsed.TotalMilliseconds / 1000);

            Console.WriteLine("Press s to select members by type, press any other key to quit...");
            userInput = Console.ReadKey().Key;
            if (userInput == ConsoleKey.S)
            {
                SelectMembersByType();
            }
            else
            {
                return;
            }

            //BucklingLengthGenerator blg = new BucklingLengthGenerator(model) { SelectMembersDuringAnalysis = true };

            Console.WriteLine("Press any key to quit");
            Console.ReadKey();
        }
Example #7
0
 static void StaadModel_ModelBuildComplete(StaadModel sender)
 {
     Console.WriteLine("Build completed");
 }