ПредишенСледващото

Една от основните ресурси в съвременния дизайн е време. Известно е, че "времето е пари -" и никой не иска да изпълнява безсмислено повторение на едни и същи операции. В тази връзка, CAD / CAE пакети имат набор от инструменти за извършване на едно и също действие с натискане само на един бутон.

В тази статия ще се смята за един от начините, автоматизация проект на база на макро Femap API.

Блог катедра

Фигура 1 - В диалогов прозорец

В хода на курсовата работа, свързана с изследването на въздействието на корозионни процеси на транспортен капацитет на структурите, е промяната в дебелината на субстрата. Тази процедура се извършва повече от една дузина пъти, а се дължи на факта, че имотът е бил до голяма степен, тази операция отнема много време и е доста досадно. Затова беше взето решение за автоматизиране на процеса с помощта на API Femap. По този начин за първи път е създадена обобщена версия на макро да се промени дебелината.
Същността на макроса е автоматично да промените стойността на дебелината на повърхностните елементи на процент или на определена стойност, определена от потребителя.

При стартиране на макроса за потребителя диалогов прозорец (фиг. 1), която ще трябва да изберете действие (увеличение или намаление) и изберете степента на промяна в дебелината (или числен процентно изменение), а след това въведете номера, към който искате да промените дебелината.

Сега по-отблизо всички елементи на програмата и последователността на действията си.

От създаването на всяка програма започва с диаграма (никога не правя), ние просто напишете реда на нашите действия (фиг. 2).

Блог катедра

Фигура 2 - Схема програма

След съставянето на алгоритъма на програмата може безопасно да се пристъпи към създаването му. В този случай, ние ще работим с обект "собственост" и да започнат свой собствен него и ще го създадем. На следващо място, ние ще създадем "Set" - е представителна проба за масив. В нея ще бъде добавена към съществуващия модел, свойствата и всички възможности, които имат (включително дебелината на елемента, който е със собственото си наименование на имота - PVAL (0)). Следващата стъпка е да се създаде диалоговия прозорец и да се създаде необходимите елементи, за да ни (фиг. 3).

Блог катедра

Фигура 3 - Създаване на диалогов прозорец

След това преминава през масива от имоти, дръпнете дебелина извърши преизчисляване на избраните промени на параметрите и да се върнете обратно дебелина. Следваща ще бъде показана с обяснение на кода на програмата. Цвят за открояване ще съответстват на цветовете на алгоритъма за съвпадение парчета софтуер и алгоритъм.

Ако App.Info_Count (FT_PROP) = 0, тогава // изключение липса грешка свойства
Съобщ = "Няма записи в Модел, излизате от страницата."
RC = MsgBox (Msg, vbOkOnly)
GoTo OK
Крайна сметка, ако

Започнете Dialog UserDialog 400203 "Дебелина" '% GRID: 10,7,1,1 // диалоговия
oKButton 20,175,90,21
TextBox 130,119,130,21, .TextBox1
OptionGroup .Group1
OptionButton 20,49,210,14 ", увеличаване на дебелината" ,. OptionButton1
OptionButton 20,70,180,14 ", намаляване на дебелината" ,. OptionButton2
OptionGroup .Group2
OptionButton 250,49,90,14 "Малката Дениса" ,. OptionButton3
OptionButton 250,70,90,14, "Стойност" ,. OptionButton4
CancelButton 310,175,80,21
текст 110,98,210,14, "промяна Стойност в дебелина" ,. Текст1
Край Dialog

Дим DLG Както UserDialog

Ако Dialog (DLG) = 0 Тогава // грешка изключение затваряне програмния бутон анулира
GoTo OK
Крайна сметка, ако

Ако Дебела <= 0 Then //исключение ошибки значения толщины
Съобщ = "Дебелина поле е празно"
RC = MsgBox (Msg, vbOkOnly)
GoTo OK
Крайна сметка, ако

PropSet.AddAll (FT_PROP) // добавяне на проба на всички свойства на модела
Ако DLG. група1 = 0 След
Ако dlg.group2 = 0 Тогава
Докато feProp.Next // дебелина цикъл превръщане
feProp.Get (PropSet.CurrentID) // вземе ток собственост на пробата
а = feProp.pval (0) * Дебели / 100 // преобразуване промени коефициент
feProp.pval (0) = feProp.pval (0) + на // дебелина преизчисляване
feProp.Put (feProp.ID) // върне стойността на имота на дебелината на
тръгвам
Крайна сметка, ако
Ако dlg.group2 = 1 Тогава
Докато feProp.Next
feProp.Get (PropSet.CurrentID)
feProp.pval (0) = feProp.pval (0) + Thick
feProp.Put (feProp.ID)
тръгвам
Крайна сметка, ако
Крайна сметка, ако
Ако dlg.group1 = 1 Тогава
Ако dlg.group2 = 0 Тогава
Докато feProp.Next
feProp.Get (PropSet.CurrentID)
а = feProp.pval (0) * Плътна / 100
feProp.pval (0) = feProp.pval (0) - а
feProp.Put (feProp.ID)
тръгвам
Крайна сметка, ако
Ако dlg.group2 = 1 Тогава
Докато feProp.Next
feProp.Get (PropSet.CurrentID)
feProp.pval (0) = feProp.pval (0) - Плътна
feProp.Put (feProp.ID)
тръгвам
Крайна сметка, ако
Крайна сметка, ако
OK:
End Sub

На следващо място, на макроса е монтиран под модела на локомотив рамката и извършва актуализацията. Основната промяна е възможна корекция на конкретните стойности на дебелината, всички дебелини са били разбити на основните елементи и конструкции са разпределени в различни форми, както и добавена възможност за повторно използване на макро без да се рестартира. Пример модифицирана форма макро е показано на Фигура 4.

Блог катедра

Фигура 4 - пример на променения макро

По този начин може да е завършил основното автоматизация имота - спести време проектиране и промяна на всички свойства на модела на няколко кликвания на мишката.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!