Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }