private EtabsAreaObject EatParent(string name, cSapModel activeModel) { EtabsAreaObject area = new EtabsAreaObject(); int pointCount = new Int32(); string[] pointNames = null; activeModel.AreaObj.GetPoints(name, ref pointCount, ref pointNames); List <EtabsPoint> points = new List <EtabsPoint>(); foreach (string pointName in pointNames) { double x = new double(); double y = new double(); double z = new double(); activeModel.PointObj.GetCoordCartesian(pointName, ref x, ref y, ref z); EtabsPoint point = new EtabsPoint(); point.X = x; point.Y = y; point.Z = z; points.Add(point); } area.Name = name; area.Points = points; return(area); }
public MainWindow() { InitializeComponent(); try { this.etabsModel = new MT(); this.label.Content = "Mesh Tool will run on " + etabsModel.modelName + " Model"; } catch (Exception) { this.label.Content = "Please Open an ETABS2016 Model and re-start this application"; } if (etabsModel != null) { int ret; int areaCount = new Int32(); int[] objectType = null; string[] areaNames = null; ret = this.etabsModel.activeModel.AreaObj.SetSelected("ALL", true, ETABS2016.eItemType.Group); ret = this.etabsModel.activeModel.SelectObj.GetSelected(ref areaCount, ref objectType, ref areaNames); foreach (string name in areaNames) { EtabsAreaObject parent = EatParent(name, this.etabsModel.activeModel); if (Parents == null) { List <EtabsAreaObject> first = new List <EtabsAreaObject>(); first.Add(parent); Parents = first; } else { Parents.Add(parent); } } foreach (EtabsAreaObject area in Parents) { string statement = area.Name + " - "; foreach (EtabsPoint point in area.Points) { statement += "( "; statement += point.X.ToString() + ", "; statement += point.Y.ToString() + ", "; statement += point.Z.ToString() + ")"; } listBox.Items.Add(statement); } } }