Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В предыдущих уроках по API КОМПАС Основы и Оформление чертежа мы исходили из того, что КОМПАС не запущен, в уроке Корректное подключение к КОМПАС мы проверяли наличие уже запущенного КОМПАСа и подключались к нему. В прошлом уроке Основная надпись разбирали, как заполнить основную надпись чертежа. В этом уроке продолжим рассмотрение интерфейсов системы КОМПАС и наконец-то начнем чертить.
Прежде чем создавать сложные чертежи, необходимо научиться строить графические примитивы, такие как точки, прямые, отрезки и окружности. О том, как это делать, мы сегодня и поговорим.
Для построения точки используется метод ksPoint интерфейса ksDocument2D. Ниже приводится прототип этого метода.
Допустимые стили точек приведены в таблице ниже.
Стили точек
В случае успеха метод ksPoint возвращает указатель на созданную точку, а в случае ошибки – значение ноль.
Ниже приводится фрагмент программы, осуществляющей построение точки.
В этом и последующих примерах из данной статьи я буду приводить лишь самые важные части кода, относящиеся к теме статьи. О том, как получить интерфейс ksDocument2D, рассказывалось в предыдущих статьях цикла.
Прежде чем перейти к рассмотрению построения отрезков и окружностей, нужно упомянуть о стилях линий. КОМПАС предлагает несколько системных стилей линий, каждый из которых определяется целым положительным числом. Всего существует 25 стилей. Приводить их полный перечень я не буду. Назову лишь наиболее часто используемые.
Наиболее используемые стили линий
Полный перечень стилей смотрите в документации (Структуры параметров и константы / Константы / Константы графических объектов / Системные стили линий).
Описание системных стилей линий в SDK
Для построения прямой линии используется метод ksLine интерфейса ksDocument2D. Его прототип:
У данного метода всего три параметра: координаты точки, через которую проходит прямая, и угол (в градусах) между прямой и горизонтальной линией. Угол откладывается против часовой стрелки.
В случае успеха метод ksLine возвращает указатель на созданную прямую, а в случае ошибки – число ноль.
Ниже приводится пример программы, строящей прямую.
Обращаю ваше внимание на то, что метод ksLine не позволяет указать стиль линии. Он всегда строит вспомогательные прямые, т.к. прямые в КОМПАСе являются вспомогательными построениями.
На рисунке ниже изображен фрагмент построенной прямой.
Фрагмент прямой
Для построения отрезка используется метод ksLineSeg интерфейса ksDocument2D. Вот его прототип:
В случае успеха метод ksLineSeg возвращает указатель на созданный отрезок, а в случае ошибки – значение ноль.
Ниже приводится пример программы, строящей отрезок.
На рисунке ниже приводится сам отрезок, построенный этой программой.
Отрезок
Для построения окружности используется метод ksCircle интерфейса ksDocument2D. Вот его прототип:
В случае успеха данный метод возвращает указатель на созданную окружность, а в случае ошибки – значение ноль.
Ниже приводится пример программы, строящей окружность.
На рисунке ниже изображена построенная окружность.
Окружность
Обращаю ваше внимание на то, что окружность строится без обозначения центра. О том, как его строить, будет рассказано в одной из следующих статей цикла.
Заключение
В данной статье мы познакомились со стилями линий и научились строить простейшие геометрические объекты: точка, прямая, отрезок и окружность. В следующих статьях цикла мы подробно рассмотрим построение более сложных объектов и операции над ними.
Продолжение следует, следите за новостями блога.
Сергей Норсеев, автор книги «Разработка приложений под КОМПАС в Delphi».
Прежде чем создавать сложные чертежи, необходимо научиться строить графические примитивы, такие как точки, прямые, отрезки и окружности. О том, как это делать, мы сегодня и поговорим.
Точка
Для построения точки используется метод ksPoint интерфейса ksDocument2D. Ниже приводится прототип этого метода.
long ksPoint ( double x, //Координаты точки
double y,
long style). //Стиль точки
Допустимые стили точек приведены в таблице ниже.
Стили точек
В случае успеха метод ksPoint возвращает указатель на созданную точку, а в случае ошибки – значение ноль.
Ниже приводится фрагмент программы, осуществляющей построение точки.
Document2D->ksPoint(100, 100, 0);
В этом и последующих примерах из данной статьи я буду приводить лишь самые важные части кода, относящиеся к теме статьи. О том, как получить интерфейс ksDocument2D, рассказывалось в предыдущих статьях цикла.
Стили линий
Прежде чем перейти к рассмотрению построения отрезков и окружностей, нужно упомянуть о стилях линий. КОМПАС предлагает несколько системных стилей линий, каждый из которых определяется целым положительным числом. Всего существует 25 стилей. Приводить их полный перечень я не буду. Назову лишь наиболее часто используемые.
Наиболее используемые стили линий
Полный перечень стилей смотрите в документации (Структуры параметров и константы / Константы / Константы графических объектов / Системные стили линий).
Описание системных стилей линий в SDK
Прямая
Для построения прямой линии используется метод ksLine интерфейса ksDocument2D. Его прототип:
long ksLine ( double x, //Координаты точки
double y,
double Angle). //Угол наклона
У данного метода всего три параметра: координаты точки, через которую проходит прямая, и угол (в градусах) между прямой и горизонтальной линией. Угол откладывается против часовой стрелки.
В случае успеха метод ksLine возвращает указатель на созданную прямую, а в случае ошибки – число ноль.
Ниже приводится пример программы, строящей прямую.
Document2D->ksLine(100, 100, 45);
Обращаю ваше внимание на то, что метод ksLine не позволяет указать стиль линии. Он всегда строит вспомогательные прямые, т.к. прямые в КОМПАСе являются вспомогательными построениями.
На рисунке ниже изображен фрагмент построенной прямой.
Фрагмент прямой
Отрезок
Для построения отрезка используется метод ksLineSeg интерфейса ksDocument2D. Вот его прототип:
long ksLineSeg ( double x1, //Координаты первой точки
double y1,
double x2, //Координаты второй точки
double y2,
long style). //Стиль линии
В случае успеха метод ksLineSeg возвращает указатель на созданный отрезок, а в случае ошибки – значение ноль.
Ниже приводится пример программы, строящей отрезок.
Document2D->ksLineSeg(100, 100, 150, 150, 1);
На рисунке ниже приводится сам отрезок, построенный этой программой.
Отрезок
Окружность
Для построения окружности используется метод ksCircle интерфейса ksDocument2D. Вот его прототип:
long ksCircle ( double xc, //Координаты центра
double yc,
double rad, //Радиус
long style). //Стиль линии
В случае успеха данный метод возвращает указатель на созданную окружность, а в случае ошибки – значение ноль.
Ниже приводится пример программы, строящей окружность.
Document2D->ksCircle(100, 100, 30, 1);
На рисунке ниже изображена построенная окружность.
Окружность
Обращаю ваше внимание на то, что окружность строится без обозначения центра. О том, как его строить, будет рассказано в одной из следующих статей цикла.
Заключение
В данной статье мы познакомились со стилями линий и научились строить простейшие геометрические объекты: точка, прямая, отрезок и окружность. В следующих статьях цикла мы подробно рассмотрим построение более сложных объектов и операции над ними.
Продолжение следует, следите за новостями блога.
Сергей Норсеев, автор книги «Разработка приложений под КОМПАС в Delphi».