Дана стаття є продовженням першої частин серії "iLogic без страху".
-
Типи даних
Впевнений, що якщо вас цікавить, як працює iLogic та ви хочете додати його до свого озброєння, вам постійно траплялись різні типи даних у параметрах та властивостях документів. Наприклад:
У параметрах є 3 типи даних:
- Numeric (Числовий)
- Text (Текстовий)
- True/False (Вірно/Не вірно)
У властивостя є 4 типи даних:
- Text (Текстовий)
- Date (Дата та час)
- Number (Числовий)
- Yes Or No (Вірно/Не вірно)
Типові типи даних у iLogic:
- Boolean (Вірно/Не вірно) - 2 bytes
- Integer (Тільки цілі числа) - 4 bytes
- Double (Числовий) - 8 bytes
- String (Текстовий) - 4 bytes
- Date (Дата та час) - 8 bytes
- Object (Об'єкт) - 4 bytes
Серед типових типів є такий, як Object. Він особливий тим, що є ніби похідною для всіх інших типів. Таким чином, якщо ви не знаєте, який насправді ви отримуєте тип даних, ви завжди можете скористатись Object типом. -
Що таке змінні в iLogic
У програмуванні змінні — це “контейнери” для збереження даних. Вони дозволяють зберігати числа, тексти, логічні значення тощо, і працювати з ними в коді: порівнювати, обчислювати, змінювати.
У iLogic змінні створюються за допомогою ключового слова Dim, після якого йде ім’я змінної та її тип. Наприклад:Dim width As Double width = 1000
У цьому прикладі ми створили змінну з ім’ям width, яка зберігає число з плаваючою комою (тип Double) і присвоїли їй значення 1000.
Наступний приклад демонструє типовий стиль найменування переміних для iLogic (префікс з маленької букви, що демонструє тип даних), стиль найменування важливий для розуміння вашого коду іншими користувачами.Dim bParam As Boolean = True Dim iParam As Integer = 123 Dim dParam As Double = 123.123 Dim sParam As String = "Hello WORLD!" Dim dateParam As Date = Date.Now Dim oParam As Object = dParam
Змінні особливо корисні, коли:
-
потрібно кілька разів використовувати одне й те саме значення;
-
робити обчислення;
-
зберігати значення параметрів моделі для подальшого аналізу або умов.
-
-
Оператори та умовні конструкції
Щоб створити справді «розумну» модель, потрібно вміти задавати логіку: “якщо параметр більший за 100 — зробити одне, інакше — інше”. Для цього в iLogic використовуються умовні конструкції та оператори — фундамент будь-якої автоматизації.
Оператор If...Then Dim dWidth As Double = 100 Dim sMaterial As String If dWidth > 1000 Then sMaterial = "Steel" Else sMaterial = "Aluminum" End If
Маємо переміну зі значенням 100, та використовуємо оператор If...Then для призначення типу матеріалу в залежності від ширини деталі. Зверніть увагу на діляну між If та Then, ця ділянка де виконується перевірка нашого значення та результат перевірки конвертується до True/False. Умовна конструкція ElseIf Dim dWidth As Double = 100 Dim sMaterial As String If dWidth > 1000 Then sMaterial = "Steel" ElseIf dWidth = 1000 Then sMaterial = "Glass" Else sMaterial = "Aluminum" End If
ElseIf - це додаткова перевірка у випадку не успішності попередньої. Під оператором If...Then можна встановлювати безліч додаткових перевірок, але майте на увазі, що всі пеервірки виконуються послідовно та якощо у вас їх багато це впливає на швидкість роботи, тому у випадку великої кількості варіації застосовують наступний оператор. Оператор SelectCase Dim dWidth As Double = 100 Dim sMaterial As String Select Case dWidth Case 100 sMaterial = "Steel" Case 500 sMaterial = "Glass" Case Else sMaterial = "Aluminum" End Select
SelectCase оператор застосовують у випадку, якщо у вас є чітки варіації якогось параметра (проміжні значення не можна реалізувати). У пам'ять RAM завантажуються всі варіації та коли код працює значення обираєтсья відразу в порівнняні з If...Then. Оператори порівняння = дорівнює If (x=10) Then <> не дорівнює If (x<>0) Then > більше If (x>100) Then < менше If (x<5) Then >= більше або дорівнює If (x>=50) Then <= менше або дорівнює If (x<=20) Then Логічні оператори Or If material = "Steel" Or material = "Aluminum" Then
Слово Or у операторі If...Then дає можливість виконати 2 перевірик і при успішності однієї з них ви отримаєте True Логічні оператори Not If Not bVisible Then
В даному прикладі ми маємо переміну bVisible, якщо у цій переміній буде значення False, ви отримаєте True, томущо False+False=True. Логічні оператори And If length > 1000 And height < 500 Then
Слово And схоже на Or, але з різницею, що має бути дві перевірки успішні. -
Практичний приклад
Давайте для початку створемо просту деталь у вигляді праямокутної пластини 200х100х10:
Далі створюмо внутрішнє правило у якому створемо 3 перемінні типу Double: dLength, dWidth та dThikness.
Тепер нам потрібно помістити у наші контейнери відповідну інформацію про габарит нашої деталі. На цьому етапі ми, як користувачі iLogic-у отримуємо велику перевагу, тому що ми можемо дуже легко отримати доступ до парамтерів деталі.
Натискаємо на Model Parameters у вікні побудови деталі -> ставимо знак рівності після контейнера та тиснемо двічі на потрібному параметрі:Щож на даному етапі при запуску правила, ми лише запакуємо інформацію про габарит у контейнери, але ціль програмування у побудови логіки. Тому далі виконуємо наступні дії:
- Створемо залежність довжини деталі та його коліру. Для йього додаму наступні рядки коду:
Dim dLength As Double = d0 Dim dWidth As Double = d1 Dim dThikness As Double = d2 Dim sColor As String If dLength < 100 Then sColor = "Red" ElseIf dLength >= 100 And dLength < 200 Then sColor = "Blue" Else sColor = "Yellow" End If
- Далі додамо сніпет для зміни кольору деталі - PartColor, що розміщений у папці iProperties:
Dim dLength As Double = d0 Dim dWidth As Double = d1 Dim dThikness As Double = d2 Dim sColor As String If dLength < 100 Then sColor = "Red" ElseIf dLength >= 100 And dLength < 200 Then sColor = "Blue" Else sColor = "Yellow" End If iProperties.PartColor = sColor
- Створемо залежність довжини деталі та його коліру. Для йього додаму наступні рядки коду:
Вітаю! Сьогодні ми вивчили базові речі програмування: типи даних та оператори. На базі знань з перших блогів ми зможимо зробити наступний крок у створенні скриптів iLogic для вашох моделей та креслень. 😉
Продовження: "iLogic без страху. Частина 3: Коротко і ясно".
Щоб залишити тут коментар, ви маєте зареєструватися. Якщо ви вже зареєструвалися, увійдіть у систему. Якщо ви не зареєструвалися, зареєструйтесь і увійдіть у систему.