Програмування на vba для autocad

ШАРИ, КОЛЬОРУ І ТИПИ ЛІНІЙ

Шари подібні прозорим плівкам на яких розкладені різні групи елементів. Будь створений об'єкт має свойтва: Шар, Колір, ТіпЛініі. Колір дозволяє розрізняти схожі об'єкти, тип лінії дозволяє швидко відрізнити наприклад центральні і приховані лінії. Розкладка об'єктів по верствам спрощує роботу над складними кресленнями.

Робота із ШАРАМИ

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

СОРТУВАННЯ ШАРІВ І ТИПІВ ЛІНІЙ

Всі верстви і типи ліній зберігаються у відповідних колекціях. Тому можна виконувати їх перебір пройшовши по вмісту колекції і отримати всі шари і типи ліній малюнка. приклад:

СТВОРЕННЯ ШАРУ І ПРИСВОЄННЯ ЙОМУ ІМЕНІ

Для нового креслення Автокад створює спеціальний шар з ім'ям "0", за замовчуванням йому призначається колір = 7 (чорний або білий залежно від кольору фону) і тип ліній CONTINUOUS. Даний шар не може бути видалений. Ви ж можете створювати нові шари і призначати їм кольору і типи ліній на свій розсуд. Кожен шару є частина колекції Layers. для створення шару і додавання його в колекцію є метод Add. При створенні шару можна відразу призначити ім'я або перейменувати його впоследстіі змінивши свойтва Name. Ім'я шару може бути не більше 31 символу, прогалини неприпустимі. Приклад призначення об'єкту іншого шару.

ВСТАНОВЛЕННЯ АКТИВНОГО ШАРУ

У малюнку завжди один з шарів активний, нові об'єкти створюються на ньому. Можна змінити активний шар устаовів у нього властивість ActiveLayer. заморожений шар не може стати активним.

Контроль видимості шару

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

ВКЛЮЧЕННЯ І ВИКЛЮЧЕННЯ ШАРІВ

Заморожування і разморозки ШАРІВ

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

Блокування та розблокування ШАРІВ

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

ПРИЗНАЧЕННЯ шару КОЛЬОРУ

При призначенні кольору шару слід вводити ім'я кольору або його індекс. Стандартні імена є тільки для квітів з індексами від 1 до 7. Колір об'єкту можна призначати незалежний від кольору шару. Значення індексу кольору від 0 до 256, іменовані константи тільки для квітів 1 до 7 і BYBLOCK і BYLAYER. Якщо використовується acByBlock Автокад викреслює нове об'єкт в кольорі за замовчуванням до тих пір поки вони не групуються в блок. Коли ж блок вставляється в малюнок, об'єкти входять до нього успадковують свойтва кольору від блоку.

ПРИЗНАЧЕННЯ ТИПУ ЛІНІЙ ДЛЯ ШАРУ

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

ВИДАЛЕННЯ ШАРУ

Для видалення шару є метод Delete. Не можна видалити поточний шар, нульовий шар, шар залежить від зовнішніх посилань і шар містить об'єкти. Шари посилаються на визначення блоку звані DEFPOINTS не можуть бути видалені, навіть якщо не містять видимих ​​об'єктів.

РОБОТА З КВІТАМИ

Колір можна призначити шару або окремим об'єктом, кольору визначаються іменами або індексами від 1 до 255 (крім того 256 - по шару, 0 - по блоку). Стандартні імена квітів: 1 - червоний, 2 - жовтий, 3 - зелений, 4 - синій, 5 - блакитний, 6 - магента, 7 - чорний або білий. Для установки кольору використовуй свойтва Color.

РОБОТА З ТИПАМИ ЛІНІЙ

Тип лінії являє повторюється послідовності точок, тире і прогалин. Складні типи ліній включають так само символи. Опис типу ліній включає ці послідовності і відстані між їх окремими елемнтов, а так само їх розміри. Можна створювати власні типи ліній. Перед використанням типу лінії їх слід завантажити в креслення. Визначення типу ліній повинно зберігатися в LIN-файлі-бібліотеці. Завантажуються вони методом Load. Приклад: Не варто змішувати внутрішні типи ліній Автокада з типами ліній деяких плотерів, їх спільне використання може призвести до непередбачуваних результатів.

ВСТАНОВЛЕННЯ АКТИВНОГО ТИПУ ЛІНІЙ

Щоб використовувати завантажений тип ліній його слід зробити активним. Всі новостворювані об'єкти малюються активним типом ліній. Якщо вибрано "по шару" новостворювані об'єкти використовують активний тип ліній, якщо вибрано "по блоку" нові об'єкти малюються за допомогою активного тип ліній до тих пір поки не будуть об'єднані в блок. Властивість ActiveLineType встановлює активний тип ліній.

ПЕРЕЙМЕНУВАННЯ ТИПУ ЛІНІЙ

При перейменування типу ліній змінюється ім'я тільки визначення типу ліній, в файлі LIN все залишається без змін. Для перейменування властивість Name.

ВИДАЛЕННЯ ТИПУ ЛІНІЙ

У будь-який момент можна видалити тип ліній крім наступних BYLAYER, BYBLOCK, CONTINUOUS. поточної і залежить від зовнішнього посилання. Так само не можна видалити тип лінії, яка входить у визначення блоку. Для видалення метод Delete.

ЗМІНА ОПИС ТИПУ ЛІНІЙ

Типи ліній можуть мати опис, яке можна змінити через свойтва Description. Опис може містити до 47 символів. ThisDrawing.ActiveLinetype.Description = "Зовнішня стіна"

ЗАВДАННЯ МАСШТАБУ ТИПУ ЛІНІЙ

Чим менше масштаб типу ліній тим щільніша лінія виходить на одиницю малюнка. За замовчуванням Автокад використовує масштаб рівний 1.0, для його зміни використовується метод LinetypeScale. Системна змінна CELTSCALE задає масштаб типів ліній для новостворюваних об'єктів. приклад:

ПРИЗНАЧЕННЯ ШАРІВ, КВІТІВ ТА ТИПІВ ЛІНІЙ ОБ'ЄКТІВ

Число шарів в малюнку і число об'єктів на шарі віртуально необмежено. Приклад зміни шару об'єкта із застосуванням властивості Layer. Константи для кольору об'єкта: acRed, acYellow, acGreen, acCyan, acBlue, acMagenta, acWhite. Приклад зміни властивості Color у об'єкта: Приклад зміни типу ліній об'єкта. Створюється коло, робиться спроба завантажити тип лінії з acad.lin, якщо тип лінії вже є або файл не існує видається повідомлення про помилку. І в підсумку для окружності встановлюється потрібний тип лінії.

ВСТАВКА ТЕКСТУ В МАЛЮНОК

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

Робота із стилями текстів

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

перевернутий, дзеркальний або обидва

СТВОРЕННЯ І ЗМІНА ТЕКСТОВОГО СТИЛЮ

Виключаючи стиль за замовчуванням STANDARD можна створювати будь-який власний. Знову вводиться текст успадковує висоту, ширину, кут і ін. Властивості поточного стилю. Після створення стилю текст ім'я його змінити не можна. Автокад АВТОМАТИЧНО перетворює ім'я стилю у верхній регістр. Якщо не вводити ім'я то воно буде Style [N] де N наступне числове значення. Зміна поточного текстового стилю здійснюється модифікацією властивостей об'єкта TextStyle.
  • FontFile - Задає файл пов'язаний зі шрифтом.
  • BigFontFile - Задає форми не ASCII-символів.
  • Height - Задає висоту символу.
  • Width - Задає стиснення або розтягнення символів.
  • ObliqueAngle - задає кут нахилу тексту
  • TextGenerationFlag - Задає дзеркальний, перевернутий або обидва.
Якщо змінити орієнтацію текстового стилю все раніше введені тексти цим стилем змінять орієнтацію, зміна ж розміру, ширини, нахилу так не впливає на раніше введений текст. Втім поведінку досить загадково, іноді змінюється і відображення раніше введеного тексту в останньому випадку. Шрифт визначає форму символів. Один шрифт може бути використаний для створення різних стилів. Приклад назначени текстового стилю.

Застосовуючи ШРИФТІВ TRUE TYPE (TTF)

ЗАСТОСУВАННЯ ШРИФТІВ UNICODE І BIGFONT

Автокад підтримує стандарт Unicode, при якому в шрифті може міститися до 65 тис. Символів з різних мов, правда ввести такі символи безпосередньо неможливо, доводиться користуватися послідовностями \ U + nnnn, де nnnn - шістнадцятковий код символу. Все AutoCAD SHX-шрифти є Unicode. Попередні релізи Автокад аж до 13, не підтримують цю можливість. Шрифти BIGFONT використовуються для представлення символів алфавіти яких містять тисячі "букв". Приклад зміни файлу шрифтів: Примітка: не можна використовувати довгі імена файлів містять кому як ім'я файлу шрифту.

ВСТАНОВЛЕННЯ ВИСОТИ ТЕКСТУ

Висота тексту визначається розміром символу в одиницях креслення. Значення зазвичай представляє розмір букв верхнього регістру, виняток шрифти TrueType. Для них до висоти великих літер може додаватися резервних зона для символів наголоси. Причому цей розмір визначається самостійно творцем шрифту. Крім того для деяких символів залишається ще й резерв з низу (q, p, g і т.д.). Приклад зміни розміру шрифту текстового об'єкта. приклад установки нахилу для текстового об'єкта

ВСТАНОВЛЕННЯ ПРАПОРА ГЕНЕРАЦІЇ ТЕКСТУ

Даний прапор встановлює режим відображення тексту - "догори ногами", дзеркально або обидва.

СТВОРЕННЯ ТЕКСТУ

Для створення текстового об'єкта використовуй метод AddLineText. вимагає три параметра: власне рядок тексту, точка вставки і висота тексту. Як текстового рядка приймаються Unicode-символи, що управляють і спеціальні символи. Точка вставки - змінна типу Variant. Висота тексту позитивне значення в поточних одиницях креслення. приклад:

ФОРМАТУВАННЯ РЯДКИ ТЕКСТУ

Змінити оформлення тексту можна або змінивши призначений йому текстовий стиль, або змінюючи властивості самого текстового об'єкта. Форматувати можна тільки повністю рядок, а не окреме слово. Для зміни стилю є властивість StyleName. після його зміни слід застосовувати метод Update. Додаткові властивості характерні тільки для текстів:
  • Alignment - Задає горизонтальне і вертикальне вирівнювання
  • InsertionPoint - Задає точку вставки
  • ObliqueAngle - Задає кут нахилу
  • Rotation - Задає кут обертання в радіанах
  • ScaleFactor - Задає фактор масштабування
  • TextAlignmentPoint - Задає точку вирівнювання
  • TextGenerationFlag - Задає отоброженіе догори ногами, дзеркальне і обидва
  • TextString - Задає текстовий рядок
Повний же список властивостей і методів см. В довідці.

ПОВТОРНЕ ВИРІВНЮВАННЯ ТЕКСТУ

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

ВНЕСЕННЯ ЗМІН ДО ТЕКСТУ

Складний рядок

Принциповим відміну многострочного тексту (мультитекста) від тексту в тому, що форматровать можна окремі слова і навіть символи. Мультитекст може складатися з будь-якого числа параграфів, весь блок мультитекста можна піддати форматування відразу. Так само тільки для мультитекста є підкреслення.

СТВОРЕННЯ Складний рядок

Метод AddMText вимагає три параметра - текстовий рядок, точка вставки і ширина рамки в яку буде втиснутий мультитекст. Останній параметр являє позитивне число, в одиницях поточного креслення. Висота блоку мультитекста залежить від кількості символів. Приклад створення мультитекста.

ФОРМАТУВАННЯ мультитекст

Знову вводиться тексту автоматично призначається форматування поточного текстового стилю. (За замовчуванням стиль STANDARD) Форматування можна згодом змінити використовуючи спеціальні символи і властивості об'єкта. Орієнтація, вирівнювання, ширина і обертання можуть призначатися тільки цілого об'єкта мультитекст, на відміну наприклад від підкреслення, яке може виділяти лише потрібне слово або букву.

ФОРМАТУВАННЯ ОКРЕМИХ СИМВОЛІВ мультитекст

Індивідуально можна змінювати шрифт, колір, підкреслення і ін. Атрибути елементів мультитекста. Таблиця кодів форматуючих символів наведена нижче.

вирівнювання 0-низ, 1-центр, 2-верх

В останньому прикладі вводиться дріб 1 і 1/2. Використання фігурних дужок застосовує форматування тільки всередині них. Вкладеність дужок може досягати 8 рівнів. Приклад форматування з ASCII-кодами
\ A2; over text \ A1; / \ A0; under text> Приклад використання форматуючих символів

ФОРМАТУВАННЯ багаторядкова ТЕКСТОВИХ ОБ'ЄКТІВ

Установка властивості об'єкта StyleName задає стиль за замовчуванням для новостворюваних об'єктів мультитекста. При застосуванні нового стилю до раніше створеним об'єктам має складне форматування буде втрачено. Вирівнювання тексту буває ліве, праве і по центру, а положення вгорі, внизу і по центру. Автокад пропонує 9 установок вирівнювання: TL (вгору і вліво), TC (вгору і по центру), TR (вгору і вправо), ML, MC, MR, BL, BC, BR. Змінювати ці значення можна через властивість AttachmentPoint.

ВИКОРИСТАННЯ СИМВОЛІВ UNICODE, УПРАВЛЯЮЧИХ І СПЕЦІАЛЬНИХ СИМВОЛІВ

Символи unicode \ U + 00B0 градуси, \ U + 00B1 плюс-мінус, \ U + 2205 діаметр.

Вказавши %% код_сімвола можна вводити і інші спец-символи. %% o - надкресленням, %% u - підкреслення,%. - градуси,
%% p - плюс-мінус, %% c - діаметр, %%% - відсотки.

ЗАМІНА ШРИФТІВ

ВСТАНОВЛЕННЯ АЛЬТЕРНАТИВНОГО ШРИФТУ ПО-умовчанням

За замовчуванням для заміни неіснуючого шрифту використовується simplex.shx, однак можна укзано будь-який інший через властивість AltFontFile об'єкта Preferences.

Схожі статті