Настоятельно рекомендуем Вам, не печатайте, не измерив чертеж по всем осям и направлениям, пока не будете уверены в его точности.
Итак, перед нами стол. Первое, на что надо обратить внимание — оси координат и их направление в верхнем левом углу. Именно по этим направлениям меняется координаты X и Y элементов. Стол можно приближать, удалять, перемещать (см. раздел Мышь). На столе отображается сантиметровая сетка (ее можно включать и выключать, см. раздел Клавиатура) и объекты. Объекты состоят из точек и соединяющих их линий. Существуют линии двух типов: прямые и кривые (сплайны). Для последних должны быть заданы промежуточные точки (см. разделы Мышь и Клавиатура).
На панели интерфейса расположен список объектов и поле с именем объекта. Для смены имени выделяем объект, нажимаем на поле для ввода имени и вводим имя с клавиатуры.
Иногда удобно поменять цвета некоторых объектов. Для этого воспользуемся установкой цвета объектов. Выделяем нужные объекты и нажимаем на прямоугольник с цветом. В появившемся окне устанавливаем цвет и сохраняем. Цвет объектов меняется.
Все действия в программе производятся мышкой и горячими клавишами и сочетаниями клавиш.
Существует несколько режимов редактирования элементов:
- Стрелка
- Перемещение
- Вращение
- Масштабирование
- Создание точек
- Создание линий
- Линейка
Стрелка служит для выделения объектов (см. раздел Мышь), перемещение, вращение и масштабирование служат по назначению.
При переключении в режим создания точек или создания линий выделенный объект автоматически переключается в режим точек. Если выделено более одного объекта, будет выделен только первый выделенный. Если выделенных объектов нет, при нажатии будет создан новый.
В режиме линейки не зависимо от того, в каком режиме находится объект(ы), редактирование отключено и работают только функции линейки (см. разделы Мышь и Клавиатура)
Для переключения режима редактирования объектов нажимаем на кнопки интерфейса с соответствующими обозначениями. Для перехода в режим линий и точек должен быть выделен строго один объект.
Режим объектов
Редактирование на самом верхнем уровне. Только в этом режиме можно выделять несколько объектов одновременно. У выделенных объектов отображаются область максимальных границ (темный прямоугольник), замороженные линии, точки. У невыделенных — только основные линии.
Режим линий
Выделенные линии отображаются красным цветом. Выделение работает только внутри текущего объекта и только на линии. Все действия (перемещение, вращение, масштабирование) производятся над выделенными линиями.
Режим точек
Выделенные точки отображаются красным цветом. Для всех линий, в состав которых входят выделенные точки, отображаются промежуточные точки. Как и в режиме линий, выделение работает только внутри текущего объекта и только на точки. Все действия (перемещение, вращение, масштабирование) производятся над выделенными точками. Промежуточные точки нельзя выделять, их можно только перемещать. Для того чтобы убрать промежуточную точку, двигаем ее к основной точке, она исчезает.
Правая кнопка мыши зарезервирована для перемещения стола: нажимаем в любом месте и перемещаем. Колесиком масштабируем стол (изображение на столе).
Все остальные действия мышью производятся левой кнопкой.
В режимах стрелки, перемещения, вращения и масштабирования работает выделение деталей. Выделять можно нажатием на элемент или рамкой (нажимаем и вытягиваем прямоугольник: все, что попадает в его область — выделяется).
Режим стрелки существует непосредственно для выделения деталей. Чтобы выделить несколько деталей за несколько раз, удерживаем клавишу Ctrl. Чтобы сбросить выделение, нажимаем в любое место.
В режиме перемещения наводим указатель мыши на выделенные детали, чтобы он принял нужный вид, нажимаем левую кнопку, перемещаем и отпускаем.
В режимах вращения и масштабирования все аналогично, разница в том, что учитывается только движение мыши по вертикали. Вращаются и масштабируются детали относительно центра (он отображается пересечением горизонтальной и вертикальной линий, его координаты отображаются на панели интерфейса), который определяется при изменении выделения. Центр можно задать самостоятельно (см. раздел Клавиатура)
В режиме точек объекта отображаются промежуточные точки, деформирующие линии. При перемещении можно перемещать основные точки и промежуточные, от которых выходит касательная к основным. При вращении и масштабировании используются только основные. При перемещении промежуточной точки с нажатой клавишей Ctrl все промежуточные точки соседних линий устанавливаются той же длины и вращаются вместе с текущей.
В режиме линий объекта выделяем линии — в нижнем углу экрана отображается суммарная длина всех выделенных линий.
В режиме создания точек нажатием добавляются новые точки. При нажатой клавише Ctrl подводим мышь к одной из линий выбранного объекта — появляется крестик разделителя линии и высвечивается длина линии с обеих сторон. При нажатии левой кнопки, линия разбивается на две и образуется точка, соединяющая их.
Пример: нужно укоротить рукав на 5 см, разделяем две линии на срезах за 50 мм от края, соединяем установленные точки и удаляем лишние линии.
В режиме создания линий при нажатии на точку объекта — начинаем вытягивать линию или заканчиваем на указанной точке. При вытягивании линии нажимаем левой кнопкой в любое место и, не отпуская кнопку, вытягиваем промежуточные точки, затем отпускаем и тянем линию дальше. Отменяем создание линии клавишей ESC (см. раздел Клавиатура)
В режиме линейки нажимаем левой кнопкой в любое место, вытягиваем линию, нажимаем, еще вытягиваем. В нижнем левом углу отображается длина установленных отрезков, исключая последний, привязанный к указателю мыши. Отменяем клавишей ESC (см. раздел Клавиатура)
Клавиатура
В таблице приведены горячие клавиши и значение (результат нажатия), в графе режим указаны режимы, в которых действуют данные клавиши:
- О — режим объектов
- Л — режим линий
- Т — режим точек
- Н — режим создания линий
- Ч — режим создания точек
- И — режим линейки
Сочетания клавиш важно использовать в указанном порядке, например Ctrl+'+' будет работать, если '+' нажимаем при нажатом Ctrl.
Важно: в справке программы указаны только основные клавиши и сочетания. Полный список горячих клавиш приведен ниже.
Значения клавиш Ctrl и Shift также см. в разделе Мышь.
Горячие клавиши | Режим | Значение |
G | ОЛТНЧИ | Включение/выключение сантиметровой сетки |
'+' | ОЛТНЧИ |
Увеличение масштаба стола |
'-' | ОЛТНЧИ | Уменьшение масштаба стола |
Home | ОЛТНЧИ | Установка масштаба и позиции обозревателя в исходное положение |
C | ОЛТ |
Установка центра выделенных деталей Пример: нужно увеличить или повернуть детали не относительно их общего центра, а относительно определенной точки — наводим указатель мыши в нужное место и устанавливаем центр |
Ctrl+A | ОЛТ | Выделение всех незамороженных деталей |
Ctrl+Z | ОЛТ | Отмена действия |
Ctrl+Y | ОЛТ | Повтор действия |
X/Y | ОЛТ | Установка смещения мыши только по оси X/Y
Пример: нужно переместить детали строго по горизонтали, нажимаем и удерживаем X и перемещаем |
Delete | ОЛТ | Удаление выделенных деталей
При удалении точек удаляются линии, в которых участвуют точки; при удалении линий удаляются изолированные точки |
X | Л | Разделение выделенных линий по общим точкам пересечения |
Ctrl+Delete | Л | Удаление выделенных линий без удаления изолированных точек |
Ctrl+'+' | ОЛ | В режиме объектов все выделенные объекты присоединяются к первому выделенному
В режиме линий все выделенные линии отделяются в новый объект |
R+'+' | ЛТ | Поворот выделенных деталей по часовой стрелке на 90 градусов вокруг центра |
R+'-' | ЛТ | Поворот выделенных деталей против часовой стрелки на 90 градусов вокруг центра |
M+H | ЛТ | Отражение выделенных деталей по горизонтали относительно центра |
M+V | ЛТ | Отражение выделенных деталей по вертикали относительно центра |
F | ЛТ |
Заморозка выделенных деталей При заморозке линий замораживаются все точки, участвующие в составе выделенных линий При заморозке точек замораживаются все линии, которым принадлежит данная точка Пример: разметили сечения или другие отметки на объекте, чтобы линия оставалась на месте и не мешалась при выделении других линий, замораживаем ее, а в нужный момент размораживаем (см. раздел группы элементов) При построении выкроек таким образом отмечаются ключевые места на чертежах |
Shift+V+H | ЛТ | Заморозка выделенных деталей
В режиме линий замораживаются только линии, точки остаются не замороженными В режиме точек замораживаются только точки, линии остаются не замороженными |
U | ЛТ | Разморозка всех замороженных деталей
При разморозке линий, размораживаются замороженные точки в составе этих линий При разморозке точек, размораживаются только точки |
L | Т |
Быстрое создание линии между двумя выбранными точками Обязательно должно быть выбрано строго две точки! |
Ctrl+W | Т |
Объединение выбранных точек в одну Пример: очень важно для того замыкать все точки, чтобы иметь замкнутую фигуру — перемещаем одну точку к другой на минимальное расстояние, выделяем обе точки и совмещаем их в одну |
Ctrl+D | Т |
Извлечение промежуточных точек, деформирующих линию Ко всем незамороженным линиям |
ESC | НИ |
В режиме создания линий — отмена создаваемой линии В режиме линейки — при первом нажатии отключается текущий отрезок, при втором — сбрасываются все измерения |
H | И | Установка горизонтального отрезка измерения внутри объекта
Пример: нужно померить выкройку брюк на уровне колена — наводим указатель мыши внутрь одной половинки, нажимаем H, наводим внутрь другой и тоже нажимаем H — в левом нижнем углу видим длину измерений в миллиметрах |
V | И | Установка вертикального отрезка измерения внутри объекта |
Важно обратить внимание на поля X и Y: это координаты текущего центра. Если выделен один объект, это координаты его центра. Если несколько — координаты центра их центров. В режиме линий это координаты центра выделенных линий, в режиме точек — выделенных точек.
Пример использования: нужно подвинуть точку строго на 1 см: выделяем нужные элементы, нажимаем на нужное поле, вводим координату на 10 больше и нажимаем Enter. Все сместится ровно на 10 мм.
Для точных вычислений и расчетов разработан калькулятор. На панели инструментов нажимаем кнопку с изображением калькулятора — появляется окно с кнопками. Теперь при нажатии на поля X и Y значения переносятся в поле калькулятора. Считаем на калькуляторе (прибавляем, вычитаем, умножаем, делим и т.д.) и нажимаем на кнопку "X>" или "Y>" для установки координаты X или Y.
Точки и линии имеют определенную группу — число от 1 до 9. Каждый элемент может принадлежать к любой из этих групп.
По умолчанию у всех стоит группа 1.
На панели интерфейса находятся объекты управления группами. При выделении элементов в поле номера группы высвечивается текущая группа. Если элементы не выделены или у них разные группы, поле остается пустым. Кнопками выбора группы (+, -) выбираем текущую группу. Для установки группы нажимаем "установить". В любой момент редактирования выбираем нужную группу и нажимаем "выбрать" — все элементы группы выделяются. Для того чтобы не сбросилось текущее выделение при нажатии "выбрать" удерживаем Ctrl.
Пример: нужно выделить группу 2 и 3, выбираем сначала 2, потом с нажатой клавишей Ctrl 3.
Аналогично можно размораживать элементы по группам: выбираем группу и нажимаем "разморозить". В режиме точек размораживаются только точки, в режиме линий — линии и точки.
Для того чтобы сделать собственную базу изделий, потребуется база скриптов и, желательно, база размеров. Скрипты пишутся на самом популярном языке программирования в мире C++. Несмотря на это, чтобы писать свои скрипты, не надо быть талантливым программистом, достаточно разобраться в элементарном синтаксисе.
Итак, основные типы, которые потребуются в освоении и написании скриптов:
int | целое число |
uint | целое беззнаковое число |
float | число с плавающей точкой |
bool | логический тип, принимает значения true/false |
string | строка |
container2 | Контейнер, в котором хранятся точки, линии и параметры объектов. Основной объект, в который добавляем всю необходимую информацию во время расчетов и добавляем на сцену. |
vector2 | Двумерный вектор с координатами X и Y |
Содержит 2 члена float X и float Y.
Пример:
|
Основные функции объекта типа vector2:
void vector2::Set(float X, float Y)
устанавливает координаты вектора X и Y
float vector2::GetLength()
возвращает длину вектора (расстояние от точки (0, 0) до (X, Y))
float vector2::DotProduct(vector2&)
скалярное произведение векторов
float vector2::GetDistanceFrom(vector2&)
возвращает расстояние между точками
void vector2::RotateBy(float degrees, vector2 &other)
поворачивает одну точку вокруг другой
@degrees: градусы от [0 до 360)
@other: вектор с координатами точки, вокруг которой вращать
void vector2::Normalize()
нормализует вектор
float vector2::GetAngleTrig()
возвращает угол вектора в градусах от [0 до 360)
С помощью вышеописанных функций можно совершать абсолютно любые операции над векторами. Кроме того, базовые операции — сложение и вычитание, умножение и деление (на число и на вектор), сравнение.
Пример:
|
vertex2 и line2
Внутренние типы контейнера (см. container2), объявлять их в скрипте нельзя. В тех функциях, в параметрах которых требуются объекты данных типов, обязательно получать ссылки на них непосредственно из контейнера.
Пример:
|
container2
Для добавления точек в контейнер используется оператор ["имя_точки"], который возвращает ссылку на вектор с координатами точки. Если точки с указанным именем нет в контейнере, она добавляется, если точка уже есть, возвращается имеющаяся.
Пример:
|
Основные функции объекта типа container2:
int container2::TakeMeasures()
вызывает окно с вводом мерок пользователем
float container2::Measure(string& code)
возвращает значение размерного признака в текущей метрической системе
@code: код мерки
float container2::Inc(string&)
возвращает значение прибавки в текущей метрической системе
@code: код мерки
float container2::MeasureMM(string& code)
возвращает значение размерного признака в миллиметрах
@code: код мерки
float container2::IncMM(string &code)
возвращает значение прибавки в миллиметрах
@code: код мерки
void container2::Shape(string&)
устанавливает имя объекта, в который будут добавляться линии
line2& container2::Line(string &A, string &B)
добавляет линию в установленный объект от точки A к точке B
если точки A или B не существует, линия не будет добавлена
line2& container2::Line(string &A, string &B, string &object)
добавляет линию в объект object от точки A к точке B
если точки A или B не существует, линия не будет добавлена
bool container2::LineDivByLen(line2 &line, string &vertex, float len)
разделяет линию точкой по указанной длине
если длина больше длины линии, линия не разделится
возвращает true/false — удалось или нет
@vertex: имя новой точки
bool container2::LineDiv (line2 &line, string &vertex, float delta)
разделяет линию точкой по указанной точке на линии от 0 до 1
если длина больше длины линии, линия не разделится
возвращает true/false — удалось или нет
@vertex: имя новой точки
@delta: параметр от 0 до 1
float container2::LineLength(line2 &line)
возвращает длину линии
float container2::LineIntersection(line2 &line, vector2 &A, vector2 &B)
возвращает точку на линии (на прямой или кривой) от 0 до 1
void container2::DeleteAllLines()
удаляет все линии из контейнера
bool container2::Circle(vector2 &pos, float R, string &A, string &B, string &C, string &D)
создает окружность из четырех кривых с центром в точке pos
возвращает true/false — удалось или нет
@R: радиус окружности
@A: имя первой точки окружности
@B: имя второй точки окружности
@C: имя третьей точки окружности
@D: имя четвертой точки окружности
Основные глобальные функции
void SceneAddFromScContainer(container2 &v)
добавляет содержимое контейнера на сцену
в режиме редактирования кода вместо этого выводит дополнительное окно
void Container2Save(container2 &v)
запись в глобальный контейнер сцены
void Container2Load(container2 &v)
загрузка из глобального контейнера сцены
void Container2Free()
очистка глобального контейнера сцены
bool ScriptRunFromBase(string &script)
выполнение скрипта из текущей базы
@script: имя скрипта