Тема 9. Динамічні блоки

Лабораторна робота 20

 

6. Використання операцій

Операції визначають спосіб переміщення або зміни об’єктів екземпляра динамічного блоку. Динамічний блок повинен містити, принаймні, одну операцію.

При додаванні в опис динамічного блоку операції, її необхідно пов'язати з параметром, ключовою точкою на параметрі і геометричними об’єктами. Ключова точка – це точка на параметрі, що запускає пов'язану з нею операцію під час редагування екземпляра динамічного блоку. Геометричні об’єкти, які пов'язані з операцією, називаються набором об'єктів.

На рис. 11 представлено динамічний блок-стіл, лінійний параметр з однією ручкою (заданою для його кінцевої точки) і операцію розтягання, пов'язану з кінцевою точкою параметра та геометричними об’єктами правої сторони стола. Кінцева точка параметра є ключовою точкою. Геометричні об’єкти правої частини столу є набором об'єктів (підсвічені ореолом).

4    4a

Рис. 11.  Динамічний блок з пов’язаною операцією розтягу

 

Якщо потрібно змінити екземпляр блоку на кресленні, достатньо перемістити ручку і стіл розтягнеться (рис. 12).

wind_3b

Рис. 12.  Розтягування динамічного блока

 

У динамічному блоці можна використовувати такі типи операцій:

·                    переміщення;

·                    масштабування;

·                    розтяг;

·                    полярний розтяг;

·                    поворот;

·                    відображення;

·                    копіювання масивом;

·                    пошук.

Для одного параметра і набору об’єктів можна призначити декілька операцій. Проте не слід призначати дві або більше операції одного типу для однієї ключової точки на параметрі, якщо обидві операції впливають на один і той самий набір об’єктів. Це може привести до непрогнозованої поведінки екземпляра блоку.

Кожен тип операції можна пов'язати з певними параметрами. У наступній таблиці представлено параметри та операції з якими вони пов’язуються.

Тип операції

Вид параметра

Переміщення

Параметр точка;           Лінійний параметр;

Полярний параметр;    XY параметр

Масштабування

Лінійний параметр;    Полярний параметр;

XY параметр

Розтяг

Параметр точка;           Лінійний параметр;

Полярний параметр;    XY параметр

Полярний розтяг

Полярний параметр

Поворот

Параметр повороту

Відображення

Параметр відображення

Масив

Лінійний параметр;   Полярний параметр;  

XY параметр

Пошук

Параметр пошуку

 

Операція переміщення (Move Action)

Результат операції переміщення подібний до результату роботи команди Move. В екземплярі динамічного блоку операція переміщення приводить до переміщення об'єктів на задану відстань під заданим кутом.

У динамічному блоці операцію переміщення можна пов'язати з будь-яким із таких параметрів: точка, лінійний, полярний, XY.

Після пов'язування операції переміщення з параметром, її потрібно пов'язати з набором об'єктів.

 

Операція масштабування (Scale Action)

Результат операції масштабування подібний до результату роботи команди Scale. В екземплярі динамічного блоку операція масштабування приводить до зміни розмірів набору об'єктів блоку. Виконати її можна, перемістивши ручку настройки параметрів блока або використовуючи палітру "Властивості".

У динамічному блоці операція масштабування пов'язана з усім параметром, а не з ключовою точкою на параметрі.

Операцію масштабування можна пов'язати з будь-яким із вказаних параметрів: лінійний, полярний, XY.

Після пов'язування операції масштабування з параметром, її потрібно пов’язати з набором об'єктів.

Операція масштабування має властивість Base Type (Тип бази). За допомогою цієї властивості можна вказати тип базової точки для масштабного коефіцієнта: залежний або незалежний.

Якщо тип бази залежний, то об'єкти в наборі масштабуються відносно базової точки параметра, з яким пов'язана операція масштабування. У наступному прикладі операція масштабування пов'язана з лінійним параметром і має залежний тип бази. Базова точка лінійного параметра розташована в лівому нижньому кутку квадрата. При використанні ручки настройки для масштабування блоку, його розмір змінюється відносно лівого нижнього кута квадрата (рис. 13).

5

6a

Рис. 13.  Масштабування з залежним типом бази

 

Якщо тип бази незалежний (відмічений в редакторові блоків у вигляді маркера X), то базова точка задається незалежно від параметра, з яким пов'язана операція масштабування. Об'єкти в наборі масштабуватимуться відносно вказаної незалежної базової точки. У наступному прикладі операція масштабування пов'язана з лінійним параметром і має незалежний тип бази. Незалежна базова точка розташована в центрі квадрата. При використанні ручки настройки для масштабування блоку, його розміри змінюються відносно центра квадрата (рис. 14).

5

5a

Рис. 14.  Масштабування з незалежним типом бази

 

Операція розтягування (Stretch Action)

Операція розтягування для вказаного параметра приводить до переміщення і розтягування об'єктів динамічного блоку.

У динамічному блоці операцію розтягування можна пов'язати з будь-яким із таких параметрів: точка, лінійний, полярний, XY-параметр.

Після пов'язування операції розтягування з параметром потрібно побудувати рамку розтягування для цієї операції, а потім вибрати об'єкти для набору операції розтягування. Рамка розтягування визначає спосіб редагування об'єктів, які потрапили в середину рамки або перетнулися нею:

·                    об'єкти, які повністю охоплені рамкою, переміщаються;

·                    об'єкти, які перетинаються рамкою, розтягуються;

·                    об'єкти, що містяться всередині рамки, або перетинаються нею, але які не входять в набір об'єктів, не розтягуються і не переміщаються;

·                    об'єкти за межами рамки, що входять в набір, переміщаються.

На рис. 15 рамка розтягування вказана пунктирною лінією, а набір об'єктів виділений за допомогою ефекту ореолу. Незважаючи на те, що верхнє коло охоплене рамкою розтягування, воно не входить до набору виділених об'єктів, тому не переміщатиметься. Нижнє коло повністю потрапило в рамку розтягування і в набір об'єктів, тому воно переміщатиметься. Прямокутник перетинається рамкою розтягування і входить до набору об'єктів, тому він розтягуватиметься.

Рис. 15.  Операція розтягування

 

Операція полярного розтягування (Polar Stretch Action)

Операція полярного розтягування в динамічному блоці повертає, переміщає і розтягує об'єкти на вказаний кут і відстань.

У динамічному блоці операцію полярного розтягання можна пов'язати тільки з полярним параметром: Базова точка для операції розтягування – це точка параметра (з блакитним маркером), а не ключова точка.

Після пов'язування операції полярного розтягання з полярним параметром потрібно побудувати рамку розтягання, а потім вибрати об'єкти для розтягування і окремо вибрати об'єкти для обертання.

·                    Об'єкти, які повністю охоплені рамкою, переміщаються.

·                    Об'єкти, які перетинаються рамкою, розтягуються.

·                    Об'єкти, які в наборі об'єктів операції вказані тільки для обертання, не розтягуються.

·                    Об'єкти, які повністю охоплені рамкою, переміщаються лінійно після повороту.

·                    Об'єкти, які перетинаються рамкою, розтягуються лінійно після повороту.

·                    Об'єкти рамки, які містяться всередині, або які перетинаються нею, але не входять в набір об'єктів, не розтягуються і не повертаються.

·                    Об'єкти за межами рамки, які входять в набір, переміщаються.

На рис. 16 рамка розтягування вказана пунктирною лінією, а набір об'єктів виділений за допомогою ефекту ореолу. Не зважаючи на те, що верхнє коло потрапило в рамку розтягування, воно не входить до набору об'єктів, тому не переміщатиметься. Нижнє коло повністю входить в рамку розтягування і в набір об'єктів розтягування, тому воно переміщатиметься. Прямокутник перетинається рамкою розтягування і входить в набір об'єктів, тому він розтягуватиметься. Квадрат повністю входить в рамку розтягування і в набір об'єктів повороту, але не в набір об'єктів розтягування, тому він тільки обертатиметься.

Рис. 16.  Операція полярного розтягування

 

Операція повороту (Rotate Action)

Результат операції повороту подібний до результату роботи команди Rotate. Під час редагування динамічного блоку, операція повороту дозволяє обертати зв'язані об'єкти навколо базової точки параметра.

У динамічному блоці операцію повороту можна пов'язати тільки з параметром повороту. Операція повороту пов'язується з цілим параметром, а не з ключовою точкою параметра.

Після того, як операцію повороту пов'язали з параметром повороту, її потрібно пов'язати і з набором об'єктів.

Операція повороту містить властивість "Тип бази". За допомогою цієї властивості можна вказати, чи буде базова точка повороту співпадати з базовою точкою параметра повороту чи буде вона вказана окремо як нова базова точка.

За замовчуванням тип бази залежний. Це означає, що блок обертається навколо пов'язаної базової точки параметра повороту.

На рис. 17 блок-стілець містить параметр повороту і пов'язану операцію повороту з залежним типом бази. Базова точка параметра – це центр стільця. Тому він обертається навколо центральної точки.

Рис. 17. Операція повороту з залежним типом бази

 

При виборі незалежного типу бази можна вказати базову точку для операції повороту, яка відрізняється від базової точки пов'язаного параметра повороту. Така незалежна базова точка позначається в редакторі блоків маркером X. Розміщення незалежної базової точки можна змінити перетягнувши її мишкою або змінивши значення "База X" і "База Y" в розділі "Перевизначення" палітри "Властивості".

На рис. 18 блок-стілець містить параметр повороту і зв'язану операцію повороту, яка має незалежний тип бази. Незалежна базова точка розташована в лівому нижньому кутку стільця. Тому він обертається навколо лівого нижнього кута.

Рис. 18. Операція повороту з незалежним типом бази

 

На рис. 19 кожний з трьох прямокутників динамічного блоку обертається навколо незалежної базової точки, розташованої в лівому нижньому кутку кожного чотирикутника. Для цього задається один параметр повороту. Потім додаються три операції повороту. Кожна операція повороту пов'язується з параметром повороту, а потім пов'язується з окремим об'єктом і для нього призначається окрема незалежна базова точка.

Рис. 19. Операція повороту з незалежним типом бази

 

Операція віддзеркалення (Flip Action)

Операція віддзеркалення використовується для дзеркального відображення елементів динамічного блоку відносно попередньо заданої осі.

У динамічному блоці операція віддзеркалення пов'язується тільки з параметром віддзеркалення.

Після того, як операція віддзеркалення пов'язана з параметром віддзеркалення, вона зв'язується з набором об'єктів.

Щоб над об’єктами виконувалась операція дзеркального відображення, їх потрібно обов’язково включити до пов’язаного (з операцією) набору. На рис. 20 квадрат між двома колами не включений до набору операції віддзеркалення. Тому при виконанні цієї операції він залишається на місці.

8

Рис. 20. Операція віддзеркалення

 

Операція з масивом (Array Action)

Операція з масивом в динамічному блоці дозволяє копіювати об’єкти у вигляді прямокутного масиву.

Операцію з масивом можна пов'язати з будь-яким із таких параметрів: лінійним, полярним, XY-параметром.

Якщо пов'язувати операцію з масивом із лінійним або полярним параметром, тоді вказується відстань між стовпцями масиву. Відстань між стовпцями визначає відстань між об'єктами масиву.

Наприклад, операція з масивом пов'язана з лінійним параметром. Нехай значення відстані між стовпцями рівне 2, тоді при зміні лінійного параметра на 10, число стовпців в екземплярі динамічного блоку стане     рівне 5.

Якщо пов'язувати операцію з масивом із XY-параметром, тоді вказується ще й відстань між рядками.

Динамічний блок може містити операцію з масивом і операцію повороту, що впливають на один і той самий набір об'єктів. Порядок, в якому входження блоку заноситься в масив і повертається, впливає на відображення блоку.

Якщо спочатку повернути блок, а потім занести його в масив, то всі екземпляри об'єктів масиву будуть окремо повернені навколо власної базової точки (рис. 21, а).

Якщо спочатку занести блок в масив, а потім повернути його, то всі екземпляри об'єктів масиву будуть повернені навколо однієї базової точки (рис. 21, б).

                

а)                                                        б)

Рис. 21. Операція з масивом

 

Операція пошуку (Lookup Action)

При додаванні операції пошуку в опис динамічного блоку і зв'язуванні її з параметром вибору створюється таблиця вибору. Можна використовувати таблицю вибору для призначення властивостей настройки і значень динамічного блоку.

 

7. Використання наборів параметрів

Третя палітра розробки блоків – Parameter Sets (Набори параметрів). Вона дозволяє поєднати вибір параметра і зв'язування його з деякою операцією. В переважній більшості випадків ця вкладка дозволяє скоротити час і не використовувати перші дві вкладки.

Набір параметрів додається до опису блоку так само, як і звичайний параметр. Операція, яка внесена до набору параметрів, автоматично додається до опису блоку і зв'язується з доданим параметром. Необхідно лише пов'язати з кожною дією потрібний набір об'єктів.

При першому додаванні набору параметрів в опис динамічного блоку, поряд з кожною операцією відображається жовтий значок попередження (рис. 22). Це вказує на те, що необхідно пов'язати набір об'єктів з кожною операцією. Двічі клацніть жовтий значок попередження і слідуйте підказкам в командній стрічці, щоб зв'язати операцію з набором об'єктів.

ruchki_linear_stretch1       ruchki_polar_stretch1

Рис. 22. Набори параметрів лінійного розтягування та полярного переміщення які не пов’язані з об’єктами

 

Якщо вставити набір параметрів вибору і двічі клацнути жовтий значок попередження, відкриється діалогове вікно "Таблиця вибору властивостей". Операції пошуку зв'язуються з даними, що додаються в цю таблицю, а не з набором об'єктів.

Перерахуємо інструменти третьої палітри розробки блоків "Набори параметрів":

·                    Point Move (Переміщення точки) — створює точковий параметр і пов'язує з ним операцію переміщення.

·                    Linear Move (Лінійне переміщення) — створює лінійний параметр з однією ручкою і пов'язує з ним операцію переміщення.

·                    Linear Stretch (Лінійне розтягування) — створює лінійний параметр з однією ручкою і пов'язує з ним операцію розтягування.

·                    Linear Array (Лінійний масив) — створює лінійний параметр з однією ручкою і пов'язує з ним операцію копіювання масивом.

·                    Linear Move Pair (Пара лінійних переміщень) — створює лінійний параметр з двома ручками і пов'язує з ним операцію переміщення.

·                    Linear Stretch Pair (Пара лінійних розтягувань) — створює лінійний параметр з двома ручками і пов'язує з ним операцію розтягування.

·                    Polar Move (Полярне переміщення) — створює полярний параметр з однією ручкою і пов'язує з ним операцію полярного переміщення.

·                    Polar Stretch (Полярне розтягування) — створює полярний параметр з однією ручкою і пов'язує з ним операцію полярного розтягування.

·                    Polar Array (Круговий масив) — створює полярний параметр з однією ручкою і пов'язує з ним операцію копіювання круговим масивом.

·                    Polar Move Pair (Пара полярних переміщень) — створює полярний параметр з двома ручками і пов'язує з ним операцію полярного переміщення.

·                    Polar Stretch Pair (Пара полярних розтягувань) — створює полярний параметр з двома ручками і пов'язує з ним операцію полярного розтягування.

·                    XY Move (Переміщення XY) — створює XY-параметр з однією ручкою і пов'язує з ним операцію переміщення.

·                    XY Move Pair (Пара переміщень XY) — створює XY-параметр з двома ручками і пов'язує з ним операцію переміщення.

·                    Move Box Set (Набір рамок переміщення XY) — створює XY-параметр з чотирма ручками і пов'язує з ним операцію переміщення.

·                    Stretch Box Set (Набір рамок розтягування XY) — створює XY-параметр з чотирма ручками і пов'язує з ним операцію розтягування.

·                    Array Box Set (Набір рамок масиву XY) — створює XY-параметр з чотирма ручками і пов'язує з ним операцію копіювання масивом.

·                    Rotation Set (Набір повороту) — створює параметр повороту з однією ручкою і пов'язує з ним операцію повороту.

·                    Flip Set (Набір віддзеркалення) — створює параметр віддзеркалення з однією ручкою і пов'язує з ним операцію дзеркального відображення.

·                    Visibility Set (Набір видимості) — створює параметр для формування станів видимості.

·                    Lookup Set (Набір пошуку) — створює параметр вибору з одною ручкою і пов'язує з ним операцію вибору.

 

8. Вказування ручок для динамічних блоків

При додаванні параметра в опис динамічного блоку автоматично додаються ручки настройки, пов'язані з ключовими точками параметра. В кресленні ці ручки настройки можна використовувати для виконання операцій з об’єктами екземпляра динамічного блоку.

Всі параметри (крім параметра вирівнювання, який завжди відображає одну ручку) мають властивість "Число ручок" (Number of Grips). Після вибору параметра в редакторі блоків, у палітрі "Властивості" з’явиться випадаючий список "Число ручок" (рис. 23). В цьому списку можна задати кількість ручок, які потрібно відображати для параметра (рис. 24).

ruchki_1a

Рис. 23. Випадаючий список

"Число ручок"

 

ruchki_1

ruchki_2

ruchki_3

Рис. 24. Лінійний параметр з різною кількістю ручок

 

Якщо для параметра задано 0 ручок, тоді екземпляр динамічного блоку можна редагувати лише за допомогою палітри "Властивості" (числове поле "Відстань").

Якщо динамічний блок містить стани видимості або таблицю вибору, тоді бажано, щоб відображалася тільки одна ручка вибору. Якщо клацнути цю ручку, відкриється список можливих варіантів зміни вигляду чи розмірів даного екземпляра динамічного блоку.

Ручки додаються автоматично в ключових точках параметра. Положення ручки можна змінити, тобто її можна помістити в будь-якому місці блоку відносно пов'язаної з нею ключової точки параметра. При зміні положення ручки вона залишається пов'язана з асоційованою ключовою точкою. Незалежно від того, де відображається ручка в екземплярі блоку, вона як і раніше маніпулюватиме пов'язаною з нею ключовою точкою. У випадку переміщення або зміни ключової точки параметра, положення ручки відносно базової точки буде збережене.

Оскільки ручки використовуються для маніпулювання в кресленні екземпляром динамічного блоку, необхідно переконатися, що кожна ручка розміщена в зручному місці. Якщо ручка розміщена не зручно, існує ймовірність некоректної поведінки динамічного блока.

Лінійні та полярні параметри можуть мати дві, одну або жодної ручки. Якщо задати відображення лінійного або полярного параметра з однією ручкою, тоді вона буде розміщена в кінцевій точці параметра. Якщо планується відображення лише однієї ручки, тоді слід призначати операції тільки для кінцевої точки параметра. Інакше неможливо буде маніпулювати екземпляром блока (виконувати операції), оскільки ручка відображатиметься не в ключовій точці, і не буде пов'язана з операцією.

Тип параметра, що додається до опису динамічного блоку, визначає тип ручок, що додаються в блок. Ручки своїм виглядом підказують про можливі способи маніпулювання екземпляром блока в кресленні.

У наступній таблиці наведені типи ручок, що використовуються в динамічних блоках, їх зовнішній вигляд і параметри, з якими вони пов'язані.

 

Тип ручки

Маніпулювання ручкою в кресленні

Пов’язані параметри

Стандартний

r_kvadrat

В межах площини в будь-якому напрямі

База, Точка, Лінійний, Полярний, XY

Лінійний

r_strilka

Назад і вперед в певному напрямі або вздовж осі

Лінійний

Поворот

r_kolo

Навколо осі

Поворот

Відобразити

r_strilka2

Клацнути для дзеркального відображення екземпляра динамічного блоку

Відобразити

Вирівнювання

r_Klin

В межах площини в будь-якому напрямку; при переміщенні над об'єктом екземпляр блоку вирівнюється по об'єкту

Вирівнювання

Пошукати

r_piramida

Клацнути для відображення списку елементів

Видимість, Пошук