public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            akit.Callback("acmd_display_selected_object_dialog", "object_attr", "main_frame");
            //akit.ValueChange("beam_1", "PRELIM_MARK", "");

            akit.TabChange("beam_1", "tw", "tab6");
            akit.PushButton("on_off_button", "beam_1");
            akit.TabChange("column_1", "tw", "tab6");
            akit.PushButton("on_off_button", "column_1");
        }
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            DrawingHandler          DrawingHandler = new DrawingHandler();
            Drawing                 Drawing        = DrawingHandler.GetActiveDrawing();
            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");
        }
        /*****************************************************************************/
        public static void Run(Tekla.Technology.Akit.IScript akit)
        {
            Model     model     = new Model();
            ModelInfo modelinfo = model.GetInfo();

            string[] split; split = model.GetCurrentProgramVersion().Split(new char[] { ' ' });
            bool     boolResult; double dblVersion; boolResult = double.TryParse(split[0], out dblVersion);

            dblVersion = dblVersion * 10;
            string strVersion = dblVersion.ToString();

            string modelDir;
            string spreadsheet;

            /** Get model directory **/
            modelDir = new System.IO.DirectoryInfo("./").FullName;
            //test for the file path
            //System.Windows.Forms.MessageBox.Show(modelDir);

            akit.Callback("acmd_display_report_dialog", "", "main_frame");
            akit.ListSelect("xs_report_dialog", "xs_report_list", "ga_register");
            akit.TabChange("xs_report_dialog", "Container_516", "Container_519");
            akit.ValueChange("xs_report_dialog", "display_created_report", "0");
            akit.TabChange("xs_report_dialog", "Container_516", "Container_517");
            akit.ModalDialog(1);
            akit.PushButton("xs_report_selected", "xs_report_dialog");
            akit.ListSelect("xs_report_dialog", "xs_report_list", "rev-iss-dates");
            akit.ModalDialog(1);
            akit.PushButton("xs_report_selected", "xs_report_dialog");

            akit.PushButton("xs_report_cancel", "xs_report_dialog");

            /** Check for existence of a file -  **/
            if (System.IO.File.Exists(@modelDir + "Reports/" + file))
            {
                System.Windows.Forms.MessageBox.Show("file exists, opening the one in the model folder", "Kennedy Watts");
            }

            else
            {
                /** Copy a file to the model folder **/
                new System.IO.FileInfo("X:/data2/TeklaStructures/KWP-settings" + strVersion + "/Spreadsheets/GA-Drawing-Register.xls").CopyTo(@modelDir + @"Reports\" + file, true);
            }

            spreadsheet = @modelDir + @"Reports\" + file;

            System.Diagnostics.Process Process2 = new System.Diagnostics.Process();
            Process2.EnableRaisingEvents = false;
            Process2.StartInfo.FileName  = "EXCEL";
            Process2.StartInfo.Arguments = "\"" + @spreadsheet + "\"";
            Process2.Start();
        }