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(); } }
/// <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... } }
/// <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; } }
static void Main(string[] args) { if (!TeklaStructures.Connect()) { return; } var macroBuilderExample = new MacroBuilderExample(); macroBuilderExample.CreateViewOfAllModelObject(); macroBuilderExample.OpenDrawingListOfColumns(); }
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(); }
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(); }
public ContentAttributeDemo() { TeklaStructures.Connect(); FetchContentAttributes(); }