public static List <Surface> selectSurfaces(IModel model) { IView view = model.GetActiveView(); IModelData modelData = model.GetModelData(); List <Surface> selectedObjects = new List <Surface>(); //select objects string selectedObjectsText = ""; view.PickObjects(ToolType.SelectSurfaces, ref selectedObjectsText); if (selectedObjectsText == "") { return(new List <Surface>()); } List <int> selectedObjectsNo = ListOperations.objectNumbersToList(selectedObjectsText); try { foreach (int objectNo in selectedObjectsNo) { selectedObjects.Add(modelData.GetSurface(objectNo, ItemAt.AtNo).GetData()); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(selectedObjects); }
public static object selectObjects(IModel model, ToolType toolType) { IView view = model.GetActiveView(); IModelData modelData = model.GetModelData(); List <object> selectedObjects = new List <object>(); //select objects string selectedObjectsText = ""; view.PickObjects(toolType, ref selectedObjectsText); List <int> selectedObjectsNo = ListOperations.objectNumbersToList(selectedObjectsText); try { foreach (int objectNo in selectedObjectsNo) { if (toolType == ToolType.SelectSurfaces) { selectedObjects.Add(modelData.GetSurface(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectLines) { selectedObjects.Add(modelData.GetLine(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectNodes) { selectedObjects.Add(modelData.GetNode(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectMembers) { selectedObjects.Add(modelData.GetMember(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectOpenings) { selectedObjects.Add(modelData.GetOpening(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectSetsOfMembers) { selectedObjects.Add(modelData.GetSetOfMembers(objectNo, ItemAt.AtNo).GetData()); } if (toolType == ToolType.SelectSolids) { selectedObjects.Add(modelData.GetSolid(objectNo, ItemAt.AtNo).GetData()); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(selectedObjects); }
public static Node getLineEndNode(int lineNo, IModelData modelData, NodePostion nodePosition) { //get start and end nodes of the new line Line line = modelData.GetLine(lineNo, ItemAt.AtNo).GetData(); string splitLineNodesListText = line.NodeList; List <int> nodesList = ListOperations.objectNumbersToList(splitLineNodesListText); Node startNode = modelData.GetNode(nodesList[0], ItemAt.AtNo).GetData(); Node endNode = modelData.GetNode(nodesList[nodesList.Count - 1], ItemAt.AtNo).GetData(); if (nodePosition == NodePostion.Start) { return(startNode); } else { return(endNode); } }