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()); }
static void StaadModel_ModelBuildStatusUpdate(StaadModel sender, ModelBuildStatusUpdateEventArgs e) { if (string.IsNullOrEmpty(previousStatus) || !previousStatus.Equals(e.StatusMessage)) { previousStatus = e.StatusMessage; Console.WriteLine(e.StatusMessage); } }
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; } }
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); }
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()); }
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(); }
static void StaadModel_ModelBuildComplete(StaadModel sender) { Console.WriteLine("Build completed"); }