КОМПАС-3D V10 на 100% - Стор 80
З'явиться вікно, в якому для кожного шаблону потрібно буде ввести ім'я, вказати файл з параметризованим фрагментом або моделлю, файл таблиці параметрів Excel і заставку (необов'язково).
В результаті бібліотека шаблонів буде повністю готова до роботи (рис. 6.13).

Мал. 6.13. Приклад бібліотеки шаблонів зварних швів

Мал. 6.14. Таблиця параметрів для одного із шаблонів бібліотеки зварних швів
Чим же суттєво відрізняються бібліотеки шаблонів від бібліотек фрагментів? Як уже говорилося, можливістю вставки в документ не всього фрагмента, а окремих шарів і можливістю задавати список чітко визначених значень для змінної, з яких користувач може вибирати необхідну (наприклад, стандартні модулі зубчастих коліс, діаметри різьблення, довжину паза шпони тощо). Крім того, у шаблонах можна використовувати різні типи змінних, серед яких логічні та рядкові, а у розмірних
написи можна резервувати змінні для текстових підстановок (вони повинні виділятися з обох сторін знаком #). Однак найголовнішою перевагою бібліотек шаблонів перед бібліотеками фрагментів є те, що при виборі та вставці шаблону вам не потрібно буде змінювати параметризовані змінні вручну, як це робилося б при вставці фрагмента або моделі з бібліотеки фрагментів. Значення всіх змінних будуть автоматично вибрані з відповідного шаблону таблиці.
Безумовно, на розробку шаблонів йде більше часу, а при створенні та роботі з бібліотекою вже не обійтися одними навичками роботи – потрібно вивчити принципи роботи менеджера бібліотек (для чого неабияк попотіти над довідкою). Проте бібліотека шаблонів дає можливість широко автоматизувати створення.типових елементів і, водночас, не забороняє динамічно керувати процесом формування та вставки бібліотечного елемента у графічний чи тривимірний документи.
Створення бібліотек за допомогою
- Це інтегрована в систему середовище розробки конструкторських додатків на основі мови програмування Python. Чому за основу взято саме Python? Python розповсюджується безкоштовно і, як наслідок, немає жодних обмежень на використання програм, написаних на ньому. І, на сьогоднішній день Python – одна з найпростіших і найзрозуміліших мов програмування. І за всієї своєї простоті він мало чим поступається таким китампрограммирования, як C++ чи Delphi.
По суті є звичайною бібліотекою, що підключається до КОМПАС, тільки з дуже великими можливостями. Після встановлення середовища Python і (їх дистрибутиви входять до комплекту встановлення системи КОМПАС) бібліотеку можна підключити до системи як звичайний прикладний модуль – за допомогою менеджера бібліотек.
При створенні додатків можна користуватися як функціями (про них буде розказано нижче), так і спеціальними функціями макросередовища, що полегшують розробку прикладних бібліотек. Серед спеціальних функцій слід відзначити можливості проставляння кутових, лінійних і радіальних розмірів, функцію вставки в документ фрагмента, малювання та ін. інтерфейсу).
Щоб використовувати бібліотеку потрібно мати знання лексики та прийомів роботи з мовою Python.
Якщо ж ви не з чуток знайомі з основами програмування і у вас є бажання розробляти справжні бібліотеки на базеті для вас є один шлях -використання інструментальних засобів розробки прикладних бібліотек
У багатьох випадках одних засобів параметризації для автоматизації тих чи інших дій у процесі
проектування недостатньо, і нові проектовані чи креслення хоч і схожі з еталоном, але мають відмінності, які дозволяють використовувати параметричні залежності під час побудови. Наприклад, коли значення приймаються конструктивно або вибираються з довідників залежно від третіх величин. Іноді розрахункові параметри моделі змінюються дискретно (наприклад, модуль зубчастих коліс завжди узгоджується зі стандартними значеннями і не може набувати значень, відмінних від наведених у ГОСТ) або не пов'язані аналітично з будь-яким іншим параметром. Для визначення таких параметрів у бібліотеку необхідно закласти досить складний та гнучкий алгоритм. Він може включати розрахунки будь-якої складності,
умови визначення параметрів, різні обмеження, зв'язок із файлами даних тощо. У такому разі ніяк не обійтися без програмування.
Для цієї мети програмний пакет має дуже потужні інструментальні засоби розробки додаткових модулів (прикладних 500 бібліотек) – які дозволяють використовувати всю силу сучасного програмування спільно з функціями КОМПАС для створення дуже гнучких і функціональних додатків. Добре володіючи однією з мов програмування та основами тривимірного моделювання можна навчитися самостійно розробляти різні за структурою програмні модулі для вирішення завдань конструювання. Такі програми зможуть робити складні обчислення, самостійно вибирати необхідні параметри з баз даних, обмінюватися даними із зовнішніми додатками і, зрештою, побудувати або креслення необмеженої складності з урахуванням усіх параметрів.(Згадайте хоча б Редуктор3D, описаний у гл. 5).
Вибір того, що застосовувати (параметризацію або програмування) залежить від поставлених перед вами завдань. Якщо вам необхідний просто набір надійно збережених і зручних у використанні параметричних елементів, а головне - якщо зі створенням цих елементів немає жодних проблем, звичайно, краще вдатися до параметризації і створювати прості бібліотеки типових елементів. Однак якщо ви плануєте вводити в
проектований модуль складні аналітичні розрахунки, припускаєте, що модуль прийматиме рішення замість проектувальника, взаємодіяти із зовнішніми додатками, зчитувати чи зберігати дані, то цей модуль має бути повноцінною програмою. Іншими словами, до засобів програмування слід вдаватися лише тоді, коли вам потрібно створювати
Звичайно, практика розробки модулів, що підключаються, мовами Delphi, C++ та ін. далеко не нова. Дуже багато відомих додатків тривимірної графіки формують свою відкриту архітектуру, надаючи користувачам можливість розширювати функціональність програм. Такими додатками є AutoCAD, Adobe Photoshop, 3ds Max (деякі плагіни для 3ds Max значно розширюють функціонал програми) та ін.
Даний розділ розрахований на читачів як мінімум знайомих з основами програмування і мають уявлення про роботу в програмному середовищі Delphi 7. Ви повинні знати основні поняття програмування, такі як клас, об'єкт, інтерфейс, метод та ін. В іншому випадку рекомендую вам вивчити книгу про програмування в Delphi.
надає доступ як до функцій так і дофункцій тривимірного моделювання в сам доступ може реалізуватися двома шляхами:
• з використанням експортних функцій, оформлених у вигляді яких розробник підключає до своєї програми при створенні плоских креслень, та із застосуванням – при програмному формуванні твердотільних моделей;
• за допомогою технології Automation (автоматизації). Цю технологію реалізовано через API (Application Programming Interface, інтерфейс прикладного програмування) системи КОМПАС. Управління та взаємодія із системою при цьому оформлене через інтерфейси IDispatch.
Технологія COM, автоматизація та інтерфейси IDispatch
Оскільки програмування не є темою цієї книги, ми не заглиблюватимемося в суть понять технології COM та автоматизації. Я опишу ці питання коротко, щоб ви мали певну виставу.
З початку 1990 років корпорація Microsoft розробляє технологію, що дозволяє створювати гнучкі модульні програми таким чином, щоб окремі модулі можна було писати різними мовами програмування, але щоб при цьому забезпечувалася їхня повна взаємозамінність при використанні в різних програмних пакетах. На сьогодні ця технологія повністю сформована та називається COM (Component Object Model, модель компонентних об'єктів).
Технологія COM описує методологію реалізації компонентів програмного забезпечення: об'єктів, які можуть повторно використовуватися, можуть бути неодноразово підключені до різних програм. Повторне використання компонентів стало логічним наслідком еволюції програмування та отримало назву підходу. Концепція компонентноорієнтованого програмування передбачає повне відокремлення внутрішніх функцій компонента від функцій доступу до нього ззовні. Тепер, звертаючись до компонента,необов'язково знати його внутрішній пристрій, для цього достатньо мати інформацію про те, як викликати його функції. Іншими словами, потрібно знати, як взаємодіяти з компонентом і який у нього інтерфейс. Така функціональність COM досягається за рахунок підтримки одного або декількох інтерфейсів, які використовуються іншими програмами для доступу до внутрішніх членів і методів компонента.
Таким чином, інтерфейс – це те, що розміщено між двома об'єктами та забезпечує зв'язок між ними. програмування є технологією розробки програмного забезпечення, жорстко націлену використання інтерфейсів. Інтерфейс є своєрідною сполучною ланкою, наданою керуючою програмою для доступу до
Об'єкт COM - конкретний екземпляр завершений об'єкт з власними членами даних і методами, який може легко вбудовуватися в програми або поширюватися як окремий програмний продукт.є або Windows, які можна створювати в будь-якому середовищі програмування, здатної підтримувати потрібний формат представлення. COMоб'єкт може мати багато функцій, доступ до яких відбувається через його інтерфейси. Будь-який повинен мати принаймні одні інтерфейс ІUnknown, хоча насправді має їх значно більше.
Свого часу розробники технології COM дійшли висновку, що має існувати певний механізм запиту інтерфейсу визначення його можливостей. Цей запит також має існувати для того, щоб забезпечити оновлення клієнтськими програмами значення лічильника посилань на цей інтерфейс. Цей лічильник визначає, як довго інтерфейс залишатиметься доступним, перш ніж він буде видалено з пам'яті. Саме для цієї мети існує спеціальний інтерфейс, який називаєтьсяІUnknown. Він має настільки важливе значення, що основний принцип специфікації СОМ вимагає, щоб усі, крім своїх спеціалізованих інтерфейсів, підтримували інтерфейс ІUnknown. Причому кожен визначений для об'єкта інтерфейс повинен походити від ІUnknown або від інтерфейсу, який у свою чергу сам походить від ІUnknown. Цей принцип називається успадкуванням інтерфейсів. В інтерфейсі ІUnknown реалізовано лише три методи: Queryinterface(), AddRef() і Release(). Метод Queryinterface() визначає, чи отриманий інтерфейс потрібний. Методи AddRef() та Release() використовуються для підрахунку посилань на даний
інтерфейс при застосуванні багатьма програмами. Перед початком використання клієнт викликає метод СОМ, збільшуючи кількість посилань на інтерфейс на одиницю. Після закінчення роботи з інтерфейсом клієнт повинен викликати функцію Release(), щоб зменшити кількість посилань на одиницю. Коли лічильник посилань для всіх інтерфейсів дорівнюватиме нулю, значить, об'єкт більше ніким не використовується і його можна вивантажувати з пам'яті.
Мета автоматизації полягає в тому, щоб дати можливість програмі надавати у користування послуги, які в ній є. Основною особливістю автоматизації є можливість комбінувати функції різних спеціалізованих програм в одному модулі. СОМ дає можливість програмам передавати свою інформацію в інші програми та модулі. Якби кожна програма або могли б підтримувати покажчики та процедуру обходу покажчиків, то проблему вирішили б. Однак деякі мови програмування мають певні труднощі з процедурою обходу таблиці покажчиків. Деякі з них, наприклад Visual Basic, не підтримують вказівники безпосередньо. Для вирішення цієї проблеми було розроблено спеціальний інтерфейс,який дозволяє будь-яким мовам