Розділ і об’єкти специфікації – КОМПАС в DELPHI

Робота зі специфікацією здійснюється за допомогою інтерфейсу ksSpecification Отримати його можна за допомогою методу GetSpecification () інтерфейсу ksSpcDocument

Інтерфейс ksSpecification не має властивостей Розглядати всі його методи ми не будемо У цій та наступній главі ми розглянемо лише основні його методи, використовувані при роботі зі специфікаціями

Створення розділу специфікації практично нічим не відрізняється від створення обєкта специфікації Існує два види обєктів специфікації: базовий і допоміжний

Згідно документації КОМПАС: «для базових обєктів

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

Відносно допоміжних обєктів там же сказано буквально наступне: «на відміну від базового для допоміжного обєкта не передбачені сервісні функції, виконання яких забезпечує специфікація Допоміжні обєкти не сортуються автоматично, не враховуються при розрахунку і простановке позицій »

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

Для створення обєкта специфікації (як базового, так і допоміжного) використовується метод ksSpcObjectCreate інтерфейсу ksSpecification Ось прототип цього методу

ksSpcObjectCreate(

const nameLib: WideString / / імя бібліотеки стилів styleNumb: Integer / / Номер стилю специфікації secNumb: Integer / / Номер розділу

subSecNumb: Integer / / Номер підрозділу

numb: Double / / Залежить від типу обєкта typeObj: Smallint / / тип створюваного обєкта

): Integer

Тепер докладніше

Імя бібліотеки стилів являє собою повний шлях до бібліотеки стилів graphiclyt

Номер стилю специфікації задає її зовнішній вигляд Для того щоб краще зрозуміти, що це за номер зробіть наступне: відкрийте в програмі

КОМПАС будь-яку специфікацію і відкрийте пункт меню «Сервіс / Стилі специфікацій» При цьому перед вами зявиться вікно як на малюнку нижче

Бачите колонку «Номер», в лівій частині вікна У параметрі styleNumb вказується саме цей номер

secNumb визначає номер створюваного розділу У таблиці нижче представлені номери всіх розділів специфікації

Номер раздела1

Найменування розділу

5

Документація

10

Комплекси

15

Складальні одиниці

20

Деталі

25

Стандартні вироби

30

Інші вироби

35

Матеріали

40

Комплекти

При спробі створення обєкта з невірним номером розділу, виводиться повідомлення про ошібке1:

1 Дані номери не представлені в документації КОМПАС і отримані мною експеріменальним чином Хоча вони збігаються на КОМПАС 8 і КОМПАС 11, гарантувати, що вони співпадуть і на інших версіях компаса я не можу

subSecNumb – номер підрозділу Використовується для організації ієрархії в специфікації Ми будемо вказувати в ньому значення нуль

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

ньому вказується номер базового обєкта, якому має належати створюваний обєкт, або значення нуль

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

У разі успіху метод ksSpcObjectCreate повертає значення 1

Після того як обєкт (базовий або допоміжний) створений, він автоматично відкривається для редагування Для того щоб закрити його, використовується метод ksSpcObjectEnd () інтерфейсу ksSpecification Даний метод не має вхідних параметрів У разі успіху він повертає числовий ідентифікатор створеного обєкта

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

var

kompas: KompasObject SpcDocument: ksSpcDocument Specification: ksSpecification str: string

……………………

Begin

……………………

/ / Формуємо шлях до бібіліотека стилів

str:=kompasksSystemPath(0)+\graphiclyt;

/ / Отримуємо інтерфейс ksSpecification

Specification:=ksSpecification(SpcDocumentGetSpecification())

/ / Cоздан розділ Документація SpecificationksSpcObjectCreate(str,1,5,0,0,1) SpecificationksSpcObjectEnd()

/ / Створюємо розділ Деталі

1 Така поведінка може бути різним на різних системах КОМПАС

SpecificationksSpcObjectCreate(str,1,20,0,0,1) SpecificationksSpcObjectEnd() kompasVisible:=true

end

На малюнку нижче показаний результат роботи цієї програми

Тут, ми створювали допоміжні обєкти На малюнку нижче показаний той же приклад, але з використанням базових обєктів

Єдине, що ми змінили в коді програми, це значення параметрів typeObj в методах ksSpcObjectCreate зі значення 1, на значення нуль

Як видно, у випадку базових обєктів система КОМПАС сама заповнила значення в колонках «Поз» І «Кол»

Джерело: Норсеев Сергій, «розробка програм під КОМПАС У DELPHI»

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*