//private static void TestPushElements(ETABSAdapter app) //{ // Console.WriteLine("Testing Push Bars ..."); // Point p1 = new Point { X = 0, Y = 0, Z = 0 }; // Point p2 = new Point { X = 1, Y = 0, Z = 0 }; // Point p3 = new Point { X = 1, Y = 1, Z = 0 }; // Point p4 = new Point { X = 0, Y = 1, Z = 0 }; // Point p5 = new Point { X = 0, Y = 0, Z = 1 }; // Point p6 = new Point { X = 1, Y = 0, Z = 1 }; // Point p7 = new Point { X = 1, Y = 1, Z = 1 }; // Point p8 = new Point { X = 0, Y = 1, Z = 1 }; // Point p5b = new Point { X = 0, Y = 0, Z = 2 }; // Point p6b = new Point { X = 1, Y = 0, Z = 2 }; // Point p7b = new Point { X = 1, Y = 1, Z = 2 }; // Point p8b = new Point { X = 0, Y = 1, Z = 2 }; // Constraint6DOF pin = BH.Engine.Structure.Create.PinConstraint6DOF(); // Constraint6DOF fix = BH.Engine.Structure.Create.FixConstraint6DOF(); // Constraint6DOF full = BH.Engine.Structure.Create.FullReleaseConstraint6DOF(); // List<Node> nodesA = new List<Node>(); // Node n1a = BH.Engine.Structure.Create.Node(p5 , "1"); // Node n2a = BH.Engine.Structure.Create.Node( p6 , "2" ); // Node n3a = BH.Engine.Structure.Create.Node( p7 , "3" ); // Node n4a = BH.Engine.Structure.Create.Node( p8 , "4" ); // n1a.Constraint = pin; // n2a.Constraint = pin; // n3a.Constraint = fix; // n4a.Constraint = fix; // nodesA.Add(n1a); // nodesA.Add(n2a); // nodesA.Add(n3a); // nodesA.Add(n4a); // List<Node> nodesB = new List<Node>(); // Node n1b = BH.Engine.Structure.Create.Node( p5b, "1" ); // Node n2b = BH.Engine.Structure.Create.Node( p6b, "2" ); // Node n3b = BH.Engine.Structure.Create.Node( p7b, "3" ); // Node n4b = BH.Engine.Structure.Create.Node( p8b, "4" ); // n1b.Constraint = pin; // n2b.Constraint = pin; // n3b.Constraint = full; // n4b.Constraint = fix; // nodesB.Add(n1b); // nodesB.Add(n2b); // nodesB.Add(n3b); // nodesB.Add(n4b); // Bar bar1 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p1), BH.Engine.Structure.Create.Node( p2)); // Bar bar2 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p2), BH.Engine.Structure.Create.Node( p3)); // Bar bar3 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p3), BH.Engine.Structure.Create.Node( p4)); // Bar bar4 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p4), BH.Engine.Structure.Create.Node( p1)); // Bar bar5 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p5), BH.Engine.Structure.Create.Node( p6)); // Bar bar6 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p6), BH.Engine.Structure.Create.Node( p7)); // Bar bar7 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p7), BH.Engine.Structure.Create.Node( p8)); // Bar bar8 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p8), BH.Engine.Structure.Create.Node( p5)); // Bar bar9 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p1), BH.Engine.Structure.Create.Node( p5)); // Bar bar10 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p2), BH.Engine.Structure.Create.Node( p6)); // Bar bar11 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p3), BH.Engine.Structure.Create.Node( p7)); // Bar bar12 = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p4), BH.Engine.Structure.Create.Node( p8)); // Bar bar5b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p5b), BH.Engine.Structure.Create.Node( p6b)); // Bar bar6b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p6b), BH.Engine.Structure.Create.Node( p7b)); // Bar bar7b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p7b), BH.Engine.Structure.Create.Node( p8b)); // Bar bar8b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p8b), BH.Engine.Structure.Create.Node( p5b)); // Bar bar9b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p1), BH.Engine.Structure.Create.Node( p5b)); // Bar bar10b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p2), BH.Engine.Structure.Create.Node( p6b)); // Bar bar11b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p3), BH.Engine.Structure.Create.Node( p7b)); // Bar bar12b = BH.Engine.Structure.Create.Bar(BH.Engine.Structure.Create.Node( p4), BH.Engine.Structure.Create.Node( p8b)); // List<Bar> bars1 = new List<Bar>(); // List<Bar> bars2a = new List<Bar>(); // List<Bar> bars2b = new List<Bar>(); // bars1.Add(bar1); // bars1.Add(bar2); // bars1.Add(bar3); // bars1.Add(bar4); // bars2a.Add(bar5); // bars2a.Add(bar6); // bars2a.Add(bar7); // bars2a.Add(bar8); // bars2a.Add(bar9); // bars2a.Add(bar10); // bars2a.Add(bar11); // bars2a.Add(bar12); // bars2b.Add(bar5b); // bars2b.Add(bar6b); // bars2b.Add(bar7b); // bars2b.Add(bar8b); // bars2b.Add(bar9b); // bars2b.Add(bar10b); // bars2b.Add(bar11b); // bars2b.Add(bar12b); // //Material steel = BH.Engine.Common.Create.Material("Steel", MaterialType.Steel, 210000, 0.3, 0.00012, 78500); // ISectionProperty sec1 = BH.Engine.Structure.Create.SteelISection(110, 10, 80, 20); // //sec1.Material = steel;// BH.Engine.Common.Create.Material("Steel", MaterialType.Steel, 210000, 0.3, 0.00012, 78500); //BH.Engine.Common.Create.Material("blue steel");//<-- this creates material of type aluminium // sec1.Name = "Section 1"; // ISectionProperty sec2a = BH.Engine.Structure.Create.ConcreteRectangleSection(200, 120); // //sec2a.Material = BH.Engine.Common.Create.Material("myConcrete", MaterialType.Concrete, 10, 10, 10, 10); // sec2a.Name = "Section 2a"; // ISectionProperty sec2b = new ExplicitSection(); // //sec2b.Material = BH.Engine.Common.Create.Material("otherSteel", MaterialType.Steel, 210000, 0.3, 0.00012, 78500); // sec2b.Name = "Section 2b"; // foreach (Bar b in bars1) // b.SectionProperty = sec1; // foreach (Bar b in bars2a) // b.SectionProperty = sec2a; // foreach (Bar b in bars2b) // b.SectionProperty = sec2b; // List<Panel> panels = new List<Panel>(); // Polyline outline = new Polyline(); // outline.ControlPoints = new List<Point>() { p1, p2, p3, p4, p1 }; // // Material steel = sec1.Material;// BH.Engine.Common.Create.Material("panelSteel"); // ISurfaceProperty panelProp = BH.Engine.Structure.Create.ConstantThickness(100, steel); // panelProp.Name = "panelProperty"; // List<ICurve> nothing = null; // Panel panelA = BH.Engine.Structure.Create.Panel(outline, nothing); // panelA.Property = panelProp; // panels.Add(panelA); // outline.ControlPoints = new List<Point>() { p5, p6, p7, p8, p5 }; // Point op5 = new Point { X = 0.2, Y = 0.2, Z = 1 }; // Point op6 = new Point { X = 0.8, Y = 0.2, Z = 1 }; // Point op7 = new Point { X = 0.8, Y = 0.8, Z = 1 }; // Point op8 = new Point { X = 0.2, Y = 0.8, Z = 1 }; // Polyline hole = new Polyline() { ControlPoints = new List<Point>() { op5, op6, op7, op8 } }; // Opening opening = new Opening() { Edges = new List<Edge>() { new Edge() { Curve = hole } } }; // Panel panelB = BH.Engine.Structure.Create.Panel(outline, new List<Opening>() { opening }); // panelB.Property = panelProp; // panels.Add(panelB); // app.Push(nodesA, "Nodes"); // app.Push(nodesB, "Nodes"); // app.Push(bars1, "Bars1"); // app.Push(bars2a, "Bars2"); // app.Push(bars2b, "Bars2"); // app.Push(panels, "panels"); // Console.WriteLine("All elements Pushed !"); // Console.ReadLine(); //} private static void TestPullBars(ETABSAdapter app) { Console.WriteLine("Test Pull Bars"); FilterQuery nodeQuery = new FilterQuery { Type = typeof(Node) }; FilterQuery barQuery = new FilterQuery { Type = typeof(Bar) }; IEnumerable <object> barObjects = app.Pull(barQuery); int count = 0; foreach (object bObject in barObjects) { Bar bar = bObject as Bar; string barId = bar.CustomData[ETABSAdapter.ID].ToString(); string startNodeId = bar.StartNode.CustomData[ETABSAdapter.ID].ToString(); string endNodeId = bar.EndNode.CustomData[ETABSAdapter.ID].ToString(); string startPoint = bar.StartNode.Position().X.ToString() + "," + bar.StartNode.Position().Y.ToString() + "," + bar.StartNode.Position().Z.ToString(); string endPoint = bar.EndNode.Position().X.ToString() + "," + bar.EndNode.Position().Y.ToString() + "," + bar.EndNode.Position().Z.ToString(); string section = bar.SectionProperty.Name; string material = bar.SectionProperty.Material.Name; string barInfo = "Bar with ID: " + barId + " -Connecting Nodes " + startNodeId + " at " + startPoint + " and " + endNodeId + " at " + endPoint + " Section: " + section + " Material: " + material + "/n"; string barTags = string.Join("_/_", bar.Tags.ToArray()); Console.WriteLine(barInfo + barTags); } Console.WriteLine("Pulled all bars"); Console.WriteLine("... press enter to exit"); Console.ReadLine(); }
private static void ExampleLevels3() { double[] elevations = new double[] { 5.98, 6.78, 10.94, 15.42, 19.9, 24.38, 28.7, 32.06, 36.06, 40.14, 41.0 }; string[] names = new string[] { "Foundations", "Basement 02", "Basement 01", "Level 01", "Level 02", "Level 03", "Level 04", "Level 05", "Level 06", "Roof Level", "Roof Edge" }; List <BH.oM.Architecture.Elements.Level> levels = new List <BH.oM.Architecture.Elements.Level>(); for (int i = 0; i < elevations.Length; i++) { levels.Add(new BH.oM.Architecture.Elements.Level { Elevation = elevations[i], Name = names[i] }); } ETABSAdapter adapter = new ETABSAdapter("", null, true); adapter.Push(levels); }
private static void MeshResults(ETABSAdapter app) { var results = app.Pull(new FilterQuery { Type = typeof(BH.oM.Structure.Results.MeshForce) }); }