public static void Run(Tekla.Technology.Akit.IScript akit) { TSM.UI.ModelViewEnumerator views = TSM.UI.ViewHandler.GetSelectedViews(); if (views.Count > 0) { while (views.MoveNext()) { TSM.UI.View activeView = views.Current; TSM.UI.ModelObjectSelector selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ArrayList visibleParts = ItemSelector.getParts(activeView); selector.Select(visibleParts); akit.Callback("acmdViewTopInFormFace", "", "View_01 window_1"); ArrayList empty = new ArrayList(); selector.Select(empty); } } else { MessageBox.Show("Vaate aken peab olema aktiivne"); } }
public void GetProperties() { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); if (modelObjectEnum.GetSize() == 1) { while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.Grid) { Grid grid = (Grid)modelObjectEnum.Current; coordinateX = grid.CoordinateX; coordinateY = grid.CoordinateY; coordinateZ = grid.CoordinateZ; labelX = grid.LabelX; labelY = grid.LabelY; labelZ = grid.LabelZ; } } } if (modelObjectEnum.GetSize() > 1) { coordinateX = ""; coordinateY = ""; coordinateZ = ""; labelX = ""; labelY = ""; labelZ = ""; } }
private static ModelObjectEnumerator getSelectedObjects() { var selector = new TSM.UI.ModelObjectSelector(); ModelObjectEnumerator selectionEnum = selector.GetSelectedObjects(); return selectionEnum; }
public List <Assembly> GetPartsAssemblies() { var modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var selectedObjects = modelObjectSelector.GetSelectedObjects(); var assemblies = new List <Assembly>(); while (selectedObjects.MoveNext()) { var currentObject = selectedObjects.Current; if (currentObject is Part currentPart) { var assembly = currentPart.GetAssembly(); if (IsPartAssembly(assembly) && !IsListContainsAssembly(assemblies, assembly)) { assemblies.Add(assembly); } } if (currentObject is Assembly currentAssembly) { var partAssemblies = GetPartAssemblies(currentAssembly); foreach (var partAssembly in partAssemblies) { if (!IsListContainsAssembly(assemblies, partAssembly)) { assemblies.Add(partAssembly); } } } } return(assemblies); }
static private ModelObjectEnumerator getSelectedObjects() { var selector = new TSM.UI.ModelObjectSelector(); ModelObjectEnumerator selectionEnum = selector.GetSelectedObjects(); return(selectionEnum); }
void Events_SelectionChangeEvent() { /* Make sure that the inner code block is running synchronously */ lock (_selectionEventHandlerLock) { System.Console.WriteLine("Selection changed event received."); var selection = new Tekla.Structures.Model.UI.ModelObjectSelector() .GetSelectedObjects() .ToAList <Part>(); if (!selection.Any()) { return; } var rawRows = dataGridView1.Rows.OfType <DataGridViewRow>().ToList(); var assemblies = selection.Select(p => p.GetAssembly()); var rows = rawRows.AsParallel().Where(r => { dynamic item = r.DataBoundItem; if (item.Id == null) { return(false); } var id = (int)item.Id; return(assemblies.FirstOrDefault(p => p.Identifier.ID == id) != null); }).ToList(); CreateBom(rows); } }
public List <Part> GetSelectedParts() { var modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var selectedObjects = modelObjectSelector.GetSelectedObjects(); var parts = new List <Part>(); while (selectedObjects.MoveNext()) { var currentObject = selectedObjects.Current; if (currentObject is Part currentPart) { parts.Add(currentPart); } if (currentObject is Assembly currentAssembly) { var assemblyParts = GetAssemblyParts(currentAssembly); foreach (var part in assemblyParts) { parts.Add(part); } } } return(parts); }
private void Events_SelectionChange() { lock (_tsTeklaSelectionChangeLock) { string newText = ""; var selectedObjects = new Tekla.Structures.Model.UI.ModelObjectSelector().GetSelectedObjects(); if (selectedObjects.MoveNext()) { newText = TeklaObjects.TeklaObject.GetInfo(selectedObjects.Current); } if (newText.Equals("")) { return; } BeginInvoke(new MethodInvoker(() => { this.objectInfo_label.Text = newText; this.objectInfo_label.ForeColor = SystemColors.ControlText; if (FTSettings.Settings.ShowShowObjectInfoInTheBottomOfTeklaWindow & string.IsNullOrWhiteSpace(newText) == false) { Tekla.Structures.Model.Operations.Operation.DisplayPrompt("Filtering Tool info: " + newText); } })); } }
public static void Run(Tekla.Technology.Akit.IScript akit) { try { Model model = new Model(); DrawingHandler drawingHandler = new DrawingHandler(); ArrayList ModelObjectArray = new ArrayList(); if (drawingHandler.GetActiveDrawing() != null) { DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); while (drawingObjectEnum.MoveNext()) { Tekla.Structures.Drawing.ModelObject dModelObject = (Tekla.Structures.Drawing.ModelObject)drawingObjectEnum.Current; ModelObjectArray.Add(model.SelectModelObject(dModelObject.ModelIdentifier)); } } else { ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { Tekla.Structures.Model.ModelObject modelObject = (Tekla.Structures.Model.ModelObject)modelObjectEnum.Current; ModelObjectArray.Add(model.SelectModelObject(modelObject.Identifier)); } } Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); modelObjectSelector.Select(ModelObjectArray); akit.Callback("acmdCreateViewBySelectedObjectsExtrema", "", "main_frame"); akit.Callback("acmd_interrupt", "", "main_frame"); } catch { } }
public static void Run(Tekla.Technology.Akit.IScript akit) { try { Model model = new Model(); DrawingHandler drawingHandler = new DrawingHandler(); ArrayList ModelObjectArray = new ArrayList(); if (drawingHandler.GetActiveDrawing() != null) { DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); if (drawingObjectEnum.GetSize() > 0) { while (drawingObjectEnum.MoveNext()) { Tekla.Structures.Drawing.ModelObject dModelObject = (Tekla.Structures.Drawing.ModelObject)drawingObjectEnum.Current; ModelObjectArray.Add(model.SelectModelObject(dModelObject.ModelIdentifier)); } } Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); modelObjectSelector.Select(ModelObjectArray); } akit.Callback("acmdZoomToSelected", "", "main_frame"); } catch { } }
public bool ClashCheck() { bool result = false; _selector = new ModelObectSelector(); _clashes = new ArrayList(); _clashCheckDone = false; ArrayList objectsToSelect = new ArrayList(); objectsToSelect = InsertThreeClashingParts(); #region 전체 모델의 충돌에 대해 확인 ModelObjectEnumerator modelObjectEnumerator = _model.GetModelObjectSelector().GetAllObjects(); foreach (ModelObject modelObject in modelObjectEnumerator) { objectsToSelect.Add(modelObject); } #endregion _selector.Select(objectsToSelect); _model.CommitChanges(); result = RunClashCheck(); if (TsEvent != null) { TsEvent.UnRegister(); } return(result); }
public static void Run(Tekla.Technology.Akit.IScript akit) { try { Model model = new Model(); DrawingHandler drawingHandler = new DrawingHandler(); DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); ArrayList ModelObjectArray = new ArrayList(); if (drawingObjectEnum.GetSize() > 0) { while (drawingObjectEnum.MoveNext()) { if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Part) { Tekla.Structures.Drawing.Part part = drawingObjectEnum.Current as Tekla.Structures.Drawing.Part; ModelObjectArray.Add(model.SelectModelObject(new Identifier(part.ModelIdentifier.ID))); } if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Bolt) { Tekla.Structures.Drawing.Bolt bolt = drawingObjectEnum.Current as Tekla.Structures.Drawing.Bolt; ModelObjectArray.Add(model.SelectModelObject(new Identifier(bolt.ModelIdentifier.ID))); } } } Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); modelObjectSelector.Select(ModelObjectArray); akit.Callback("acmd_display_selected_object_dialog", "", "main_frame"); } catch { } }
public SwapHandles() { var selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var myEnum = selector.GetSelectedObjects(); while (myEnum.MoveNext()) { if (myEnum.Current is Tekla.Structures.Model.ContourPlate) { ContourPlate cPlate = myEnum.Current as ContourPlate; cPlate.Position.Depth = SwapEndForces(cPlate.Position.Depth); cPlate.Modify(); } else if (myEnum.Current is Tekla.Structures.Model.BooleanPart) { BooleanPart boolPart = myEnum.Current as Tekla.Structures.Model.BooleanPart; ContourPlate boolConturPlate = boolPart.OperativePart as Tekla.Structures.Model.ContourPlate; if (boolConturPlate != null) { boolConturPlate.Position.Depth = SwapEndForces(boolConturPlate.Position.Depth); boolConturPlate.Modify(); } } } new Model().CommitChanges(); }
public string GetInfo() { Model model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator enumerator = selector.GetSelectedObjects(); return(enumerator.GetSize().ToString()); }
/// <summary>Iterates through selected object in the model and move its to this phase</summary> /// <returns>The number of moved objects</returns> public int MoveSelectedObjectsToPhase() { var selectedObjects = new Tekla.Structures.Model.UI.ModelObjectSelector().GetSelectedObjects(); while (selectedObjects.MoveNext()) { selectedObjects.Current.SetPhase(this.phase); } return(selectedObjects.GetSize()); }
/// <summary>Selects all objects which are on the phase</summary> /// <param name="phaseNumber">Number of the phase</param> /// <exception cref="Exceptions.FilteringToolTeklaSettingsException">When macro directory not exsists</exception> public static void SelectObjects(int phaseNumber) { var assemblyPhase = new TemplateFilterExpressions.CustomString("ASSEMBLY.PHASE"); var phase = new StringConstantFilterExpression(phaseNumber.ToString()); var expresion1 = new BinaryFilterExpression(assemblyPhase, StringOperatorType.IS_EQUAL, phase); var objectType = new ObjectFilterExpressions.Type(); var partF = new NumericConstantFilterExpression(Tekla.Structures.TeklaStructuresDatabaseTypeEnum.PART); var expresion2 = new BinaryFilterExpression(objectType, NumericOperatorType.IS_EQUAL, partF); var expresion = new BinaryFilterExpressionCollection(); expresion.Add(new BinaryFilterExpressionItem(expresion1, BinaryFilterOperatorType.BOOLEAN_AND)); expresion.Add(new BinaryFilterExpressionItem(expresion2, BinaryFilterOperatorType.BOOLEAN_AND)); var filter = new Filter(expresion); var objects = new Tekla.Structures.Model.Model().GetModelObjectSelector().GetObjectsByFilter(expresion); objects.SelectInstances = false; var ar = new System.Collections.ArrayList(); while (objects.MoveNext()) { var part = objects.Current as Tekla.Structures.Model.Part; if (part != null) { var assembly = part.GetAssembly(); ar.Add(assembly); break; } } var mos = new Tekla.Structures.Model.UI.ModelObjectSelector(); mos.Select(new System.Collections.ArrayList()); mos.Select(ar); if (Tekla.Structures.TeklaStructures.Connect()) { TeklaMacroDirectory.CheckIfExists(); var akit = new Tekla.Structures.MacroBuilder(); akit.PushButton("butCancel", "diaPhaseManager"); akit.Callback("acmd_display_active_system_dialog", "", "main_frame"); akit.PushButton("butSelectPhases", "diaPhaseManager"); akit.PushButton("butSelectObjects", "diaPhaseManager"); akit.PushButton("butCancel", "diaPhaseManager"); akit.Run(); akit = null; } }
public static bool InsertWindows(double lenght, double height, double heightFloor) { var objects = new ModelObjectSelector().GetSelectedObjects(); while (objects.MoveNext()) { var obj = objects.Current; try { var midWallPoint = obj.GetCoordinateSystem().Origin; var wallLenght = obj.GetCoordinateSystem().AxisX; if (wallLenght.X == 0) { int numberOfWindows = Convert.ToInt32(Math.Floor(wallLenght.Y / (lenght + windowsDistance))); midWallPoint.Y += wallLenght.Y / numberOfWindows / 2; for (int i = 0; i < numberOfWindows; ++i) { ArrayList list = new ArrayList { new Point(midWallPoint.X, midWallPoint.Y - lenght / 2, midWallPoint.Z + heightFloor), new Point(midWallPoint.X, midWallPoint.Y + lenght / 2, midWallPoint.Z + heightFloor), new Point(midWallPoint.X, midWallPoint.Y + lenght / 2, midWallPoint.Z + heightFloor + height), new Point(midWallPoint.X, midWallPoint.Y - lenght / 2, midWallPoint.Z + heightFloor + height) }; InsertElements.InsertCutPlate(obj as ContourPlate, list, "PL100", "A36"); midWallPoint.Y += wallLenght.Y / numberOfWindows; } } else { int numberOfWindows = Convert.ToInt32(Math.Floor(wallLenght.X / (lenght + windowsDistance))); midWallPoint.X += wallLenght.X / numberOfWindows / 2; for (int i = 0; i < numberOfWindows; ++i) { ArrayList list = new ArrayList { new Point(midWallPoint.X - lenght / 2, midWallPoint.Y, midWallPoint.Z + heightFloor), new Point(midWallPoint.X + lenght / 2, midWallPoint.Y, midWallPoint.Z + heightFloor), new Point(midWallPoint.X + lenght / 2, midWallPoint.Y, midWallPoint.Z + heightFloor + height), new Point(midWallPoint.X - lenght / 2, midWallPoint.Y, midWallPoint.Z + heightFloor + height) }; InsertElements.InsertCutPlate(obj as ContourPlate, list, "PL100", "A36"); midWallPoint.X += wallLenght.X / numberOfWindows; } } } catch { return(true); } } return(false); }
public static void selectAssemblys(List <_Assembly> filtered) { ArrayList selection = new ArrayList(); foreach (_Assembly current in filtered) { selection.Add(current._assembly); } TSM.UI.ModelObjectSelector modelSelector = new TSM.UI.ModelObjectSelector(); modelSelector.Select(selection); }
private void GetIdNumbers_Click(object sender, EventArgs e) { Model model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); Drawing drawing = drawingHandler.GetActiveDrawing(); DrawingObjectEnumerator drawingObjectEnumerator = drawingHandler.GetDrawingObjectSelector().GetSelected(); ArrayList SelectedObjectArray = new ArrayList(); ArrayList MarkArray = new ArrayList(); while (drawingObjectEnumerator.MoveNext()) { if (drawingObjectEnumerator.Current is Tekla.Structures.Drawing.Part) { Tekla.Structures.Drawing.Part part = drawingObjectEnumerator.Current as Tekla.Structures.Drawing.Part; SelectedObjectArray.Add(model.SelectModelObject(new Identifier(part.ModelIdentifier.ID))); DrawingObjectArray.Add(part); } if (drawingObjectEnumerator.Current is Tekla.Structures.Drawing.Bolt) { Tekla.Structures.Drawing.Bolt bolt = drawingObjectEnumerator.Current as Tekla.Structures.Drawing.Bolt; SelectedObjectArray.Add(model.SelectModelObject(new Identifier(bolt.ModelIdentifier.ID))); DrawingObjectArray.Add(bolt); } } modelObjectSelector.Select(SelectedObjectArray); Tekla.Structures.Model.ModelObjectEnumerator modelObjectEnumerator = model.GetModelObjectSelector().GetSelectedObjects(); while (modelObjectEnumerator.MoveNext()) { if (modelObjectEnumerator.Current is Tekla.Structures.Model.Part) { Tekla.Structures.Model.Part modelPart = modelObjectEnumerator.Current as Tekla.Structures.Model.Part; MarkArray.Add(modelPart.Identifier.ID.ToString()); } if (modelObjectEnumerator.Current is Tekla.Structures.Model.BoltGroup) { Tekla.Structures.Model.BoltGroup modelBolt = modelObjectEnumerator.Current as Tekla.Structures.Model.BoltGroup; MarkArray.Add(modelBolt.Identifier.ID.ToString()); } } MarkArray.Sort(); string MarkList = ""; foreach (string strMark in MarkArray) { MarkList = strMark + " " + MarkList; } Clipboard.SetDataObject(MarkList); richTextBox1.Text = MarkList; drawingHandler.GetDrawingObjectSelector().SelectObjects(DrawingObjectArray, false); }
ArrayList GetModelObjectsByType(string ObjectType) { ArrayList ObjectsToBeSelected = new ArrayList(); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); foreach (Tekla.Structures.Model.ModelObject modelObject in modelObjectSelector.GetSelectedObjects()) { if (modelObject.GetType().ToString() == ObjectType) { ObjectsToBeSelected.Add(modelObject); } } return(ObjectsToBeSelected); }
private void button2_Click(object sender, EventArgs e) { Model _model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector mos = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator moe = mos.GetSelectedObjects(); while (moe.MoveNext()) { ModelObject mo = moe.Current as ModelObject; // mo. } }
public List <Assembly> GetSelectedSubAssemblies() { var modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var selectedObjects = modelObjectSelector.GetSelectedObjects(); var subAssemblies = new List <Assembly>(); while (selectedObjects.MoveNext()) { if (selectedObjects.Current is Assembly assembly && assembly.AssemblyNumber.Prefix.StartsWith("SA")) { subAssemblies.Add(assembly); } } return(subAssemblies); }
private void GetMarks(string MarkType) { Model model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); Drawing drawing = drawingHandler.GetActiveDrawing(); DrawingObjectEnumerator drawingObjectEnumerator = drawingHandler.GetDrawingObjectSelector().GetSelected(); ArrayList SelectedObjectArray = new ArrayList(); ArrayList MarkArray = new ArrayList(); while (drawingObjectEnumerator.MoveNext()) { if (drawingObjectEnumerator.Current is Tekla.Structures.Drawing.Part) { Tekla.Structures.Drawing.Part part = drawingObjectEnumerator.Current as Tekla.Structures.Drawing.Part; SelectedObjectArray.Add(model.SelectModelObject(new Identifier(part.ModelIdentifier.ID))); DrawingObjectArray.Add(part); } } modelObjectSelector.Select(SelectedObjectArray); Tekla.Structures.Model.ModelObjectEnumerator modelObjectEnumerator = model.GetModelObjectSelector().GetSelectedObjects(); while (modelObjectEnumerator.MoveNext()) { if (modelObjectEnumerator.Current is Tekla.Structures.Model.Part) { Tekla.Structures.Model.Part modelPart = modelObjectEnumerator.Current as Tekla.Structures.Model.Part; string mark = ""; try { modelPart.GetReportProperty(MarkType, ref mark); if (!MarkArray.Contains(mark)) { MarkArray.Add(mark); } } catch { } } } MarkArray.Sort(); string MarkList = ""; foreach (string strMark in MarkArray) { MarkList = strMark + " " + MarkList; } Clipboard.SetDataObject(MarkList); richTextBox1.Text = MarkList; drawingHandler.GetDrawingObjectSelector().SelectObjects(DrawingObjectArray, false); }
public static void selectFoundObject(ArrayList selectId) { ArrayList select = new ArrayList(); Model myModel = new Model(); foreach (Identifier id in selectId) { ModelObject foundPart = myModel.SelectModelObject(id) as ModelObject; select.Add(foundPart); } var ModelSelector = new TSM.UI.ModelObjectSelector(); ModelSelector.Select(select); }
/// <summary>Move all selected model bojects to the phase with phaseNumber</summary> /// <param name="phaseNumber">Number of phase</param> /// <returns>Numbers of moved objects</returns> public int MoveSelectedObjectsToPhase(int phaseNumber) { var selectedObjects = new Tekla.Structures.Model.UI.ModelObjectSelector().GetSelectedObjects(); if (selectedObjects.GetSize() == 0) { return(0); } var phase = GetPhaseByNumber(phaseNumber); while (selectedObjects.MoveNext()) { selectedObjects.Current.SetPhase(phase); } return(selectedObjects.GetSize()); }
private static List <BaseWeld> GetSelectesWelds() { var selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var selectedObjects = selector.GetSelectedObjects(); var result = new List <BaseWeld>(); while (selectedObjects.MoveNext()) { var currentObject = selectedObjects.Current; if (currentObject is BaseWeld currentWeld) { result.Add(currentWeld); } } return(result); }
public static void Run(Tekla.Technology.Akit.IScript akit) { Model model = new Model(); DrawingHandler drawingHandler = new DrawingHandler(); DrawingEnumerator drawingEnum = drawingHandler.GetDrawingSelector().GetSelected(); if (drawingHandler.GetActiveDrawing() == null) { while (drawingEnum.MoveNext()) { if (drawingEnum.Current is AssemblyDrawing) { AssemblyDrawing assemblyDrawing = drawingEnum.Current as AssemblyDrawing; drawingHandler.SetActiveDrawing(assemblyDrawing, false); DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetActiveDrawing().GetSheet().GetAllObjects(); while (drawingObjectEnum.MoveNext()) { if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Part) { Tekla.Structures.Drawing.Part part = drawingObjectEnum.Current as Tekla.Structures.Drawing.Part; ArrayList array = new ArrayList(); array.Add(model.SelectModelObject(new Tekla.Structures.Identifier(part.ModelIdentifier.ID))); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); modelObjectSelector.Select(array); ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.Part) { Tekla.Structures.Model.Part mpart = modelObjectEnum.Current as Tekla.Structures.Model.Part; Tekla.Structures.Model.Assembly assembly = mpart.GetAssembly(); Tekla.Structures.Model.Part mainPart = (Tekla.Structures.Model.Part)assembly.GetMainPart(); assemblyDrawing.Name = mainPart.Name; assemblyDrawing.Modify(); assemblyDrawing.CommitChanges(); } } modelObjectSelector.Select(new ArrayList()); } } drawingHandler.CloseActiveDrawing(); } } } }
public void Modify(PropertyValueChangedEventArgs e) { string label = e.ChangedItem.Label; Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Connection) { Connection connection = (Connection)modelObjectEnum.Current; if (label == "Code") connection.Code = code; connection.Modify(); } } }
private void SelectModelObjectsInUi(List <int> ids) { var modelObjects = new ArrayList(); ids.ForEach(id => { var modelObject = _model.SelectModelObject(new Identifier(id)); if (modelObject == null) { return; } modelObjects.Add(modelObject); }); var selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); selector.Select(modelObjects); }
public Magic() { var selector = new Tekla.Structures.Model.UI.ModelObjectSelector(); var myEnum = selector.GetSelectedObjects(); while (myEnum.MoveNext()) { if (myEnum.Current is Tekla.Structures.Model.Beam) { var myBeam = myEnum.Current as Beam; double dX = Math.Abs(myBeam.StartPoint.X - myBeam.EndPoint.X); double dY = Math.Abs(myBeam.StartPoint.Y - myBeam.EndPoint.Y); double dZ = Math.Abs(myBeam.StartPoint.Z - myBeam.EndPoint.Z); //MessageBox.Show(dX.ToString() + ", " + dY.ToString() + ", " + dZ.ToString()); if (dX > 0.006 && dX < 0.70) { MessageBox.Show(dX.ToString()); myBeam.EndPoint.X = myBeam.StartPoint.X; myBeam.Modify(); //MessageBox.Show("fixed X"); } if (dY > 0.006 && dY < 0.70) { MessageBox.Show(dY.ToString()); myBeam.EndPoint.Y = myBeam.StartPoint.Y; myBeam.Modify(); //MessageBox.Show("fixed Y"); } if (dZ > 0.006 && dZ < 0.70) { MessageBox.Show(dZ.ToString()); myBeam.EndPoint.Z = myBeam.StartPoint.Z; myBeam.Modify(); //MessageBox.Show("fixed Z"); } } } //Update model with changes new Model().CommitChanges(); }
private void button2_Click(object sender, EventArgs e) { Model _model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector mos = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator moe = mos.GetSelectedObjects(); while (moe.MoveNext()) { Part angle = moe.Current as Part; if (angle != null) { ModelObjectEnumerator cuts = angle.GetBooleans(); while (cuts.MoveNext()) { BooleanPart cutpart = cuts.Current as BooleanPart; if (cutpart != null) { Part cutpt = cutpart.OperativePart; if (cutpt.Profile.ProfileString.StartsWith("SPD")) { string prof = cutpt.Profile.ProfileString; prof = prof.Replace("SPD", "PIPE"); cutpt.Profile.ProfileString = prof; cutpt.Modify(); } //string prof = cutpart.OperativePar .Profile.ProfileString; //prof.Replace("SPD", "PIPE"); //cutpart.Profile.ProfileString = prof; //cutpart.Modify(); } } } } _model.CommitChanges(); }
private static void changePartToSubAssembly(TSM.Assembly assembly, ArrayList wrongParts, Tekla.Technology.Akit.IScript akit) { TSM.UI.ModelObjectSelector selector = new TSM.UI.ModelObjectSelector(); selector.Select(wrongParts); akit.Callback("acmdRemoveFromAssemblyActionCB", "", "View_01 window_1"); //assembly.Modify(); selector = new TSM.UI.ModelObjectSelector(); TSM.ModelObjectEnumerator selectionEnum = selector.GetSelectedObjects(); while (selectionEnum.MoveNext()) { if (selectionEnum.Current is TSM.Part) { TSM.Part newPart = selectionEnum.Current as TSM.Part; TSM.Assembly partNewAssembly = newPart.GetAssembly() as TSM.Assembly; ArrayList currentSelection = new ArrayList(); currentSelection.Add(assembly); selector.Select(currentSelection); TSM.ModelObjectEnumerator selectionEnum2 = selector.GetSelectedObjects(); while (selectionEnum2.MoveNext()) { if (selectionEnum2.Current is TSM.Assembly) { TSM.Assembly newAssembly = selectionEnum2.Current as TSM.Assembly; newAssembly.Add(partNewAssembly); newAssembly.Modify(); } } } } foreach (TSM.Part part in wrongParts) { TSM.Assembly newAssembly = part.GetAssembly() as TSM.Assembly; removeAssemblyPropertys(newAssembly, akit); } }
public void GetProperties() { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); if (modelObjectEnum.GetSize() == 1) { while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.Connection) { Connection connection = (Connection)modelObjectEnum.Current; code = connection.Code; name = connection.Name; number = connection.Number.ToString(); //connection.SetAttribute } } } if (modelObjectEnum.GetSize() > 1) { } }
public static ArrayList getParts(Tekla.Structures.Model.UI.View view) { ArrayList visibleParts = new ArrayList(); Point min = new Point(-999999, -999999, -999999); Point max = new Point(999999, 999999, 999999); TSM.UI.ModelObjectSelector selector = new TSM.UI.ModelObjectSelector(); TSM.ModelObjectEnumerator allObjects = selector.GetObjectsByBoundingBox(min, max, view); while (allObjects.MoveNext()) { if (allObjects.Current is TSM.Part) { if ((allObjects.Current as TSM.Part).Material.MaterialString.StartsWith("C")) { visibleParts.Add(allObjects.Current); } } } return visibleParts; }
public void Modify(PropertyValueChangedEventArgs e) { string label = e.ChangedItem.Label; Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.ContourPlate) { Tekla.Structures.Model.ContourPlate contourPlate = (Tekla.Structures.Model.ContourPlate)modelObjectEnum.Current; if (label == "Name") contourPlate.Name = name; if (label == "Profile") contourPlate.Profile.ProfileString = profile; if (label == "Material") contourPlate.Material.MaterialString = material; if (label == "Finish") contourPlate.Finish = finish; if (label == "Class") contourPlate.Class = classValue; if (label == "PartPrefix") contourPlate.PartNumber.Prefix = partPrefix; if (label == "PartStartNo") contourPlate.PartNumber.StartNumber = int.Parse(partStartNo); if (label == "AssemblyPrefix") contourPlate.AssemblyNumber.Prefix = assemblyPrefix; if (label == "AssemblyStartNo") contourPlate.AssemblyNumber.StartNumber = int.Parse(assemblyStartNo); if (label == "Phase") contourPlate.SetPhase(new Phase(int.Parse(phase))); if (label == "PositionOnPlane") { if (positionOnPlane == PositionPlaneEnum.Left) contourPlate.Position.Plane = Position.PlaneEnum.LEFT; if (positionOnPlane == PositionPlaneEnum.Middle) contourPlate.Position.Plane = Position.PlaneEnum.MIDDLE; if (positionOnPlane == PositionPlaneEnum.Right) contourPlate.Position.Plane = Position.PlaneEnum.RIGHT; } if (label == "PositionOnPlaneOffset") contourPlate.Position.PlaneOffset = double.Parse(positionOnPlaneOffset); if (label == "PositionRotation") { if (positionRotation == PositionRotationEnum.Top) contourPlate.Position.Rotation = Position.RotationEnum.TOP; if (positionRotation == PositionRotationEnum.Front) contourPlate.Position.Rotation = Position.RotationEnum.FRONT; if (positionRotation == PositionRotationEnum.Back) contourPlate.Position.Rotation = Position.RotationEnum.BACK; if (positionRotation == PositionRotationEnum.Below) contourPlate.Position.Rotation = Position.RotationEnum.BELOW; } if (label == "PositionRotationOffset") contourPlate.Position.RotationOffset = double.Parse(positionRotationOffset); if (label == "PositionAtDepth") { if (positionAtDepth == PositionDepthEnum.Behind) contourPlate.Position.Depth = Position.DepthEnum.BEHIND; if (positionAtDepth == PositionDepthEnum.Front) contourPlate.Position.Depth = Position.DepthEnum.FRONT; if (positionAtDepth == PositionDepthEnum.Middle) contourPlate.Position.Depth = Position.DepthEnum.MIDDLE; } if (label == "AtDepthOffset") contourPlate.Position.DepthOffset = double.Parse(positionAtDepthOffset); //if (label == "Userfield1") contourPlate.SetUserProperty("USER_FIELD_1", userfield1); //if (label == "Userfield2") contourPlate.SetUserProperty("USER_FIELD_2", userfield2); //if (label == "Userfield3") contourPlate.SetUserProperty("USER_FIELD_3", userfield3); //if (label == "Userfield4") contourPlate.SetUserProperty("USER_FIELD_4", userfield4); //if (label == "NotesComments") contourPlate.SetUserProperty("comment", notesComments); //if (label == "FittingNotes") contourPlate.SetUserProperty("FIT_NOTES", fittingNotes); //if (label == "FittingNotes2") contourPlate.SetUserProperty("FIT_NOTES2", fittingNotes2); //if (label == "Cambering") contourPlate.SetUserProperty("cambering", cambering); //if (label == "Paint") contourPlate.SetUserProperty("PAINT", paint); //if (label == "PreliminaryMark") contourPlate.SetUserProperty("PRELIM_MARK", preliminaryMark); //if (label == "PaintWFT") contourPlate.SetUserProperty("PAINT_WFT", paintWFT); //if (label == "PaintDFT") contourPlate.SetUserProperty("PAINT_DFT", paintDFT); //if (label == "ShearStart") contourPlate.SetUserProperty("shear1", double.Parse(shearStart) * 1000); //if (label == "ShearEnd") contourPlate.SetUserProperty("shear2", double.Parse(shearEnd) * 1000); //if (label == "AxialStart") contourPlate.SetUserProperty("axial1", double.Parse(axialStart) * 1000); //if (label == "AxialEnd") contourPlate.SetUserProperty("axial2", double.Parse(axialEnd) * 1000); //if (label == "MomentStart") contourPlate.SetUserProperty("moment1", double.Parse(momentStart) * 1000); //if (label == "MomentEnd") contourPlate.SetUserProperty("moment2", double.Parse(momentEnd) * 1000); //if (label == "ConnCodeStart") contourPlate.SetUserProperty("CONN_CODE_END1", connCodeStart); //if (label == "ConnCodeEnd") contourPlate.SetUserProperty("CONN_CODE_END2", connCodeEnd); contourPlate.Modify(); model.CommitChanges(); } } }
public void Modify(PropertyValueChangedEventArgs e) { string label = e.ChangedItem.Label; Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Grid) { Grid Grid = (Grid)modelObjectEnum.Current; if (label == "CoordinateX") Grid.CoordinateX = coordinateX; if (label == "CoordinateY") Grid.CoordinateY = coordinateY; if (label == "CoordinateZ") Grid.CoordinateZ = coordinateZ; if (label == "LabelX") Grid.LabelX = labelX; if (label == "LabelY") Grid.LabelY = labelY; if (label == "LabelZ") Grid.LabelZ = labelZ; Grid.Modify(); } } }
public void Modify(PropertyValueChangedEventArgs e) { string label = e.ChangedItem.Label; Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is BaseWeld) { BaseWeld weld = (BaseWeld)modelObjectEnum.Current; if (label == "SizeAbove") weld.SizeAbove = double.Parse(sizeAbove); if (label == "WeldTypeAbove") { if (weldTypeAbove == WeldType.WELD_TYPE_NONE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_NONE; else if (weldTypeAbove == WeldType.WELD_TYPE_FILLET) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_FILLET; else if (weldTypeAbove == WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE; else if (weldTypeAbove == WeldType.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE; else if (weldTypeAbove == WeldType.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_J_GROOVE_J_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_J_GROOVE_J_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_FLARE_V_GROOVE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_V_GROOVE; else if (weldTypeAbove == WeldType.WELD_TYPE_FLARE_BEVEL_GROOVE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_BEVEL_GROOVE; else if (weldTypeAbove == WeldType.WELD_TYPE_EDGE_FLANGE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE_FLANGE; else if (weldTypeAbove == WeldType.WELD_TYPE_CORNER_FLANGE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_CORNER_FLANGE; else if (weldTypeAbove == WeldType.WELD_TYPE_PLUG) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_PLUG; else if (weldTypeAbove == WeldType.WELD_TYPE_BEVEL_BACKING) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_BACKING; else if (weldTypeAbove == WeldType.WELD_TYPE_SPOT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SPOT; else if (weldTypeAbove == WeldType.WELD_TYPE_SEAM) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SEAM; else if (weldTypeAbove == WeldType.WELD_TYPE_SLOT) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_SLOT; else if (weldTypeAbove == WeldType.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET; else if (weldTypeAbove == WeldType.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET; else if (weldTypeAbove == WeldType.WELD_TYPE_MELT_THROUGH) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_MELT_THROUGH; else if (weldTypeAbove == WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weldTypeAbove == WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weld.TypeAbove = BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weldTypeAbove == WeldType.WELD_TYPE_EDGE) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE; else if (weldTypeAbove == WeldType.WELD_TYPE_ISO_SURFACING) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_ISO_SURFACING; else if (weldTypeAbove == WeldType.WELD_TYPE_FOLD) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_FOLD; else if (weldTypeAbove == WeldType.WELD_TYPE_INCLINED) weld.TypeAbove = BaseWeld.WeldTypeEnum.WELD_TYPE_INCLINED; } if (label == "ContourTypeAbove") { if (contourTypeAbove == ContourType.None) weld.ContourAbove = BaseWeld.WeldContourEnum.WELD_CONTOUR_NONE; else if (contourTypeAbove == ContourType.Flush) weld.ContourAbove = BaseWeld.WeldContourEnum.WELD_CONTOUR_FLUSH; } if (label == "SizeBelow") weld.SizeBelow = double.Parse(sizeBelow); if (label == "WeldTypeBelow") { if (weldTypeBelow == WeldType.WELD_TYPE_NONE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_NONE; else if (weldTypeBelow == WeldType.WELD_TYPE_FILLET) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_FILLET; else if (weldTypeBelow == WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE; else if (weldTypeBelow == WeldType.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE; else if (weldTypeBelow == WeldType.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_J_GROOVE_J_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_J_GROOVE_J_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_FLARE_V_GROOVE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_V_GROOVE; else if (weldTypeBelow == WeldType.WELD_TYPE_FLARE_BEVEL_GROOVE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_BEVEL_GROOVE; else if (weldTypeBelow == WeldType.WELD_TYPE_EDGE_FLANGE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE_FLANGE; else if (weldTypeBelow == WeldType.WELD_TYPE_CORNER_FLANGE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_CORNER_FLANGE; else if (weldTypeBelow == WeldType.WELD_TYPE_PLUG) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_PLUG; else if (weldTypeBelow == WeldType.WELD_TYPE_BEVEL_BACKING) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_BACKING; else if (weldTypeBelow == WeldType.WELD_TYPE_SPOT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SPOT; else if (weldTypeBelow == WeldType.WELD_TYPE_SEAM) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SEAM; else if (weldTypeBelow == WeldType.WELD_TYPE_SLOT) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_SLOT; else if (weldTypeBelow == WeldType.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET; else if (weldTypeBelow == WeldType.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET; else if (weldTypeBelow == WeldType.WELD_TYPE_MELT_THROUGH) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_MELT_THROUGH; else if (weldTypeBelow == WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weldTypeBelow == WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weld.TypeBelow = BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weldTypeBelow == WeldType.WELD_TYPE_EDGE) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE; else if (weldTypeBelow == WeldType.WELD_TYPE_ISO_SURFACING) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_ISO_SURFACING; else if (weldTypeBelow == WeldType.WELD_TYPE_FOLD) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_FOLD; else if (weldTypeBelow == WeldType.WELD_TYPE_INCLINED) weld.TypeBelow = BaseWeld.WeldTypeEnum.WELD_TYPE_INCLINED; } if (label == "ContourTypeBelow") { if (contourTypeBelow == ContourType.None) weld.ContourBelow = BaseWeld.WeldContourEnum.WELD_CONTOUR_NONE; else if (contourTypeBelow == ContourType.Flush) weld.ContourBelow = BaseWeld.WeldContourEnum.WELD_CONTOUR_FLUSH; } if (label == "RefText") weld.ReferenceText = refText; if (label == "Around") { if (around == Bool.True) weld.AroundWeld = true; else weld.AroundWeld = false; } weld.Modify(); } } }
public void GetProperties() { Model model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); if (modelObjectEnum.GetSize() == 1) { while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.BaseWeld) { BaseWeld weld = (BaseWeld)modelObjectEnum.Current; refText = weld.ReferenceText; if (weld.AroundWeld) around = Bool.True; else around = Bool.False; sizeAbove = weld.SizeAbove.ToString(); if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_NONE) weldTypeAbove = WeldType.WELD_TYPE_NONE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_FILLET) weldTypeAbove = WeldType.WELD_TYPE_FILLET; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT) weldTypeAbove = WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weldTypeAbove = WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT) weldTypeAbove = WeldType.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE) weldTypeAbove = WeldType.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE) weldTypeAbove = WeldType.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT) weldTypeAbove = WeldType.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_J_GROOVE_J_BUTT) weldTypeAbove = WeldType.WELD_TYPE_J_GROOVE_J_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_V_GROOVE) weldTypeAbove = WeldType.WELD_TYPE_FLARE_V_GROOVE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_BEVEL_GROOVE) weldTypeAbove = WeldType.WELD_TYPE_FLARE_BEVEL_GROOVE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE_FLANGE) weldTypeAbove = WeldType.WELD_TYPE_EDGE_FLANGE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_CORNER_FLANGE) weldTypeAbove = WeldType.WELD_TYPE_CORNER_FLANGE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_PLUG) weldTypeAbove = WeldType.WELD_TYPE_PLUG; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_BACKING) weldTypeAbove = WeldType.WELD_TYPE_BEVEL_BACKING; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SPOT) weldTypeAbove = WeldType.WELD_TYPE_SPOT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SEAM) weldTypeAbove = WeldType.WELD_TYPE_SEAM; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_SLOT) weldTypeAbove = WeldType.WELD_TYPE_SLOT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET) weldTypeAbove = WeldType.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET) weldTypeAbove = WeldType.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_MELT_THROUGH) weldTypeAbove = WeldType.WELD_TYPE_MELT_THROUGH; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT) weldTypeAbove = WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weldTypeAbove = WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE) weldTypeAbove = WeldType.WELD_TYPE_EDGE; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_ISO_SURFACING) weldTypeAbove = WeldType.WELD_TYPE_ISO_SURFACING; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_FOLD) weldTypeAbove = WeldType.WELD_TYPE_FOLD; else if (weld.TypeAbove == BaseWeld.WeldTypeEnum.WELD_TYPE_INCLINED) weldTypeAbove = WeldType.WELD_TYPE_INCLINED; else Console.WriteLine(weld.TypeAbove); if (weld.ContourAbove == BaseWeld.WeldContourEnum.WELD_CONTOUR_NONE) contourTypeAbove = ContourType.None; else if (weld.ContourAbove == BaseWeld.WeldContourEnum.WELD_CONTOUR_FLUSH) contourTypeAbove = ContourType.Flush; sizeBelow = weld.SizeBelow.ToString(); if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_NONE) weldTypeBelow = WeldType.WELD_TYPE_NONE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_FILLET) weldTypeBelow = WeldType.WELD_TYPE_FILLET; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT) weldTypeBelow = WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weldTypeBelow = WeldType.WELD_TYPE_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT) weldTypeBelow = WeldType.WELD_TYPE_SQUARE_GROOVE_SQUARE_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE) weldTypeBelow = WeldType.WELD_TYPE_SINGLE_V_BUTT_WITH_BROAD_ROOT_FACE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE) weldTypeBelow = WeldType.WELD_TYPE_SINGLE_BEVEL_BUTT_WITH_BROAD_ROOT_FACE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT) weldTypeBelow = WeldType.WELD_TYPE_U_GROOVE_SINGLE_U_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_J_GROOVE_J_BUTT) weldTypeBelow = WeldType.WELD_TYPE_J_GROOVE_J_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_V_GROOVE) weldTypeBelow = WeldType.WELD_TYPE_FLARE_V_GROOVE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_FLARE_BEVEL_GROOVE) weldTypeBelow = WeldType.WELD_TYPE_FLARE_BEVEL_GROOVE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE_FLANGE) weldTypeBelow = WeldType.WELD_TYPE_EDGE_FLANGE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_CORNER_FLANGE) weldTypeBelow = WeldType.WELD_TYPE_CORNER_FLANGE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_PLUG) weldTypeBelow = WeldType.WELD_TYPE_PLUG; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_BEVEL_BACKING) weldTypeBelow = WeldType.WELD_TYPE_BEVEL_BACKING; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SPOT) weldTypeBelow = WeldType.WELD_TYPE_SPOT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SEAM) weldTypeBelow = WeldType.WELD_TYPE_SEAM; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_SLOT) weldTypeBelow = WeldType.WELD_TYPE_SLOT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET) weldTypeBelow = WeldType.WELD_TYPE_PARTIAL_PENETRATION_SINGLE_BEVEL_BUTT_PLUS_FILLET; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET) weldTypeBelow = WeldType.WELD_TYPE_PARTIAL_PENETRATION_SQUARE_GROOVE_PLUS_FILLET; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_MELT_THROUGH) weldTypeBelow = WeldType.WELD_TYPE_MELT_THROUGH; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT) weldTypeBelow = WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_V_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT) weldTypeBelow = WeldType.STEEP_FLANKED_BEVEL_GROOVE_SINGLE_BEVEL_BUTT; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_EDGE) weldTypeBelow = WeldType.WELD_TYPE_EDGE; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_ISO_SURFACING) weldTypeBelow = WeldType.WELD_TYPE_ISO_SURFACING; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_FOLD) weldTypeBelow = WeldType.WELD_TYPE_FOLD; else if (weld.TypeBelow == BaseWeld.WeldTypeEnum.WELD_TYPE_INCLINED) weldTypeBelow = WeldType.WELD_TYPE_INCLINED; else Console.WriteLine(weld.TypeBelow); if (weld.ContourBelow == BaseWeld.WeldContourEnum.WELD_CONTOUR_NONE) contourTypeBelow = ContourType.None; else if (weld.ContourBelow == BaseWeld.WeldContourEnum.WELD_CONTOUR_FLUSH) contourTypeBelow = ContourType.Flush; } } } else { sizeAbove = ""; weldTypeAbove = new WeldType(); contourTypeAbove = new ContourType(); sizeBelow = ""; weldTypeBelow = new WeldType(); contourTypeBelow = new ContourType(); refText = ""; around = new Bool(); } }
ArrayList GetModelObjectsByType(string ObjectType) { ArrayList ObjectsToBeSelected = new ArrayList(); Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); foreach (Tekla.Structures.Model.ModelObject modelObject in modelObjectSelector.GetSelectedObjects()) { if (modelObject.GetType().ToString() == ObjectType) ObjectsToBeSelected.Add(modelObject); } return ObjectsToBeSelected; }
public void GetProperties() { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); if (modelObjectEnum.GetSize() == 1) { while (modelObjectEnum.MoveNext()) { if (modelObjectEnum.Current is Tekla.Structures.Model.ContourPlate) { Tekla.Structures.Model.ContourPlate contourPlate = (Tekla.Structures.Model.ContourPlate)modelObjectEnum.Current; TransformationPlane currentTP = new TransformationPlane(); currentTP = model.GetWorkPlaneHandler().GetCurrentTransformationPlane(); model.GetWorkPlaneHandler().SetCurrentTransformationPlane(new TransformationPlane()); contourPlate.Select(); Assembly assembly = contourPlate.GetAssembly() as Tekla.Structures.Model.Assembly; assembly.GetReportProperty("ASSEMBLY_POSITION_CODE", ref gridLocation); partType = contourPlate.GetType().Name; partID = contourPlate.Identifier.ID.ToString(); contourPlate.GetReportProperty("OWNER", ref owner); partPrefix = contourPlate.PartNumber.Prefix; partStartNo = contourPlate.PartNumber.StartNumber.ToString(); assemblyPrefix = contourPlate.AssemblyNumber.Prefix; assemblyStartNo = contourPlate.AssemblyNumber.StartNumber.ToString(); Phase CurrentPhase = new Phase(); contourPlate.GetPhase(out CurrentPhase); phase = CurrentPhase.PhaseNumber.ToString(); name = contourPlate.Name; profile = contourPlate.Profile.ProfileString; material = contourPlate.Material.MaterialString; finish = contourPlate.Finish; classValue = contourPlate.Class; if (contourPlate.Position.Plane == Position.PlaneEnum.LEFT) positionOnPlane = PositionPlaneEnum.Left; else if (contourPlate.Position.Plane == Position.PlaneEnum.MIDDLE) positionOnPlane = PositionPlaneEnum.Middle; else if (contourPlate.Position.Plane == Position.PlaneEnum.RIGHT) positionOnPlane = PositionPlaneEnum.Right; positionOnPlaneOffset = contourPlate.Position.PlaneOffset.ToString("F02"); if (contourPlate.Position.Rotation == Position.RotationEnum.BACK) positionRotation = PositionRotationEnum.Back; else if (contourPlate.Position.Rotation == Position.RotationEnum.BELOW) positionRotation = PositionRotationEnum.Below; else if (contourPlate.Position.Rotation == Position.RotationEnum.FRONT) positionRotation = PositionRotationEnum.Front; else if (contourPlate.Position.Rotation == Position.RotationEnum.TOP) positionRotation = PositionRotationEnum.Top; positionRotationOffset = contourPlate.Position.RotationOffset.ToString("F02"); if (contourPlate.Position.Depth == Position.DepthEnum.BEHIND) positionAtDepth = PositionDepthEnum.Behind; else if (contourPlate.Position.Depth == Position.DepthEnum.FRONT) positionAtDepth = PositionDepthEnum.Front; else if (contourPlate.Position.Depth == Position.DepthEnum.MIDDLE) positionAtDepth = PositionDepthEnum.Middle; positionAtDepthOffset = contourPlate.Position.DepthOffset.ToString("F02"); //contourPlate.GetUserProperty("USER_FIELD_1", ref userfield1); //contourPlate.GetUserProperty("USER_FIELD_2", ref userfield2); //contourPlate.GetUserProperty("USER_FIELD_3", ref userfield3); //contourPlate.GetUserProperty("USER_FIELD_4", ref userfield4); //contourPlate.GetUserProperty("comment", ref notesComments); //contourPlate.GetUserProperty("FIT_NOTES", ref fittingNotes); //contourPlate.GetUserProperty("FIT_NOTES2", ref fittingNotes2); //contourPlate.GetUserProperty("cambering", ref cambering); //contourPlate.GetUserProperty("PAINT", ref paint); //contourPlate.GetUserProperty("PRELIM_MARK", ref preliminaryMark); //contourPlate.GetUserProperty("PAINT_WFT", ref paintWFT); //contourPlate.GetUserProperty("PAINT_DFT", ref paintDFT); //double dblshear1 = 0; contourPlate.GetUserProperty("shear1", ref dblshear1); dblshear1 = dblshear1 * 0.001; shearStart = dblshear1.ToString(); //double dblshear2 = 0; contourPlate.GetUserProperty("shear2", ref dblshear2); dblshear2 = dblshear2 * 0.001; shearEnd = dblshear2.ToString(); //double dblaxial1 = 0; contourPlate.GetUserProperty("axial1", ref dblaxial1); dblaxial1 = dblaxial1 * 0.001; axialStart = dblaxial1.ToString(); //double dblaxial2 = 0; contourPlate.GetUserProperty("axial2", ref dblaxial2); dblaxial2 = dblaxial2 * 0.001; axialEnd = dblaxial2.ToString(); //double dblmoment1 = 0; contourPlate.GetUserProperty("moment1", ref dblmoment1); dblmoment1 = dblmoment1 * 0.001; momentStart = dblmoment1.ToString(); //double dblmoment2 = 0; contourPlate.GetUserProperty("moment2", ref dblmoment2); dblmoment2 = dblmoment2 * 0.001; momentEnd = dblmoment2.ToString(); //contourPlate.GetUserProperty("CONN_CODE_END1", ref connCodeStart); //contourPlate.GetUserProperty("CONN_CODE_END2", ref connCodeEnd); model.GetWorkPlaneHandler().SetCurrentTransformationPlane(currentTP); } } } if (modelObjectEnum.GetSize() > 1) { partType = ""; partID = ""; owner = ""; gridLocation = ""; partPrefix = ""; partStartNo = ""; assemblyPrefix = ""; assemblyStartNo = ""; phase = ""; name = ""; profile = ""; material = ""; finish = ""; classValue = ""; //userfield1 = ""; //userfield2 = ""; //userfield3 = ""; //userfield4 = ""; //notesComments = ""; //fittingNotes = ""; //fittingNotes2 = ""; //cambering = ""; //paint = ""; //preliminaryMark = ""; //paintWFT = ""; //paintDFT = ""; //shearStart = ""; //shearEnd = ""; //axialStart = ""; //axialEnd = ""; //momentStart = ""; //momentEnd = ""; //connCodeStart = ""; //connCodeEnd = ""; positionOnPlane = new PositionPlaneEnum(); positionOnPlaneOffset = ""; positionRotation = new PositionRotationEnum(); positionRotationOffset = ""; positionAtDepth = new PositionDepthEnum(); positionAtDepthOffset = ""; } }
private void UpdateProperties() { if (this.propertyGrid1.InvokeRequired) { UpdatePropertiesCallback d = new UpdatePropertiesCallback(UpdateProperties); this.Invoke(d); } else { Drawing drawing = drawingHandler.GetActiveDrawing(); if (drawing != null) { DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); statusLabel.Text = drawingObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (drawingObjectEnum.GetSize() == 0) { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } while (drawingObjectEnum.MoveNext()) { string objectType = drawingObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) arraySelectedObjects.Add(objectType); } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) comboBox1.Items.Add(objectName); if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Part") { drawingPart.GetProperties(); propertyGrid1.SelectedObject = drawingPart; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Weld") { drawingWeld.GetProperties(); propertyGrid1.SelectedObject = drawingWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.View") { view.GetProperties(); propertyGrid1.SelectedObject = view; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Bolt") { drawingBolt.GetProperties(); propertyGrid1.SelectedObject = drawingBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.StraightDimensionSet") { straightDim.GetProperties(); propertyGrid1.SelectedObject = straightDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.RadiusDimension") { radiusDim.GetProperties(); propertyGrid1.SelectedObject = radiusDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.CurvedDimensionSetRadial") { radialDim.GetProperties(); propertyGrid1.SelectedObject = radialDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.AngleDimension") { angleDim.GetProperties(); propertyGrid1.SelectedObject = angleDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.GridLine") { drawingGrid.GetProperties(); propertyGrid1.SelectedObject = drawingGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Line") { line.GetProperties(); propertyGrid1.SelectedObject = line; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Arc") { arc.GetProperties(); propertyGrid1.SelectedObject = arc; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polyline") { polyline.GetProperties(); propertyGrid1.SelectedObject = polyline; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Rectangle") { rectangle.GetProperties(); propertyGrid1.SelectedObject = rectangle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Circle") { circle.GetProperties(); propertyGrid1.SelectedObject = circle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polygon") { polygon.GetProperties(); propertyGrid1.SelectedObject = polygon; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Text") { text.GetProperties(); propertyGrid1.SelectedObject = text; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Symbol") { symbol.GetProperties(); propertyGrid1.SelectedObject = symbol; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Mark") { mark.GetProperties(); propertyGrid1.SelectedObject = mark; } else { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) propertyGrid1.SelectedObject = null; } if (drawing == null) { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); statusLabel.Text = modelObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (modelObjectEnum.GetSize() == 0) propertyGrid1.SelectedObject = null; while (modelObjectEnum.MoveNext()) { string objectType = modelObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) arraySelectedObjects.Add(objectType); } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) comboBox1.Items.Add(objectName); if (arraySelectedObjects.Count == 0) { Tekla.Structures.Model.UI.ModelViewEnumerator modelViewEnum = Tekla.Structures.Model.UI.ViewHandler.GetSelectedViews(); if (modelViewEnum.Count == 1) { modelView.GetProperties(); propertyGrid1.SelectedObject = modelView; comboBox1.SelectedText = "Tekla.Structures.Model.UI.View"; propertyGrid1.Focus(); } } if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Beam") { beam.GetProperties(); propertyGrid1.SelectedObject = beam; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.ContourPlate") { contourPlate.GetProperties(); propertyGrid1.SelectedObject = contourPlate; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Weld")) { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.PolygonWeld") { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Bolt")) { modelBolt.GetProperties(); propertyGrid1.SelectedObject = modelBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Grid") { modelGrid.GetProperties(); propertyGrid1.SelectedObject = modelGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Connection") { modelConnection.GetProperties(); propertyGrid1.SelectedObject = modelConnection; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) propertyGrid1.SelectedObject = null; } } }
// This application assumes that users have already opened a drawing - an assembly drawing. // The goal is for the user to see that particular assembly // in the model, and to see ONLY that assembly in the model. // Therefore all parts which are not associated with this assembly need to be hidden. // All the clutter needs to be removed from view. // And all parts associated with this assembly need to be visible. // Summary: our goals is for users to see, given the particular assembly drawing that they are in, // just that ONE assembly within the model, and to have all other parts hidden. // Methodology: // 1. We obtain the assembly drawing and go through all the drawing objects within the assembly drawing. We get the identifiers of these //// drawing objects and place them in a list (assemblyPartIdentifierList) // 2. We obtain the identifiers of all the objects in the model and place them on this list too. ///3. We want to hide all objects which are not associated with the assembly drawing which is currently open. ///4. Consequently, we obtain a List of identifiers which contains all the objects in the model APART from the assembly parts of the current assembly ///// we are working on. ///5. We convert this list of identifiers into a TSM.Model Object list, and then again convert this list into an ArrayList. ///6. The array list should contain all the objects we need to hide. ///7. We use the array list to select all the objects which need to be hidden, in the model. ///8. We want to call a macro which hides all the objects currently selected. // Two questions, (1) is the above approach a good and efficient wa to solve the above problem> // Given a drawing is open, how can one call a macro which hides all selected objects? // Your comemnts and criticism would be very much apprieciated. private void GetAssembly() { try { // creates model and drawing handle TSM.Model myModel = new TSM.Model(); TSD.DrawingHandler dh = new TSD.DrawingHandler(); if (dh.GetConnectionStatus() == false) { System.Windows.Forms.MessageBox.Show("Could not connect drawing handler."); return; } // users must have an Assembly drawing open. We want to see the assembly contained in the assembly drawing in the // UI. Hence we first obtain the identifiers of the drawing objects. TSD.Drawing currentDrawing = dh.GetActiveDrawing(); if (currentDrawing == null) { System.Windows.Forms.MessageBox.Show("Please ensure that an assembly drawing is open"); return; } TSD.AssemblyDrawing currentAssemblyDrawing = currentDrawing as TSD.AssemblyDrawing; if (currentAssemblyDrawing == null) { System.Windows.Forms.MessageBox.Show("Please ensure that an assembly drawing is open"); return; } if (currentAssemblyDrawing != null) { // in order to select in the model space we need to create an array list ArrayList assemblyObjectToBeViewed = new ArrayList(); // we need to add a model object to the array list. We are adding the assembly as the model object for the model object selector to select assemblyObjectToBeViewed.Add( myModel.SelectModelObject(currentAssemblyDrawing.AssemblyIdentifier) ); TSM.UI.ModelObjectSelector selector = new TSM.UI.ModelObjectSelector(); selector.Select(assemblyObjectToBeViewed); TSM.Operations.Operation.RunMacro("ShowOnlySelected.cs"); TSM.Operations.Operation.RunMacro("FitToView.cs"); } else { System.Windows.Forms.MessageBox.Show("Please ensure you have an Assembly drawing open"); } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } }
private static void removeAssemblyPropertys(TSM.Assembly currentAssembly, Tekla.Technology.Akit.IScript akit) { ArrayList currentSelection = new ArrayList(); currentSelection.Add(currentAssembly); TSM.UI.ModelObjectSelector selector = new TSM.UI.ModelObjectSelector(); selector.Select(currentSelection); akit.Callback("acmd_display_selected_object_dialog", "", "View_01 window_1"); TSM.Part currentMainPart = currentAssembly.GetMainPart() as TSM.Part; if (!currentMainPart.Material.MaterialString.StartsWith("C")) { akit.ValueChange("steelassembly_1", "AssemblyPrefix", ""); akit.ValueChange("steelassembly_1", "AssemblyStartNumber", ""); akit.ValueChange("steelassembly_1", "AssemblyName", ""); akit.PushButton("modify_button", "steelassembly_1"); akit.PushButton("OK_button", "steelassembly_1"); } else { if (currentMainPart.CastUnitType == 0) { akit.ValueChange("precastassembly_1", "AssemblyPrefix", ""); akit.ValueChange("precastassembly_1", "AssemblyStartNumber", ""); akit.ValueChange("precastassembly_1", "AssemblyName", ""); akit.PushButton("modify_button", "precastassembly_1"); akit.PushButton("OK_button", "precastassembly_1"); } else { akit.ValueChange("insituassembly_1", "AssemblyPrefix", ""); akit.ValueChange("insituassembly_1", "AssemblyStartNumber", ""); akit.ValueChange("insituassembly_1", "AssemblyName", ""); akit.PushButton("modify_button", "insituassembly_1"); akit.PushButton("OK_button", "insituassembly_1"); } } }
/// <summary> /// select all parts that need to be renumbered /// </summary> /// <param name="model"></param> /// <returns>quantity of selected parts</returns> public static int SelectPartsToBeRenumbered(TSM.Model model) { ArrayList partsToBeSelected = new ArrayList(); foreach (PartCustom part in partList) { if (part.NeedsToChange) { partsToBeSelected.Add(model.SelectModelObject(part.Identifier)); } } TSM.UI.ModelObjectSelector mos = new TSM.UI.ModelObjectSelector(); mos.Select(partsToBeSelected); return mos.GetSelectedObjects().GetSize(); }
/// <summary> /// Renumbers part that need renumbering. /// </summary> /// <param name="model">Tekla.Structures.Model model</param> public static void RenumberParts(TSM.Model model) { // check if numberinghistory.txt exists and change its name RenameNumberingHistory(model); foreach (PartCustom part in partList) { if (part.NeedsToChange) { string partCurrentPosition; partCurrentPosition = part.prefix.ToString() + part.number.ToString(); int newNum; string oppositePrefix = ChangeCapitalization(part.Prefix); // checks if a part with same position has already been assigned a new number. // If so, it skips it --> tekla applies the new number from the first part to all of the same parts // all changes are collected in prefixChanges dictionary. if (!prefixChanges.ContainsKey(partCurrentPosition)) { bool firstGo = true; string preNumber = string.Empty; string postNumber = string.Empty; do { int maxOppositeNumber = positionsDictionary[oppositePrefix].Max(); int maxNumber = positionsDictionary[part.Prefix].Max(); newNum = Math.Max(maxNumber, maxOppositeNumber) + 1; // adds new number to prefixChanges dictionary Tuple<string, int> tuple = new Tuple<string, int>(part.prefix, newNum); if (firstGo) { prefixChanges.Add(partCurrentPosition, tuple); } else { prefixChanges.Remove(partCurrentPosition); prefixChanges.Add(partCurrentPosition, tuple); } // select part - clumsy, could it be improved? ArrayList aList = new ArrayList(); TSM.Object tPart = model.SelectModelObject(part.Identifier); TSM.UI.ModelObjectSelector selector = new TSM.UI.ModelObjectSelector(); aList.Add(tPart); selector.Select(aList); TSM.Part myPart = tPart as TSM.Part; // preNumber and postNumber strings are compared in the 'while' of the do-while loop, to determine if Macrobuilder // macro was succesfully run. // (sometimes Tekla doesn't want to apply certain numbers - e.g.: if they were in use in previous model stages, ... ) preNumber = myPart.GetPartMark(); // use Macrobuilder dll to change numbering MacroBuilder macroBuilder = new MacroBuilder(); macroBuilder.Callback("acmdAssignPositionNumber", "part", "main_frame"); macroBuilder.ValueChange("assign_part_number", "Position", newNum.ToString()); macroBuilder.PushButton("AssignPB", "assign_part_number"); macroBuilder.PushButton("CancelPB", "assign_part_number"); macroBuilder.Run(); postNumber = myPart.GetPartMark(); bool ismacrounning = true; while (ismacrounning) { ismacrounning = TSM.Operations.Operation.IsMacroRunning(); } // add newly created part mark to positionsDict positionsDictionary[part.Prefix].Add(newNum); firstGo = false; } //while (!AssignmentSuccesCheck(model)); while (preNumber == postNumber); } } } }
private void comboBox1_SelectedValueChanged(object sender, EventArgs e) { Drawing drawing = drawingHandler.GetActiveDrawing(); if (drawing == null) { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ArrayList arrayObjectsSelected = GetModelObjectsByType(comboBox1.Text); if (arrayObjectsSelected.Count > 0) modelObjectSelector.Select(arrayObjectsSelected); } if (drawing != null) { ArrayList arrayObjectsSelected = GetDrawingObjectsByType(comboBox1.Text); if (arrayObjectsSelected.Count > 0) drawingHandler.GetDrawingObjectSelector().SelectObjects(arrayObjectsSelected, false); } }