using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Tekla.Structures; using Tekla.Structures.Filtering; using Tekla.Structures.Filtering.Categories; using Tekla.Structures.Model; using Tekla.Structures.Model.UI; using System.IO; using Tekla.Technology.Akit.UserScript; using Tekla.Technology.Scripting; using System.Diagnostics; namespace Tekla.Technology.Akit.UserScript { public partial class Form1 : Form { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } private void InitializeComponent() { this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); this.label2 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); // Строка 1 this.label1 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); // Строка 2 this.label6 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); this.button2 = new System.Windows.Forms.Button(); // Строка 3 this.label9 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.button3 = new System.Windows.Forms.Button(); // Строка 4 this.label12 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.button4 = new System.Windows.Forms.Button(); // Строка 5 this.label15 = new System.Windows.Forms.Label(); this.label16 = new System.Windows.Forms.Label(); this.button5 = new System.Windows.Forms.Button(); // Строка 6 this.label18 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.button6 = new System.Windows.Forms.Button(); // Строка 7 this.label21 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); this.button7 = new System.Windows.Forms.Button(); // Строка 8 this.label14 = new System.Windows.Forms.Label(); this.label17 = new System.Windows.Forms.Label(); this.button8 = new System.Windows.Forms.Button(); // Строка 9 this.label19 = new System.Windows.Forms.Label(); this.label20 = new System.Windows.Forms.Label(); this.button9 = new System.Windows.Forms.Button(); // Строка 10 this.label22 = new System.Windows.Forms.Label(); this.label23 = new System.Windows.Forms.Label(); this.button10 = new System.Windows.Forms.Button(); // Динамические элементы (Строки 11-16) this.label24 = new System.Windows.Forms.Label(); this.label25 = new System.Windows.Forms.Label(); this.button11 = new System.Windows.Forms.Button(); this.label26 = new System.Windows.Forms.Label(); this.label27 = new System.Windows.Forms.Label(); this.button12 = new System.Windows.Forms.Button(); this.label28 = new System.Windows.Forms.Label(); this.label29 = new System.Windows.Forms.Label(); this.button13 = new System.Windows.Forms.Button(); this.label30 = new System.Windows.Forms.Label(); this.label31 = new System.Windows.Forms.Label(); this.button14 = new System.Windows.Forms.Button(); this.label32 = new System.Windows.Forms.Label(); this.label33 = new System.Windows.Forms.Label(); this.button15 = new System.Windows.Forms.Button(); this.label34 = new System.Windows.Forms.Label(); this.label35 = new System.Windows.Forms.Label(); this.button16 = new System.Windows.Forms.Button(); this.button17 = new System.Windows.Forms.Button(); this.tableLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanel1 // this.tableLayoutPanel1.CellBorderStyle = System.Windows.Forms.TableLayoutPanelCellBorderStyle.Single; this.tableLayoutPanel1.ColumnCount = 3; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 60F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 15F)); // Автоматическая высота строк под размер контента (AutoSize) this.tableLayoutPanel1.RowCount = 17; for (int i = 0; i < 17; i++) { this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.AutoSize)); } // --- СТРОКА 0: ШАПКА ТАБЛИЦЫ --- this.tableLayoutPanel1.Controls.Add(this.label2, 0, 0); this.tableLayoutPanel1.Controls.Add(this.label3, 1, 0); this.tableLayoutPanel1.Controls.Add(this.label4, 2, 0); // --- СТРОКА 1 --- this.tableLayoutPanel1.Controls.Add(this.label1, 0, 1); this.tableLayoutPanel1.Controls.Add(this.label5, 1, 1); this.tableLayoutPanel1.Controls.Add(this.button1, 2, 1); // --- СТРОКА 2 --- this.tableLayoutPanel1.Controls.Add(this.label6, 0, 2); this.tableLayoutPanel1.Controls.Add(this.label7, 1, 2); this.tableLayoutPanel1.Controls.Add(this.button2, 2, 2); // --- СТРОКА 3 --- this.tableLayoutPanel1.Controls.Add(this.label9, 0, 3); this.tableLayoutPanel1.Controls.Add(this.label10, 1, 3); this.tableLayoutPanel1.Controls.Add(this.button3, 2, 3); // --- СТРОКА 4 --- this.tableLayoutPanel1.Controls.Add(this.label12, 0, 4); this.tableLayoutPanel1.Controls.Add(this.label13, 1, 4); this.tableLayoutPanel1.Controls.Add(this.button4, 2, 4); // --- СТРОКА 5 --- this.tableLayoutPanel1.Controls.Add(this.label15, 0, 5); this.tableLayoutPanel1.Controls.Add(this.label16, 1, 5); this.tableLayoutPanel1.Controls.Add(this.button5, 2, 5); // --- СТРОКА 6 --- this.tableLayoutPanel1.Controls.Add(this.label18, 0, 6); this.tableLayoutPanel1.Controls.Add(this.label8, 1, 6); this.tableLayoutPanel1.Controls.Add(this.button6, 2, 6); // --- СТРОКА 7 --- this.tableLayoutPanel1.Controls.Add(this.label21, 0, 7); this.tableLayoutPanel1.Controls.Add(this.label11, 1, 7); this.tableLayoutPanel1.Controls.Add(this.button7, 2, 7); // --- СТРОКА 8 --- this.tableLayoutPanel1.Controls.Add(this.label14, 0, 8); this.tableLayoutPanel1.Controls.Add(this.label17, 1, 8); this.tableLayoutPanel1.Controls.Add(this.button8, 2, 8); // --- СТРОКА 9 --- this.tableLayoutPanel1.Controls.Add(this.label19, 0, 9); this.tableLayoutPanel1.Controls.Add(this.label20, 1, 9); this.tableLayoutPanel1.Controls.Add(this.button9, 2, 9); // --- СТРОКА 10 --- this.tableLayoutPanel1.Controls.Add(this.label22, 0, 10); this.tableLayoutPanel1.Controls.Add(this.label23, 1, 10); this.tableLayoutPanel1.Controls.Add(this.button10, 2, 10); this.tableLayoutPanel1.Location = new System.Drawing.Point(12, 12); this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.Size = new System.Drawing.Size(1350, 770); this.tableLayoutPanel1.TabIndex = 0; // Автоскролл на случай, если таблица не поместится на экране при раскрытии текстов this.tableLayoutPanel1.AutoScroll = true; // Настройка стилей для базовых элементов ConfigureLabel(this.label2, "Наименование", true, ContentAlignment.MiddleCenter); ConfigureLabel(this.label3, "Описание", true, ContentAlignment.MiddleCenter); ConfigureLabel(this.label4, "Действие", true, ContentAlignment.MiddleCenter); ConfigureLabel(this.label1, "Компоненты стропильных ферм с уклоном 10% и нижним поясом из двутавра", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label5, "Готовые параметрические компоненты для Tekla Structures ферм с уклоном 10% и нижним поясом из двутавра. Включают подстропильные конструкции, надколонники, связи и торцевые балки по типовым сериям.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button1, "button1", this.button1_Click); ConfigureLabel(this.label6, "Компоненты стропильных ферм с уклоном 5% и нижним поясом из двутавра", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label7, "Готовые параметрические компоненты для Tekla Structures. Моделируйте стропильные фермы с уклоном 5% и нижним поясом из двутавра вместе с подстропильными конструкциями, надколонниками и связями.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button2, "button2", this.button2_Click); ConfigureLabel(this.label9, "Компоненты стропильных ферм с уклоном 2% и нижним поясом из двутавра", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label10, "Параметрические компоненты для Tekla Structures для стропильных ферм с уклоном 2% и нижним поясом из двутавра. Комплект включает всё необходимое: фермы, подстропильные блоки, надколонники, связи и торцевые балки.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button3, "button3", this.button3_Click); ConfigureLabel(this.label12, "Компоненты сплошностенчатых колонн из прокатных двутавров", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label13, "Библиотека параметрических колонн для Tekla Structures из прокатных двутавров. Моделируйте стойки, оголовки, базы, консоли и узлы сопряжения с фермами. Готовые решения по серии 5.01.02-КМ.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button4, "button4", this.button4_Click); ConfigureLabel(this.label15, "Элементы для устройства беспрогонных покрытий уклоном 5%", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label16, "Компоненты беспрогонных покрытий для Tekla Structures с уклоном 5%. Включают крупноразмерные панели, стропильные фермы, связи и надколонники. Пролёты 18, 24, 30 м.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button5, "button5", this.button5_Click); ConfigureLabel(this.label18, "Каталог компонентов прогонных покрытий пролетом 36 м и уклоном 5%", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label8, "Готовые решения для прогонных покрытий пролётом 36 м в Tekla Structures. Уклон 5%. Комплект содержит стропильные фермы, прогоны, связи и надколонники.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button6, "button6", this.button6_Click); ConfigureLabel(this.label21, "Каталог укороченных надколонников", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label11, "Параметрические семейства укороченных надколонников для Tekla Structures. Оптимальные решения для узлов опирания ферм и перераспределения нагрузок на колонны.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button7, "button7", this.button7_Click); ConfigureLabel(this.label14, "Каталог балок для устройства перекрытий", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label17, "Готовые компоненты перфорированных балок для Tekla Structures. Идеальны для антресолей и перекрытий — лёгкие, экономичные, с возможностью пропуска инженерных коммуникаций.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button8, "button8", this.button8_Click); ConfigureLabel(this.label19, "Каталог подстропильных ферм пролетами 12 м и 18 м для повышенной нагрузки", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label20, "Усиленные подстропильные фермы для Tekla Structures пролётами 12 и 18 м. Предназначены для повышенных нагрузок при пролётах покрытий 18, 24, 30 м.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button9, "button9", this.button9_Click); ConfigureLabel(this.label22, "Каталог компонентов конструкций перекрытий со скрытым ригелем", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label23, "Параметрические ригели со скрытой опорной частью для Tekla Structures. Оптимальное решение для перекрытий с чистовым потолком без выступающих элементов.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button10, "button10", this.button10_Click); // Form1 this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(1380, 830); this.Controls.Add(this.tableLayoutPanel1); this.Name = "Form1"; this.ShowIcon = false; this.Text = "ESE PRO Каталог компонентов Tekla Structures"; this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); this.ResumeLayout(false); } // Вспомогательный метод для настройки Лейблов с поддержкой автовысоты текста private void ConfigureLabel(Label label, string text, bool isBold, ContentAlignment alignment) { label.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; label.AutoSize = true; label.Text = text; label.TextAlign = alignment; label.Padding = new Padding(5, 10, 5, 10); // Внутренние отступы сверху/снизу для красоты if (isBold) { label.Font = new Font("Microsoft Sans Serif", 8.5F, FontStyle.Bold, GraphicsUnit.Point, 204); } else { label.Font = new Font("Microsoft Sans Serif", 8.5F, FontStyle.Regular, GraphicsUnit.Point, 204); } } // Вспомогательный метод для настройки Кнопок с фиксированной высотой (чтобы не растягивались уродливо по высоте строки) private void ConfigureButton(Button button, string name, EventHandler clickEvent) { button.Anchor = AnchorStyles.None; // Кнопка центрируется в своей ячейке, не растягиваясь по высоте button.Size = new Size(150, 35); // Оптимальный фиксированный размер кнопки button.Margin = new Padding(5); button.Name = name; button.Text = "Скачать"; button.UseVisualStyleBackColor = true; button.Click += clickEvent; } private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button button1; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label2; private System.Windows.Forms.Button button15; private System.Windows.Forms.Button button14; private System.Windows.Forms.Button button13; private System.Windows.Forms.Button button12; private System.Windows.Forms.Button button11; private System.Windows.Forms.Button button10; private System.Windows.Forms.Button button9; private System.Windows.Forms.Button button8; private System.Windows.Forms.Button button7; private System.Windows.Forms.Button button6; private System.Windows.Forms.Button button5; private System.Windows.Forms.Button button4; private System.Windows.Forms.Button button3; private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label23; private System.Windows.Forms.Label label22; private System.Windows.Forms.Label label20; private System.Windows.Forms.Label label19; private System.Windows.Forms.Label label17; private System.Windows.Forms.Label label14; private System.Windows.Forms.Label label21; private System.Windows.Forms.Label label18; private System.Windows.Forms.Label label16; private System.Windows.Forms.Label label15; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label24; private System.Windows.Forms.Label label25; private System.Windows.Forms.Label label26; private System.Windows.Forms.Label label27; private System.Windows.Forms.Label label28; private System.Windows.Forms.Label label29; private System.Windows.Forms.Label label30; private System.Windows.Forms.Label label31; private System.Windows.Forms.Label label32; private System.Windows.Forms.Label label33; private System.Windows.Forms.Label label34; private System.Windows.Forms.Label label35; private System.Windows.Forms.Button button16; private System.Windows.Forms.Button button17; public Form1() { InitializeComponent(); AddRemainingComponents(); } private void AddRemainingComponents() { // --- СТРОКА 11: Колонны зданий (бескрановые) --- ConfigureLabel(this.label24, "Каталог элементов колонн зданий", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label25, "Библиотека параметрических колонн для бескрановых зданий в Tekla Structures. Включает стойки, оголовки, базы и узлы крепления стеновых панелей.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button11, "button11", this.button11_Click); this.tableLayoutPanel1.Controls.Add(this.label24, 0, 11); this.tableLayoutPanel1.Controls.Add(this.label25, 1, 11); this.tableLayoutPanel1.Controls.Add(this.button11, 2, 11); // --- СТРОКА 12: Подкрановые балки 12 м с тормозными фермами --- ConfigureLabel(this.label26, "Каталог элементов подкрановых балок 12 м с тормозными фермами", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label27, "Готовые компоненты подкрановых балок длиной 12 м с тормозными фермами для Tekla Structures. Включают узлы крепления к колоннам и рельсовые крепления.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button12, "button12", this.button12_Click); this.tableLayoutPanel1.Controls.Add(this.label26, 0, 12); this.tableLayoutPanel1.Controls.Add(this.label27, 1, 12); this.tableLayoutPanel1.Controls.Add(this.button12, 2, 12); // --- СТРОКА 13: Подкрановые балки 12 м без тормозных ферм --- ConfigureLabel(this.label28, "Каталог элементов подкрановых балок 12 м без тормозных ферм", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label29, "Параметрические подкрановые балки 12 м без тормозных ферм для Tekla Structures. В комплекте — узлы крепления к колоннам и рельсовые крепления.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button13, "button13", this.button13_Click); this.tableLayoutPanel1.Controls.Add(this.label28, 0, 13); this.tableLayoutPanel1.Controls.Add(this.label29, 1, 13); this.tableLayoutPanel1.Controls.Add(this.button13, 2, 13); // --- СТРОКА 14: Подкрановые балки 6 м --- ConfigureLabel(this.label30, "Каталог подкрановых балок 6 м", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label31, "Библиотека подкрановых балок длиной 6 м для Tekla Structures. Включает все необходимые узлы крепления к колоннам и рельсовые крепления.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button14, "button14", this.button14_Click); this.tableLayoutPanel1.Controls.Add(this.label30, 0, 14); this.tableLayoutPanel1.Controls.Add(this.label31, 1, 14); this.tableLayoutPanel1.Controls.Add(this.button14, 2, 14); // --- СТРОКА 15: Беспрогонные покрытия 10% --- ConfigureLabel(this.label32, "Каталог компонентов беспрогонных покрытий с уклоном 10%", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label33, "Готовые компоненты беспрогонных покрытий для Tekla Structures с уклоном 10%. В каталоге — стропильные и подстропильные фермы, связи и надколонники.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button15, "button15", this.button15_Click); this.tableLayoutPanel1.Controls.Add(this.label32, 0, 15); this.tableLayoutPanel1.Controls.Add(this.label33, 1, 15); this.tableLayoutPanel1.Controls.Add(this.button15, 2, 15); // --- СТРОКА 16: Беспрогонные покрытия 2% --- ConfigureLabel(this.label34, "Каталог компонентов беспрогонных покрытий уклоном 2%", false, ContentAlignment.MiddleLeft); ConfigureLabel(this.label35, "Параметрические компоненты беспрогонных покрытий для Tekla Structures с уклоном 2%. Включают стропильные и подстропильные фермы, связи и надколонники.", false, ContentAlignment.MiddleLeft); ConfigureButton(this.button16, "button16", this.button16_Click); this.tableLayoutPanel1.Controls.Add(this.label34, 0, 16); this.tableLayoutPanel1.Controls.Add(this.label35, 1, 16); this.tableLayoutPanel1.Controls.Add(this.button16, 2, 16); } // --- ОБРАБОТЧИКИ КНОПОК --- // 1. Стропильные фермы 10% private void button1_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/af9/xuh3sh6na34jjb9q05k364mu95yrpz6r/Komponenty-ferm-s-uklonom-10_-i-NP-iz-dvutavra-v1.0.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=fermy_10"); } // 2. Стропильные фермы 5% private void button2_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/1b0/2pjwauucgszavly7ttsyczar5js45bev/Komponenty-ferm-s-uklonom-5_-i-NP-iz-dvutavra-v1.0.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=fermy_5"); } // 3. Стропильные фермы 2% private void button3_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/c20/lii2leaivzmu7aerw90tygtgrs7ycpti/Komponenty-ferm-s-uklonom-2_-i-NP-iz-dvutavra-v1.0.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=fermy_2"); } // 4. Сплошностенчатые колонны private void button4_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/f0b/06to0py6ac50qhyd5tx2prjz9v79823u/Kolonny-s-kranovymi-nagruzkami.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=kolonny_dvutavr"); } // 5. Беспрогонные покрытия 5% private void button5_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/44c/qprecjlhr65tx2vp5d1ak64szwxme5iu/1.01.08_5-Besprogonnoe-pokrytie.-Uklon-krovli-5_-_18_-24.-30-m_.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=besprogon_5"); } // 6. Прогонные покрытия 36м (5%) private void button6_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/250/db0y8l3vpyqqb96xzzvq70ncao5zairw/1.01.10_U5-Progonnoe-pokrytie.-Uklon-krovli-5_-_36-m_.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=progon_36_5"); } // 7. Укороченные надколонники private void button7_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/25f/sy0hduhyza1qf6tyumbj6eony3c9jcfr/1.01.08_U2_2_KM_Ukorochennyy-nadkolonnik.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=nadkolonnik_ukor"); } // 8. Балки перекрытий private void button8_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/b50/cxi99c0m11obao0bse42mqenwhixebfi/TEKLA_Perekrytiya-s-perforirovannym-rigelem_2.02.04_KM_.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=balki_perekrytiya"); } // 9. Подстропильные фермы 12м и 18м private void button9_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/cf7/00wo3drymef2ti354s0feah0ytl2poom/1.01.08_U2.5.10.P_Usilennye-podstropilnye-fermy-proletami-18-i-12m.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=podstrop_12_18"); } // 10. Перекрытия со скрытым ригелем private void button10_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/eb8/k3z8k8uuq6n52f1htieex4krb5v2j2pv/Skrytye-rigeli.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=rigel_skryty"); } // 11. Колонны зданий (бескрановые) private void button11_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/dec/1bfg6x377bkhkthj8t0606tk2clgs150/Kolonny.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=kolonny_zdanii"); } // 12. Подкрановые балки 12 м с тормозными фермами private void button12_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/364/vg246ydnkuee4jlx5hr2h25eqckfy1e7/Podkranovaya-balka-12-metrov-s-tormoznoy-fermoy-po-albomu-8.01.03_KM.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=podkr_12_s_torm"); } // 13. Подкрановые балки 12 м без тормозных ферм private void button13_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/0da/2uy932gemy9i5x1f9jcoye3jd935r0rx/Podkranovaya-balka-12-metrov-bez-tormoznoy-fermy-po-albomu-8.01.02_KM.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=podkr_12_bez_torm"); } // 14. Подкрановые балки 6 м private void button14_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/a72/yh47r8y3krpbsh48pxjkb1fchrc7j33y/Podkranovaya-balka-6-metrov-po-albomu-8.01.01_KM.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=podkr_6"); } // 15. Беспрогонные покрытия 10% private void button15_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/be2/60ke804kle67bqdwwy87vtb10ofz66pw/Podstropilnye-konstruktsii-po-1_01_02_10_1_KM-_Uklon-krovli-10-protsentov_V2_1.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=besprogon_10"); } // 16. Беспрогонные покрытия 2% private void button16_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("https://ese.pro/upload/iblock/db8/h8hgldsguf0ygn0645fg97hb4ybkl41v/Podstropilnye_konstruktsii_po_1_01_10_2_2_KM_Uklon_krovli_2_protsenta_V2_1.zip?utm_source=macros_tekla&utm_campaign=tekla_components&utm_content=besprogon_2"); } } public class Script { public static void Run(Tekla.Technology.Akit.IScript akit) { Application.EnableVisualStyles(); Application.Run(new Form1()); } } }