Exemple #1
0
        private void addMark(string attributeName, bool customAmount, string barNo = null)
        {
            if (!TeklaStructures.Connect())
            {
                return;
            }
            var macroBuilder = new MacroBuilder();

            if (customAmount)
            {
                macroBuilder.Callback("acmd_create_marks_selected", "", "View_10 window_1");
                macroBuilder.ValueChange("rebar_mark_dial", "gr_rebar_mark_get_menu", attributeName);
                macroBuilder.PushButton("gr_rebar_get", "rebar_mark_dial");
                macroBuilder.TableSelect("rebar_mark_dial", "gr_mark_selected_elements", new int[] { 1 });
                macroBuilder.Activate("rebar_mark_dial", "gr_mark_selected_elements");
                macroBuilder.ValueChange("gr_mark_text", "gr_text", barNo);
                macroBuilder.PushButton("gr_mark_prompt_modify", "gr_mark_text");
                macroBuilder.PushButton("rebar_mark_modify", "rebar_mark_dial");
                macroBuilder.Run();
            }
            else
            {
                macroBuilder.Callback("acmd_create_marks_selected", "", "View_10 window_1");
                macroBuilder.ValueChange("rebar_mark_dial", "gr_rebar_mark_get_menu", attributeName);
                macroBuilder.PushButton("gr_rebar_get", "rebar_mark_dial");
                macroBuilder.PushButton("rebar_mark_modify", "rebar_mark_dial");
                macroBuilder.Run();
            }
        }
Exemple #2
0
        /// <summary>
        /// The connect.
        /// </summary>
        /// <exception cref="ApplicationException">
        /// Throws an exception.
        /// </exception>
        public void Connect()
        {
            if (this.model == null)
            {
                // Create new model connection without creating channel.
                var m = new Model();

                if (m.GetConnectionStatus())
                {
                    // check that model is opened
                    if (string.IsNullOrEmpty(m.GetInfo().ModelPath))
                    {
                        throw new ApplicationException("Model is not loaded into TeklaStructures.");
                    }

                    this.model = m;

                    this.TeklaEvents.TeklaStructuresExit += delegate { Application.Exit(); };

                    this.TeklaEvents.ModelLoad += delegate { Application.Restart(); };

                    this.TeklaEvents.Register();
                }
                else
                {
                    throw new ApplicationException("Cannot connect to TeklaStructures process.");
                }

                TeklaStructures.Connect();

                // Guess well have to have connections through both .Model and .Application.Library to be able to use methods in both...
            }
        }
Exemple #3
0
        /// <summary>*******************************************************************
        ///
        ///
        /// HELPER METHODS
        ///
        ///
        /// </summary>*******************************************************************

        private void changeDialog(string attributeFileName, dialogType objectType)
        {
            if (!TeklaStructures.Connect())
            {
                return;
            }
            var macroBuilder = new MacroBuilder();

            switch (objectType)
            {
            case dialogType.bar:
                macroBuilder.Callback("acmd_display_selected_drawing_object_dialog", "", "View_10 window_1");
                macroBuilder.ValueChange("rebar_dial", "gr_rebar_get_menu", attributeFileName);
                macroBuilder.PushButton("gr_rebar_get", "rebar_dial");
                macroBuilder.PushButton("rebar_modify", "rebar_dial");
                macroBuilder.Run();
                break;

            case dialogType.coupler:
                macroBuilder.Callback("acmd_display_selected_drawing_object_dialog", "", "View_10 window_1");
                macroBuilder.ValueChange("part_dial", "gr_part_get_menu", attributeFileName);
                macroBuilder.PushButton("gr_part_get", "part_dial");
                macroBuilder.PushButton("part_modify", "part_dial");
                macroBuilder.Run();
                break;

            default:
                break;
            }
        }
Exemple #4
0
 public static dynamic GetTSObject(TeklaStructures dynObject)
 {
     if (dynObject is null)
     {
         return(null);
     }
     return(dynObject.teklaObject);
 }
Exemple #5
0
        /// <summary>
        /// The dispose.
        /// </summary>
        public void Dispose()
        {
            if (this.events != null)
            {
                this.events.UnRegister();
            }

            TeklaStructures.Disconnect();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            if (!TeklaStructures.Connect())
            {
                return;
            }

            var macroBuilderExample = new MacroBuilderExample();

            macroBuilderExample.CreateViewOfAllModelObject();

            macroBuilderExample.OpenDrawingListOfColumns();
        }
Exemple #7
0
        /// <summary>
        /// The zoom to selected objects.
        /// </summary>
        public void ZoomToSelectedObjects()
        {
            // ExecuteMacro("acmdZoomToSelected", "", "main_frame");
            const string Script = @"akit.Callback(""acmdZoomToSelected"", """", ""main_frame"");";

            try
            {
                TeklaStructures.ExecuteScript(Script);
            }
            catch (Exception ee)
            {
                Debug.WriteLine(ee.ToString());
            }
        }
Exemple #8
0
        public void RunDemo2()
        {
            Console.WriteLine("\nCreating Csv Files for all Parts\n");

            TeklaStructures.Connect();

            ModelObjectEnumerator.AutoFetch = true;
            _modelObjects = TeklaStructures.Model.AllObjects;

            var parts = _modelObjects.OfType <Part>().ToList();

            var contentAttributes = parts
                                    .Where(p => p.GetReportValueInt("MAIN_PART") == 1)
                                    .Select(GetPartContentAttribute).ToList();
        }
Exemple #9
0
        private void changeSelectionFilter(string filterName, bool partOnly)
        {
            if (!TeklaStructures.Connect())
            {
                return;
            }
            var macroBuilder = new MacroBuilder();

            macroBuilder.Callback("acmd_display_gr_select_filter_dialog", "", "main_frame");
            macroBuilder.ValueChange("diaSelDrawingObjectGroupDialogInstance", "get_menu", filterName);
            macroBuilder.PushButton("dia_pa_apply", "diaSelDrawingObjectGroupDialogInstance");
            if (partOnly)
            {
                macroBuilder.ValueChange("main_frame", "gr_sel_all", "0");
                macroBuilder.ValueChange("main_frame", "gr_sel_drawing_part", "1");
            }
            else
            {
                macroBuilder.ValueChange("main_frame", "gr_sel_all", "1");
            }
            macroBuilder.Run();
        }
Exemple #10
0
        public ContentAttributeDemo()
        {
            TeklaStructures.Connect();

            FetchContentAttributes();
        }