public static void main() { DrawingEnumerator selectedDrawings = getSelectedDrawings(); foreach (Drawing currentDrawing in selectedDrawings) { double highestScale = getHighestScale(currentDrawing); setScaleToTitle3(currentDrawing, highestScale); } MessageBox.Show("Valitud " + selectedDrawings.GetSize() + " joonist." + Environment.NewLine + "Muudetud " + selectedDrawings.GetSize() + " joonise title3"); }
public static void Run(Tekla.Technology.Akit.IScript akit) { Model model = new Model(); ModelInfo modelInfo = model.GetInfo(); string drawingsFolderPath = modelInfo.ModelPath + @"\drawings\"; DrawingHandler drawingHandler = new DrawingHandler(); DrawingEnumerator drawingEnum = drawingHandler.GetDrawingSelector().GetSelected(); if (drawingEnum.GetSize() == 1) { while (drawingEnum.MoveNext()) { System.Reflection.PropertyInfo propertyInfo = drawingEnum.Current.GetType().GetProperty("Identifier", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic); object value = propertyInfo.GetValue(drawingEnum.Current, null); Identifier Identifier = (Identifier)value; Beam tempBeam = new Beam(); tempBeam.Identifier = Identifier; string drawingFile = ""; bool result = tempBeam.GetReportProperty("DRAWING_PLOT_FILE", ref drawingFile); System.IO.FileInfo file = new System.IO.FileInfo(drawingsFolderPath + drawingFile); if (file.Exists) { System.Diagnostics.Process.Start("Explorer.exe", @"/select, " + file.FullName); } } } }
/// <summary>Add items from the enumerator to the System.Collections.Generic.List</summary> public static List <Drawing> ToList(this DrawingEnumerator enumerator) { var output = new List <Drawing>(enumerator.GetSize()); while (enumerator.MoveNext()) { output.Add(enumerator.Current); } return(output); }
/// <summary>Add items from the enumerator to the System.Collections.Generic.List. if (enumerator.Current is T t) output.Add(t);</summary> public static List <T> ToList <T>(this DrawingEnumerator enumerator) where T : Drawing { var output = new List <T>(enumerator.GetSize()); while (enumerator.MoveNext()) { if (enumerator.Current is T t) { output.Add(t); } } return(output); }
private void PickExtraSheets_Click(object sender, EventArgs e) { ExtraSheets.Clear(); ExtraSheetsList.Items.Clear(); bool error = false; Model model = new Model(); ModelInfo modelInfo = model.GetInfo(); string drawingFolderPath = modelInfo.ModelPath + @"\drawings\"; DrawingHandler drawingHandler = new DrawingHandler(); DrawingEnumerator drawingEnum = drawingHandler.GetDrawingSelector().GetSelected(); if (drawingEnum.GetSize() > 0) { while (drawingEnum.MoveNext()) { if (drawingEnum.Current is AssemblyDrawing) { PropertyInfo pi = drawingEnum.Current.GetType().GetProperty("Identifier", BindingFlags.Instance | BindingFlags.NonPublic); object value = pi.GetValue(drawingEnum.Current, null); Identifier Identifier = (Identifier)value; Beam temporary = new Beam(); temporary.Identifier = Identifier; string dgFileName = ""; bool dg = temporary.GetReportProperty("DRAWING_PLOT_FILE", ref dgFileName); FileInfo dgFile = new FileInfo(drawingFolderPath + dgFileName); if (dgFile.Exists) { ExtraSheets.Add(dgFile.FullName); ExtraSheetsList.Items.Add(drawingEnum.Current.Mark); } } else { error = true; } } CopyViews.Enabled = true; if (error == true) { MessageBox.Show("Pick Assembly Drawings Only"); ExtraSheets.Clear(); ExtraSheetsList.Items.Clear(); CopyViews.Enabled = false; } } }
public void main() { DrawingEnumerator selectedDrawings = getSelectedDrawings(); ArrayList selectedCastUnitDrawings = getSelectedCastUnitDrawing(selectedDrawings); foreach (CastUnitDrawing currentDrawing in selectedCastUnitDrawings) { string objectName = getObjectName(currentDrawing); changeDrawingName(currentDrawing, objectName); } _myModel.CommitChanges(); MessageBox.Show("Valitud " + selectedDrawings.GetSize() + " joonist." + Environment.NewLine + "Muudetud " + selectedCastUnitDrawings.Count.ToString() + " joonise nime"); }
private void PickMainDrawing_Click(object sender, EventArgs e) { Model model = new Model(); ModelInfo modelInfo = model.GetInfo(); string drawingFolderPath = modelInfo.ModelPath + @"\drawings\"; DrawingHandler drawingHandler = new DrawingHandler(); DrawingEnumerator drawingEnum = drawingHandler.GetDrawingSelector().GetSelected(); if (drawingEnum.GetSize() == 1) { while (drawingEnum.MoveNext()) { if (drawingEnum.Current is AssemblyDrawing) { PropertyInfo pi = drawingEnum.Current.GetType().GetProperty("Identifier", BindingFlags.Instance | BindingFlags.NonPublic); object value = pi.GetValue(drawingEnum.Current, null); Identifier Identifier = (Identifier)value; Beam temporary = new Beam(); temporary.Identifier = Identifier; string dgFileName = ""; bool dg = temporary.GetReportProperty("DRAWING_PLOT_FILE", ref dgFileName); FileInfo dgFile = new FileInfo(drawingFolderPath + dgFileName); if (dgFile.Exists) { MainDrawing = dgFile.FullName; MainDrawingNumber.Text = drawingEnum.Current.Mark; } } else { MessageBox.Show("Pick ONE Assembly Drawing"); } } CreateExtraSheets.Enabled = true; } else { MessageBox.Show("Pick ONE Assembly Drawing"); } }
private void CreateExtraSheets_Click(object sender, EventArgs e) { akit.Callback("acmd_display_attr_dialog", "adraw_dial", "main_frame"); // open drawing settings dialog akit.ValueChange("adraw_dial", "gr_adraw_get_menu", "KWP-blank"); // select blank attributes akit.PushButton("gr_adraw_get", "adraw_dial"); // load attributes Model model = new Model(); Tekla.Structures.Model.UI.ModelObjectSelector mObjSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); DrawingHandler drawingHandler = new DrawingHandler(); DrawingEnumerator drawingEnum = drawingHandler.GetDrawingSelector().GetSelected(); if (drawingEnum.GetSize() > 0) { while (drawingEnum.MoveNext()) { if (drawingEnum.Current is AssemblyDrawing) { AssemblyDrawing assemblyDrawing = drawingEnum.Current as AssemblyDrawing; akit.ValueChange("adraw_dial", "gr_adraw_description", assemblyDrawing.Name); // change name akit.PushButton("dia_draw_select_parts", "Drawing_selection"); // select parts in drawing int count = 0; bool result = int.TryParse(RequiredSheets.Text, out count); for (int i = 2; i <= count; i++) { akit.ValueChange("adraw_dial", "txtFldSheetNumber", i.ToString()); // change sheet number akit.PushButton("gr_adraw_apply", "adraw_dial"); // apply settings akit.Callback("acmd_create_dim_assembly_drawings", "", "main_frame"); // create assembly drawing for selected part } mObjSelector.Select(new ArrayList()); } } } PickExtraSheets.Enabled = true; }
public static void Run(Tekla.Technology.Akit.IScript akit) { DrawingHandler DrawingHandler = new DrawingHandler(); DrawingEnumerator DrawingEnum = DrawingHandler.GetDrawingSelector().GetSelected(); if (DrawingEnum.GetSize() == 0) { // No drawings selected MessageBox.Show("No Drawings Selected"); return; } while (DrawingEnum.MoveNext()) { Drawing Drawing = DrawingEnum.Current; DrawingHandler.SetActiveDrawing(Drawing, false); DrawingObjectEnumerator DrawingObjEnum = Drawing.GetSheet().GetAllObjects(); ArrayList MarkArray = new ArrayList(); ArrayList PartArray = new ArrayList(); while (DrawingObjEnum.MoveNext()) { if (DrawingObjEnum.Current is MarkBase) { MarkArray.Add(DrawingObjEnum.Current); } if (DrawingObjEnum.Current is Tekla.Structures.Drawing.Part || DrawingObjEnum.Current is Tekla.Structures.Drawing.Bolt) { PartArray.Add(DrawingObjEnum.Current); } } DrawingHandler.GetDrawingObjectSelector().SelectObjects(MarkArray, true); // part mark properties akit.Callback("acmd_display_selected_drawing_object_dialog", "", "main_frame"); akit.TabChange("pmark_dial", "Container_2", "gr_mark_general_tab"); akit.PushButton("gr_pmark_place", "pmark_dial"); akit.ValueChange("pmpl_dial", "text_placing_mode", "1"); akit.PushButton("txpl_modify", "pmpl_dial"); akit.PushButton("txpl_cancel", "pmpl_dial"); akit.PushButton("pmark_cancel", "pmark_dial"); // bolt mark properties akit.Callback("acmd_display_attr_dialog", "smark_dial", "main_frame"); akit.TabChange("smark_dial", "Container_217", "gr_mark_general_tab"); akit.PushButton("gr_smark_place", "smark_dial"); akit.ValueChange("smpl_dial", "text_placing_mode", "1"); akit.PushButton("txpl_modify", "smpl_dial"); akit.PushButton("txpl_cancel", "smpl_dial"); akit.PushButton("smark_cancel", "smark_dial"); // connection mark properties akit.Callback("acmd_display_attr_dialog", "jmark_dial", "main_frame"); akit.TabChange("jmark_dial", "Container_217", "gr_mark_general_tab"); akit.PushButton("gr_jmark_place", "jmark_dial"); akit.ValueChange("jmpl_dial", "text_placing_mode", "1"); akit.PushButton("txpl_modify", "jmpl_dial"); akit.PushButton("txpl_cancel", "jmpl_dial"); akit.PushButton("jmark_cancel", "jmark_dial"); DrawingHandler.GetDrawingObjectSelector().UnselectAllObjects(); DrawingHandler.GetDrawingObjectSelector().SelectObjects(PartArray, true); akit.Callback("acmd_update_marks_selected", "", "main_frame"); DrawingHandler.SaveActiveDrawing(); DrawingHandler.CloseActiveDrawing(); } }
private void RenameDrawingTitle(DrawingEnumerator DrawingList) { this.progressBar1.Maximum = DrawingList.GetSize(); int num = 1; int num2 = 0; int num3 = 0; int num4 = 0; bool needsUpdating = false; while (DrawingList.MoveNext()) { this.progressBar1.Value++; this.CurrentNo.Text = num++.ToString() + '/' + DrawingList.GetSize().ToString(); this.CurrentNo.Refresh(); string mainpartname = ""; string existingDrawingname = ""; // Name of the drawing before modify Tekla.Structures.Model.ModelObject modelObject = null; Drawing currentDrawing = DrawingList.Current; if (currentDrawing.UpToDateStatus.ToString() != "DrawingIsUpToDate") { needsUpdating = true; continue; } if (DrawingList.Current is AssemblyDrawing) { AssemblyDrawing assemblyDrawing = DrawingList.Current as AssemblyDrawing; Identifier assemblyIdentifier = assemblyDrawing.AssemblyIdentifier; modelObject = this.My_model.SelectModelObject(assemblyIdentifier); modelObject.GetReportProperty("ASSEMBLY_NAME", ref mainpartname); num2++; } if (DrawingList.Current is SinglePartDrawing) { SinglePartDrawing singlePartDrawing = DrawingList.Current as SinglePartDrawing; Identifier partIdentifier = singlePartDrawing.PartIdentifier; modelObject = this.My_model.SelectModelObject(partIdentifier); modelObject.GetReportProperty("NAME", ref mainpartname); } if (modelObject != null) { // Check if drawing name already contains the automatic drawing name: existingDrawingname = DrawingList.Current.Name; bool drawingNameMatch = existingDrawingname.Contains(mainpartname); if ((drawingNameMatch == true) || (drawingNameMatch = existingDrawingname.Contains("DS"))) { num4++; } if (drawingNameMatch == false) { DrawingList.Current.Name = mainpartname; DrawingList.Current.Modify(); num3++; } } } if (needsUpdating == true) { MessageBox.Show("Some of the drawings are not up to date!\n\nNames were not updated for that drawings.", Variables.title); } MessageBox.Show(string.Concat(new object[] { num3, " Drawing's name changed \n", num4, " Drawings kept the existing name" }), Variables.title); }