Основная надпись чертежа и спецификации
Для создания и изменения основной надписи чертежа в КОМПАС-3D v18 необходимо 2 раза кликнуть по основной надписи, после чего основная надпись станет активной для редактирования, а курсор будет размещен в ячейке на уровне которой осуществлялся двойной клик.

После заполнения основной надписи нужно обязательно подтвердить ввод основной надписи командой «Создать объект» 

Альтернативный способ задания основной надписи – использовать главное текстовое меню. Путь: Оформление – Основная надпись — Заполнить
Как заполнить основную надпись в спецификации?
Для создания и изменения основной надписи спецификации в КОМПАС-3D v18 необходимо включить режим отображения оформления документа командой «Отображать оформление»
, после чего основная надпись спецификации будет отображаться, и работа с ней будет выполняться по аналогии с чертежом.

Альтернативный способ включения режима отображения оформления – использовать главное текстовое меню. Путь: Вид – Отображать оформление
Как убрать основную надпись в чертеже?
Убрать основную надпись с чертежа возможно командой «Очистить». Путь: Главное текстовое меню — Оформление – Основная надпись — Очистить

Можно убрать основную надпись и при печати документа, в этом случае на чертеже она присутствовать будет, а на напечатанном документе уже нет. Для этого необходимо:
- перейти в режим предварительного просмотра, использовав команду «Предварительный просмотр»
(если открыто несколько документов, то необходимо также указать какой документ необходим);

- запустить команду «Фильтры вывода на печать».

Альтернативный способ вызова команды – использовать главное текстовое меню. Путь: Сервис – Фильтры вывода на печать;
- развернуть раздел «Элементы листа»;

- сбросить «галочку» с пункта «Штамп».

Автозаполнение основной надписи
КОМПАС-3D позволяет заполнять ряд полей основной надписи автоматически. Это:
- — номер листа;
- — количество листов;
- — формат листа;
- — масштаб.
Изменение рамки основной надписи
Изменение рамки основной надписи подробно рассматривается в уроках по администрированию системы. В рамках данного урока отметим только, что необходимо править библиотеку стилей «Основные надписи»
Работа с API КОМПАС-3D → Урок 4 → Основная надпись
Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В предыдущих уроках по API КОМПАС Основы и Оформление чертежа мы исходили из того, что КОМПАС не запущен, и запускали его сами методом CreateInstance. В следующем уроке Корректное подключение к КОМПАС мы проверяли наличие уже запущенного КОМПАСа и подключались к нему. В этом уроке разберём, как заполнить основную надпись чертежа.
Основная надпись в КОМПАС описывается интерфейсом ksStamp. Для получения указателя на него используются методы GetStamp() и GetStampEx() интерфейсов ksDocument2D, ksSpcDocument и ksDocumentTxt.
Единственным параметром метода GetStampEx является номер листа, для которого запрашивается интерфейс основной надписи. Нумерация листов начинается с единицы. Метод GetStamp не имеет параметров. Он возвращает интерфейс основной надписи для первого листа чертежа или спецификации.
Прежде чем перейти к рассмотрению интерфейса ksStamp, бегло рассмотрим интерфейс ksTextItemParam.
Компонента строки
Интерфейс ksTextItemParam задает компоненту строки текста. Под «компонентой» понимается строка или спецсимвол. Получить этот интерфейс можно с помощью метода GetParamStruct интерфейса KompasObject. Для этого в качестве единственного параметра данному методу нужно передать константу ko_TextItemParam.
Свойств у интерфейса ksTextItemParam всего три.
- iSNumb – код спецсимвола. Спецсимволы и их номера приведены в файле NumbSymb.frw, входящем в комплект поставки КОМПАС. Он расположен в подкаталоге SDK основного каталога программы КОМПАС.
- s – строка. Если интерфейс ksTextItemParam используется для описания спецсимвола, то данная строка выводится после спецсимвола.
- type – задает назначение интерфейса. Если значение этого свойства равно SPECIAL_SYMBOL, то интерфейс описывает спецсимвол и строку. При этом строка располагается сразу за спецсимволом. Если же значение этого свойства отлично от SPECIAL_SYMBOL, то значение свойства iSNumb игнорируется, а интерфейс описывает только строку s. Учтите, что в заголовочных файлах старых версий КОМПАС данное свойство называется type_ (со знаком подчеркивания), а константа SPECIAL_SYMBOL не определена. Она равна 17.
Описание интерфейсов параметров элементов текста в SDK
Но при описании свойства type константа SPECIAL_SYMBOL не упоминается. Она приводится (правда без числового значения) в разделе «Структуры параметров и константы / Структуры параметров текста / TextItemParam – структура параметров компоненты текста».
Описание структуры параметров компоненты строки текста в SDK
Там же приводятся еще три возможных значения свойства type (FONT_SYMBOL, FRACTION_TYPE, SUM_TYPE), но их назначение я так и не понял. Как показали эксперименты, поведение интерфейса ksTextItemParam при данных константах ничем не отличается от нулевого значения свойства type. Правда я тестировал в контексте основной надписи, возможно, что это накладывает какие-то свои ограничения.
Теперь рассмотрим методы интерфейса ksTextItemParam.
- GetItemFont() – возвращает интерфейс параметров шрифта ksTextItemFont.
- SetItemFont – устанавливает новый интерфейс параметров шрифта ksTextItemFont. Устанавливаемый интерфейс передается в качестве значения единственного параметра. В случае успеха метод возвращает значение true.
- Init() – инициализирует нулями свойства интерфейса. В случае успеха возвращает значение true.
Основная надпись
Как говорилось выше, основная надпись описывается интерфейсом ksStamp. У данного интерфейса нет интересных свойств, поэтому сразу переходим к рассмотрению его методов.
- ksClearStamp – очищает основную надпись или ее отдельную ячейку. Единственным параметром данного метода является номер очищаемой ячейки. Если его значение равно нулю, то очищается вся основная надпись. В случае успеха данный метод возвращает единицу, а в случае ошибки — нуль.
- ksCloseStamp() – закрыть основную надпись. Это означает выйти из режима редактирования основной надписи. В случае успеха возвращает единицу, а в случае ошибки – нуль.
- ksColumnNumber – делает текущей заданную ячейку. В качестве единственного параметра в данный метод передается номер ячейки, которая делается текущей. В случае успеха данный метод возвращает единицу, а в случае ошибки — нуль.
- ksOpenStamp() – открыть основную надпись. Это означает войти в режим редактирования основной надписи. Не имеет входных параметров, в случае успеха возвращает единицу, а в случае ошибки — нуль.
- ksTextLine – записать строку в текущую ячейку. Текущая ячейка должна быть установлена методом ksColumnNumber. Единственным параметром метода ksTextLine является указатель на интерфейс ksTextItemParam, о котором я говорил чуть выше. В случае успеха метод ksTextLine возвращает единицу, а в случае ошибки — нуль.
-
Все ячейки основной надписи пронумерованы. В документации КОМПАС данных номеров нет, но есть отсылка к ГОСТам на основную надпись (ГОСТ 2.104-68 и ГОСТ 2.104-2006). Также нумерацию ячеек основной надписи можно посмотреть на странице. На рисунках ниже представлены номера ячеек основной надписи форм 2а и 2б, полученные экспериментальным путем.

Первый лист

Редактирование основной надписи
Заполнение основной надписи состоит из нескольких последовательных этапов:
- Получить указатель на интерфейс ksTextItemParam. Для этого используется метод GetParamStruct интерфейса ksKompasObject. Интерфейс ksTextItemParam нужен для представления строк, записываемых в основную надпись.
- Получить указатель на интерфейс основной надписи ksStamp с помощью методов GetStamp или GetStampEx интерфейсов документа, спецификации.
- Вызвать метод ksOpenStamp() интерфейса ksStamp. Так мы входим в режим редактирования основной надписи.
- Подготовить строку, которая будет записана в ячейку основной надписи. Строка должна быть представлена в виде интерфейса ksTextItemParam.
- Выделить ячейку, в которую нужно записать строку. Для выделения ячейки используется метод ksColumnNumber интерфейса ksStamp.
- Вызвав метод ksTextLine интерфейса ksStamp, записать строку в выделенную ячейку.
- Повторить пункты 4-6 для всех строк, записываемых в основную надпись.
- Закрыть основную надпись методом ksCloseStamp интерфейса ksStamp.
Пример
Ниже приводится фрагмент программы, демонстрирующий работу с основной надписью.
В результате работы этой программы вы увидите основную надпись, показанную на рисунке ниже.
Основная надпись, полученная программно.
Сделаю два замечания по поводу приведенного выше фрагмента программы.
- В данном примере не приводится код, ответственный за подключение к КОМПАС и создание чертежа. Я убрал его для облегчения понимания кода. О том, как подключаться к КОМПАС и настраивать чертеж (в том числе выбирать формат основной надписи в нем), говорилось в предыдущих статьях цикла.
- Если внимательно посмотреть на приведенный выше код, то можно увидеть, что в одном случае строка устанавливалась в интерфейсе ksTextItemParam путем присвоения значения свойству s, а в другом — путем вызова метода set_s, про который я ничего не говорил. Дело в том, что в технологии COM все свойства представляются в виде методов (как правило, установки и чтения). Наименование этих методов формируется следующим образом:
get_<имя свойства>
set_<имя свойства>
В своих программах вы можете использовать любой из этих подходов (присвоение значения свойству или же вызов соответствующего метода).
Продолжение следует, следите за новостями блога.
Сергей Норсеев, автор книги «Разработка приложений под КОМПАС в Delphi».
Как заполнить основную надпись в компасе
Если при работе с Компас 3D при создании файла используется шаблон «Чертёж», то Компас автоматически создаёт лист формат А4 с уже готовой основной надписью чертежа. Заполним основную надпись чертежа, воспользовавшись чертежом предыдущего урока.
О предназначении полей основной надписи можно посмотреть здесь. Для заполнения основной надписи следует двойным щелчком мыши активировать основную надпись, при этом поля надписи выделятся пунктирной линией и будут доступны для редактирования.
Выбор нужного поля осуществляется щелчком мыши в соответствующем поле. Когда поля будут заполнены, следует нажать правую кнопку мыши и в локальном меню выбрать «Создать объект». Компас выйдет из режима редактирования основной надписи, а все надписи будут сохранены.
Аналогичным образом заполняются и дополнительные надписи на чертеже. Для редактирования нужно выбрать соответствующее поле и двойным щелчком мыши активировать редактор; ввести надписи в соответствующие поля и завершить, нажав правую кнопку мыши и выбрав «Создать объект».
Манипуляции с элементами чертежа
Используя чертёж предыдущего урока (Урок-1), создадим ещё один вид — вид детали сверху. Для этого, сначала, передвинем созданный главный вид немного вправо и вверх листа. Для этого вернём назад погашенные линии разметки, в слое «Системный слой (0) включим лампочку.
Для перемещения всего вида по листу следует в главном меню выбрать пункт «Редактор/Выделить все». Чертёж примет однородный цвет выделения, обычно зелёный. Затем, выбрать в главном меню «Редактор/Сдвиг/Указанием». Щёлкнуть мышкой в центре детали (ориентировочно, в центре большой окружности) и передвинуть изображение вверх и вправо.
Затем щёлкнуть мышкой — изображение зафиксируется в выбранной позиции.
Для снятия выделения достаточно щёлкнуть мышкой за пределами листа.
Теперь на листе есть место для построения второго вида, вида сверху. Присвоим создаваемому чертежу новое имя. Для этого следует зайти в главное меню и выбрать пункт «Файл/Сохранить как :». В поле имя файла следует ввести Урок-2 и нажать кнопку «Сохранить».
Построение второго вида
Второй вид необходим, так как неизвестна толщина детали. По ГОСТ вид сверху располагается симметрично внизу, под главным видом. Толщина детали равна 18 мм. Выберем инструмент «Горизонтальная прямая и щёлкнем мышкой, отступя от нижней кромки детали 30 — 40 мм (на глаз).
Эта разметочная линия будет задавать верхнюю кромку вида сверху. От этой линии следует построить параллельную линию в слое «Системный (0)» (смотри предыдущий урок) на расстоянии 18 мм вниз (толщина детали).
На чертежах принято указывать невидимые линии пунктирными линиями, а осевые линии штрихпунктирными линиями. У нас уже есть разметка осевых линий, но нет разметки радиусов отверстий и скруглений. Прежде чем сделать эту разметку (что бы не запутаться в линиях разметки) начертим контур детали. Для этого перейдём в слой «Чертёж (1)» и, выбрав инструмент «Прямоугольник» начертим прямоугольник, привязываясь к точкам пересечения разметочных линий.
Затем расставим остальные линии разметки. Перейдём снова в слой «Системный (0)». Выберем инструмент «Вертикальная прямая». Подводя курсор к боковым образующим окружностей, и щёлкая в этих местах мышкой, создадим вертикальные разметочные линии контуров окружностей. Для черчения осевых линий, а они должны выходить за контур детали на 5 — 10 мм, создадим две параллельные прямые, выбрав инструмент «Параллельная прямая» и создадим две линии отступающие от верхней и нижней кромки детали на 5 мм.
Далее, вернёмся в слой «Чертёж» и прочертим сначала осевые линии. Осевые линии должны немного выступать за пределы детали. Выберем инструмент «Отрезок», а на панели свойств выберем из списка «Стиль» линию «Осевая».
Начертим линии, привязываясь к точкам пересечения разметки осевых линий и горизонтальных разметочных линий. Так как линии разметки и осевые линии сливаются, то убедимся в правильности простановки осевых, отключив лампочку в слое «Системный».
Убедившись, что осевые начерчены правильно, включим лампочку в слое разметки и начертим пунктирные линии контуров отверстий. Выберем инструмент «Отрезок», а на панели свойств выберем из списка «Стиль» линию «Штриховая». Начертим линии контуров отверстий. Убедимся, что линии начерчены правильно, скрыв слой «Системный».
Осталось начертить две видимых контурных линии обозначающие переход внешних радиусов в прямую. Так как радиус скругления равен 12 мм, то эти линии совпадут с осевыми линиями. Начертим эти линии, выбрав инструмент «Отрезок» и стиль линии «Основная».
Осталось проставить размер толщины детали. Выберем инструмент «Линейный размер» и проставим размер высоты. В итоге у нас получится такой чертёж:
На нашем чертеже присутствуют все необходимые размеры для изготовления детали, но отсутствует информация о предельных отклонениях размеров (допусках), неизвестен класс чистоты поверхностей и тому подобное. Рассмотрим, как вывести на чертёж эту информацию.
Надписи и обозначения на чертеже и размерных линиях
Сначала изменим надпись размера отверстия диаметром 14 мм. Всё дело в том, что таких отверстий 4. Так же, следует указать предельное отклонение размера (допустимое при изготовлении детали). Для отверстий это отклонение, обычно положительное. В нашем случае примем предельное отклонение +0,1 мм.
Для изменения надписи размера следует выделить необходимый размер и двойным щелчком мыши вызвать панель «Задание размерной надписи». В появившейся панели следует внести необходимые данные, показанные на рисунке.
В нижней части панели отображается создаваемая нами надпись. Завершив ввод необходимой информации, следует нажать кнопку «OK». Для снятия выделения с размера следует щёлкнуть мышкой в любом места листа.
Мы видим, что размер диаметра отверстий расположен параллельно диагональной выносной линии. Для отверстий желательно располагать размерную надпись на горизонтальной или вертикальной полке. Поэтому изменим начертание выносной линии. Снова выделим размер. Рядом с размером появится панель настроек размера. На этой панели следует выбрать кнопку «Свойства» и нажать на неё.
Слева на экране появится панель свойств размера. В списке свойств следует выбрать пункт «Размещение текста» и выбрать пункт «На полке, вправо».
Вид размерной линии диаметра изменится. Опустим полку немного ниже. Для этого подведём курсор к левой чёрной точке полки. Курсор примет вид диагонального перекрестия со стрелками. Нажмём кнопку мыши и перетащим полку немного вниз.
Далее, изменим надпись на размерности центрального отверстия, но вместо предельного отклонения укажем квалитет. Вызовем панель «Задание размерной надписи» и, на панели, нажмём кнопку «Квалитет». На появившейся панели «Выбор квалитета» включим флажок «Отверстия» и выберем в таблице квалитет Н7 (средняя точность).
Закроем панель «Выбор квалитета» нажатием кнопки «ОК» и закроем панель «Задание размерной надписи». Не снимая выделения с размерности, как и в предыдущем случае, расположим надпись на полке.
Допишем на габаритные размеры детали предельные отклонения размеров. Так как измерены наружные поверхности детали, то предельные отклонения принимают (в основном) отрицательные значения. Примем предельные отклонения размеров -0,3 мм. Как и с предыдущими размерами, выделим габарит 102 и вызовем панель «Задание размерной надписи». Зададим отклонение -0,3 и нажмём кнопку «ОК».
Аналогичным образом следует изменить надпись на габаритном размере 96 мм.
На рабочих чертежах, так же, принято указывать классы чистоты поверхности (шероховатости). Обозначения чистоты поверхности ставятся непосредственно на поверхности или на выносных линиях размеров принадлежащим той или иной поверхности. Для неуказанных поверхностей ставится знак чистоты поверхности в правом верхнем углу чертежа.
Вставим сначала знак для неуказанных поверхностей. Для этого зайдём в главное меню и выберем «Вставка/Неуказанная шероховатость». На появившейся панели следует ввести величину шероховатости, например Rz 25.
Нажмём кнопку «ОК» и получим изображение знака с соответствующей надписью.
Далее, укажем шероховатость поверхности на верхней кромке детали. Для этого следует зайти в главное меню и выбрать «Инструменты/Обозначения/Шероховатость».
Внизу экрана появится системная панель. В поле «текст» следует щёлкнуть мышкой и на экране появится панель ввода текста:
В первом поле следует ввести значение шероховатости, например Rz 50 и нажать кнопку «ОК». Затем, следует щёлкнуть мышкой по линии на которую следует установить знак шероховатости, и перемещая курсор мыши выбрать наилучшее положение для знака.