コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }
コード例 #5
0
        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;
                }
            }
        }
コード例 #6
0
        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");
        }
コード例 #7
0
        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");
            }
        }
コード例 #8
0
        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;
        }
コード例 #9
0
        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();
            }
        }
コード例 #10
0
ファイル: Form1.cs プロジェクト: 0xmbe/TEKLA-Drawing-Renamer
        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);
        }