четверг, 4 октября 2012 г.

Осваиваем QCAD и LibreCAD. Часть 1 - Основы построения

В этой статье мы познакомимся о основными концепциями QCAD и научимся основам построения чертежа. Статья написана таким образом, чтобы читатель постепенно получал необходимые знания. По мере продвижения вы встретите небольшие задания, призванные помочь в освоении QCAD. В конце статьи будет разобрано упражнение по созданию простого экскиза, которое позволит закрепить полученные навыки.
>> К оглавлению цикла статей "Осваиваем QCAD и LibreCAD".

О серии статей

Данная серия статей предназначена для широкой аудитории, от начинающего знакомиться с черчением в CAD до опытного пользователя CAD'ов, не знакомого с QCAD. Она может послужить учебным руководством или самоучителем при освоении QCAD.

Причины написания

Для пользователя Linux при появлении необходимости работы с двухмерными компьютерными чертежами остро стоит вопрос об выборе и освоении инструмента, адекватно решающего такие задачи. К сожалению, на сегодняшний день существует заметной глубины информационный вакуум в сфере работы с классическими двухмерными чертежами в Linux, особенно в вопросах, касающихся обучающих материалов. В связи с этим я решил посвятить серию статей обучению работе в QCAD - одной из наиболее развитых свободных чертилок.

Почему QCAD?

QCAD - это одна из наиболее развитых свободных программ для создания двухмерных чертежей. Для операционной системы Linux данная программа является на мой взгляд фаворитом в данной категории. QCAD имеет следующие достоинства относительно таких конкурентов как проприетарный DraftSight:
  1. Является свободным продуктом.
  2. Прекрасно чувствует себя в экосистеме Linux.
QCAD хранит свои чертежи в открытом формате dxf от Autodesk.

Логотип QCAD

Установка QCAD

QCAD для вашей операционной системы можно скачать с официального сайта QCAD Downloads.

Что такое чертеж

QCAD служит для создания цифровых чертежей. Нельзя не отметить, что же это вообще такое. Чертеж - это модель некоторого объекта, геометрически выполненная на двухмерной поверхности. Главными отличиями чертежа от рисунка является строгость, четкость и простота. Чертеж не должен восприниматься двусмысленно, в отличии от иных изображений. Все это определяет основные свойства чертежей:
  1. Использование ограниченного количества простых геометрических объектов (примитивов) для создания чертежа объекта любой сложности. Полная детерминированность любого объекта чертежа.
  2. Высокая степень стандартизации приемов создания чертежа, его основных элементов и их оформления. Использование на чертеже только фиксированного набора линий и штриховок/заливок.

Объектное мышление

С физической точки зрения классический чертеж представляет собой два слоя:
  1. Однородную поверхность (чертежный лист).
  2. Слой с элементами чертежа, нанесенными например карандашом.
Все элементы имеют свою собственную геометрию и каким-то образом расположены на чертеже. Таким образом они имеют два типа параметров - геометрическое строение и расположение (координаты). Поэтому эти элементы по сути своей - объекты, а лист чертежа - их хранилище.
При переходе к компьютерному черчению объектная модель, не всегда заметная приметная в бумажном черчении, выходит на передний план. И такой переход предоставляет нам большие возможности. Теперь мы можем присваивать элементам не только два типа параметров, а столько, сколько потребуется. К тому же возможно изменять эти параметры на лету. Все это определяет невиданную гибкость компьютерных чертежей по сравнению с бумажными.

Первый взгляд на QCAD

Что же, на время отвлечемся от теоретических аспектов. Настало время запускать QCAD. При первом запуске программа предложит выбрать язык интерфейса, и настройки чертежа. Я предпочитаю белый фон.

 Скриншот окна QCAD

Упражнение: создайте новый чертеж в QCAD и сохраните его с именем "Упражнения" и форматом DXF в папку с вашими чертежами. Затем вы сможете использовать данный чертеж для выполнения небольших упражнений по ходу текста.

Рабочий лист и навигация по нему

Теперь приступим к обзору имеющихся у нас возможностей. Прямо по центру расположен чертежный лист - главный элемент интерфейса программы. Не пугайтесь того, что чертежный лист в QCAD является бесконечным. Это свойство предоставляет возможность вместить на него что угодно, таким образом многие трудности бумажного черчения сразу же отпадают. На листе возможна следующая вполне логичная навигация:
  • Перемещение по листу осуществляется перемещением мыши при ее зажатой средней кнопке
  • Масштабирование (приближение или отдаление, то есть зум) осуществляется скроллингом колеса мыши
Панель навигации

Важной частью листа является координатная сетка. При масштабировании листа координатная сетка также автоматически масштабируется с коэффициентом 10. Узлы сетки расположены равномерно, и объединены в блоки 10х10.

Чертежный лист

Упражение: попробуйте воспользоваться навигацией по чертежу.

Системы координат

Важнейшим понятием в черчении является система координат. Системы координат в QCAD бывают двух видов: глобальная (абсолютная) и локальная (относительная). Глобальная система координат задана нам для того, чтобы не потеряться на бесконечном чертежном листе. Она служит своего рода маяком, по которому мы ориентируемся на листе.
Локальная же система координат предназначена для задания координаты точки относительно любого места на чертеже. Она может быть вручную перемещена в любое удобное место.
Текущие координаты курсора можно увидеть на нижней панели координат.

Панель координат

На ней представлены как локальные, так и глобальные координаты точки в двух системах - декартовой и полярной.
Переместить локальную систему координат можно, установив новый локальный ноль координат:
Snap -> Set relative zero

Локальная система координат

Упражнение: попробуйте переместить локальную систему координат в любое новое место на чертеже.

Что такое примитив

В качестве базовых объектов в QCAD как и в других CAD используются так называемые примитивы - отрезки, откружности, дуги, сплайны, текстовые строки. Примитивы могут компоноваться в более сложные объекты - блоки, например отрезки - в прямоугольник или треугольник. Как мы помним, объекты на чертеже имеют два главных параметра - собственную геометрию и расположение относительно других объектов или чертежного листа. Таким образом, при создании примитива необходимо будет определить эти параметры.


Некоторые примитивы и объекты QCAD

 

Первый взгляд на панель инструментов и командную строку

Панель инструментов является одним из главных элементов графического интерфейса QCAD, а командная строка соответственно одним из главных элементов командного интерфейса. Панель инструментов находится на левой стороне главного окна, а командная строка - внизу. Далее мы освоим возможности, к которым дают доступ эти элементы интерфейса, а пока просто запомним где они находятся.

Панель инструментов

Фокус ввода

Перенос фокуса ввода позволяет переключаться между управлением программы при помощи графического интерфейса и командной строки. При фокусе на графическом интерфейсе возможно использовать сочетания клавиш для быстрого доступа к функциям QCAD. При фокусе на командной строке весь ввод клавиатуры идет на нее, при этом приглашение командной строки становится синего цвета. Для переноса фокуса на командную строку достаточно нажать на поле ввода команд. Для переноса фокуса обратно на графический интерфейс необходимо нажать клавишу Esc.

Командная строка с захваченным фокусом ввода.

Упражнение: попробуйте перенести фокус ввода на командную строку и обратно на графический интерфейс.

Точное ручное позиционирование

Как мы помним, у элемента чертежа имеется два типа параметров - собственной геометрии и координатные. У точки никакой изменяемой собственной геометрии нет, поэтому при создании точки важны лишь координаты. Чтобы создать точку введем в командной строке команду point:
point [Enter]
Примечание: далее необходимость нажатия [Enter] для ввода команды после ее набора указываться не будет.
Мы увидим, что в приглашении командной строки теперь написано Position (Укажите местоположение), что означает необходимость указать координаты размещения точки. Способ выбора этих координат называется позиционированием. В данном разделе мы будем позиционировать точку в ручном режиме с помощью прямого указания координат. По умолчанию позиционирование производится относительно глобальной системы координат. Введем в командной строке через запятую значение координат x (абсцисссы) и y (ординаты) точки относительно глобальной системы координат:
10,10
Можно заметить, что после ввода команды приглашение командной строки осталось прежним - Position . Это значит, что QCAD в качестве поведения по умолчанию перешел к созданию новой точки. Если нам не требуется более создавать точки мы можем нажать клавишу Esc. Еще один интересный факт - локальное начало координат теперь находится в последней точке, координаты которой мы указывали. Это довольно удобная функция называется автоматическим переносом относительной системы координат.
Для позиционирования точки относительно локальной системы координат используется символ @:
@20, -10.5
Обратите внимание, что разделителем парметров является запятая, а в роли разделителя десятичной дроби служит точка. Использование или неиспользование пробелов между параметрами (в частности координатами) или операторами (символ @, запятая, минус) не имеет существенного значения. Так же не забывайте, что возможно использовать отрицательные координаты.
Возможно позиционирование не только в декартовых, но и в полярных координатах:
@10<30
Здесь первый параметр - полярный радиус p, а второй - полярный угол a (в градусах). Углы в QCAD отсчитываются классическим образом начиная с 3-х часов и далее против часовой стрелки.
Упражнение: попробуйте создать несколько точек с помощью ручного позиционирования в глобальной и локальной системах координат.

Динамика панели инструментов

Тот, кто внимательно выполнял упражнения наверное мог заметить, что содержание панели инструментов не остается постоянным. Действительно, панель инструментов меняет свое содержание в зависимости от наших действией. Попробуем нажать на второй элемент панели - "Line Tools". Содержимое панели изменится, предоставляя доступ к каталогу с функциями создания отрезков. Для перехода обратно на более высокий уровень структуры можно нажать специальную клавишу возврата, которая появилась в верхней части панели, или Esc на клавиатуре.
Упражнение: попробуйте побродить по вложенной структуре панели инструментов.

Основы автоматического позиционирования и создания примитивов

Согласитесь, ручное позиционирование бывает утомительным. Для упрощения позиционирования в QCAD используется автоматическое позиционирование с привязкой к объектам чертежа. В упражнении, где мы перемещали локальный центр координат использовалось так называемое свободное позиционирование. Однако, свободное позиционирование не годится для создания чертежа. Ведь как мы помним, на чертеже все расстояния строго детерминированы, а при свободном позиционировании мы указываем координаты лишь приближенно. Поэтому для точного позиционирования на чертеже используются другие методы.
Знакомство с автоматическим позиционированием мы начнем с создания отрезка по двум точкам. Для запуска функции создания такого отрезка существует четыре способа:
  1. Нажать на панели инструментов на кнопку "Line Tools" (второй элемент по счету) и выбрать соотвествующую иконку.
  2. В меню выбрать "Draw -> Line -> Line from 2 points".
  3. Нажать при включенной английской раскладке на клавиатуре последовательно клавиши "L" и "I" (т. е. li).
  4. Ввести в командной строке команду line
Эти четыре возможных способа запуска создания примитива стоит принять во внимание, и выбрать для использования наиболее удобный.
После активации функции создания отрезка мы увидим, что содержимое панели инструментов изменилось. Теперь она предоставляет возможность активации какого-либо типа привязки. Простейшей из привязок является позиционирование по координатной сетке. Давайте выберем эту привязку (второй элемент по счету на панели) и посмотрим, как теперь ведет себя наш курсор курсор на чертежном листе.

Позиционирование по сетке

Выясняется, что мы уже не можем произвольно указывать координаты точки. За место этого курсор притягивается к ближайшему узлу сетки, позволяя таким образом реализовывать точное позиционирование.
Упражнение: попробуйте создать отрезок по двум точкам, используя автоматическое позиционирование с привязкой по сетке.

Автоматическая привязка

В QCAD версии 3 появилась долгожданная функция автоматической привязки. Теперь, нужная привязка автоматически активируется на некотором расстоянии от характерной точки. При таком "захвате" точки под курсором появляется подпись названия привязки (на рисунке ниже это Middle, то есть середина отрезка). При нажатии на кнопку мыши точка автоматически позиционируется по указанной привязке.
Таким образом, все дальнейшие задания можно выполнять с помощью только автоматической привязки, не переключаясь на специальные привязки. Автоматическая привязка работает, когда активна кнопка "Auto" в меню "Snap".
Настоятельно рекомендую в список автоматических привязок включить привязку по центральным точкам (Center points) - см. скриншот окна настроек.

Список привязок, которые работают в автоматическом режиме (нужно дополнительно активировать привязку по центрам)

Создаем эскиз транспортира: часть 1

Наконец-то мы подошли к созданию первого эскиза. Для начала создадим новый чертеж с именем "Транспортир". Вот чертеж транспортира, который будем делать:

Эскиз транспортира

Начнем с создания левой стороны линейки транспортира. Сначала запустим создание отрезка по двум точкам одним из способов, указанным в предыдущем разделе. Используя привязку по сетке укажем первую точку отрезка на чертеже с помощью автоматического позиционирования. Далее, введем в командной строке:
@0,20
Таким образом мы создали вертикальный отрезок (x=0).
Теперь перейдем к созданию горизонтального отрезка. Два раза нажмем Esc и выберем на панели инструментов создание горизонтальной линии. Обратите внимание на появившуюся в верхней части главного окна панель опций. В ней нам нужно указать длину отрезка 110, а в качестве точки привязки выберем начало.

Панель опций

Используем привязку к конечным точкам примитивов. В данном случае выберем привязку к конечным точкам (Snap to End), чтобы прилепить отрезок в конечную точку вертикального отрезка. Подведем курсор к одной из конечных точек и создадим горизонтальный отрезок.

Привязка к конечным точкам

Для создания второй горизонтальной линии воспользуемся другой функцией построения отрезка. Снова два раза нажмем Esc и выберем на панели инструментов "Parallel (with Distance)". На панели опций укажем расстояние 20, количество - 1. Теперь подведем курсор к уже созданному горизонтальному отрезку. По одну из сторон отрезка на заданном нами расстоянии появится образ нового отрезка. Установите курсор так, чтобы новый отрезок оказался по нужную сторону и нажмите кнопку мыши для его создания.
Завершим линейку транспортира отрезком, созданным с помощью линии по двум точкам, при этом воспользуемся все той же привязкой по конечным точкам. Однако, после указания первой точки выберем на панели инструментов в нижней группе ортогональное ограничение (Restrict Orthogonally). Теперь мы не сможем установить вторую точку иным образом, кроме как ортогональным по отношению к локальному началу координат. Эта функция полезна при черчении горизонтальных и вертикальных линий. После создания отрезка не забудьте выключить ограничения на ортогональность (Restrict Off).

Создаем эскиз транспортира: часть 2

Отлично, первая часть работы сделана. Перейдем к созданию дуги транспортира. Для этого воспользуемся построением дуги по центру, точке и углам (найти ее можно в разделе дуги панели инструментов).

Панель инструмента с разделами примитивов

После инициализации создания дуги в командной строке появляется приглашение в вводу "Center" (укажите центр). Как видно из рисунка транспортира, центр дуги располагается на середине верхней стороны линейки. Чтобы позиционировать центр таким образом, используем привязку по центрам "Snap to Middle". Подведем курсор к области середины верхнего отрезка и когда он приклеится к центру отрезка нажатием кнопки мыши зафиксируем центр. Приглашение командной строки вновь изменится - теперь предложено указать радиус. Согласно приведенному выше чертежу, радиус малой дуги составляет 30 мм,поэтому введем его в консоль:
30
Теперь необходимо будет поочередно ввести начальный и конечный угол (соответственно 0 и 180 градусов). После создания первой дуги QCAD предложит указать центр новой дуги.

Позиционирование центра дуги

Это нам подходит - снова указываем ту же точку в качестве центра.
Затем вводим радиус равный 50 мм. Чтобы немного разнообразить процесс создания укажем углы с помощью автоматических привязок. Для этого используем привязку по конечным точкам (End). Теперь подведем курсор к правому верхнему углу линейки транспортира и укажем первый угол дуги. Аналогично, второй угол определим указанием левого верхнего угла линейки. Обратите внимание, что дуга строится против часовой стрелки от начального угла к конечному.

Указание начального угла дуги

Все, эскиз готов! Скачать мой эскиз можно здесь.

Заключение

В данной статье мы рассмотрели основы работы в QCAD и научились делать простейшие эскизы. В следующей статье будут рассмотрены приемы, необходимые для создания полноценных чертежей. На основе уже имеющихся у нас наработок в виде эскиза транспортира мы возьмемся за создание полного чертежа данного объекта.

Источники

38 комментариев:

  1. Спасибо! Воспользуюсь информацией с Вашего разрешения.

    ОтветитьУдалить
    Ответы
    1. Информацию из статьи можно использовать свободно, так что пожалуйста.
      P.S. Вторая часть сейчас в разработке.

      Удалить
  2. Я долго искала руководство по этой программе....наконец то нашла..)) с нетерпением жду продолжения!

    ОтветитьУдалить
  3. А как в libreCad добавить свой шрифт? Gost_A.ttf Gost_B.ttf
    Логично было их скопировать в папку /fonts но в списке они не появились, а в папке все шрифты с расширением .lff
    Долгие поиски какого либо мануала не увенчался успехом.

    ОтветитьУдалить
    Ответы
    1. Вот здесь поднята эта тема http://forum.librecad.org/how-can-i-use-more-FONTS-ttf-td5483251.html.
      True type fonts are not supported in LibreCAD, only stiky fonts.
      If you want to use ttf you can first convert it to lff fonts and add the path in "Edit->application preferences" tab "paths"

      Короче, LibreCAD поддерживает только шрифты формата lff. Как вариант предлагается сконвертировать ttf в lff.

      Удалить
    2. Подскажите пожалуйста, почему не получается вставка текста? После набора текста и задания всех параметров в окне "текст", нажимаю ОК. Программа запрашивает точку вставки, но каким бы способом ни задавал (курсором или в командной строке) ничего не происходит. Что я делаю не так? Заранее спасибо. И огромное спасибо за уроки!

      Удалить
    3. Нужно поэкспериментировать с кодировками. Для кириллицы подойдут cyrillic_ii или unicode. Кодировку можно выбрать в окне вставки текста, в самом верху в разворачивающемся списке (под надписью "шрифт"). В крайнем случае можно попробовать обновить LibreCAD до последней стабильной версии.

      Удалить
    4. Спасибо, всё получаестя! Кодировка действительно была другая (новичку простительно), на cyrillic_ii работает без проблем.

      Удалить
    5. Насчет добавления своих шрифтов в Libre CAD здесь: http://kubuntu.ru/node/11094

      Удалить
    6. ttf2lff делает обводку шрифта по контуру, что за фигня? Как сделать нормальный шрифт то? Очень нужен наклонный ГОСТ А.

      Удалить
  4. Спасибо огромное! В последнее в ремя в рунете можно найти только "обзоры", а не реальные руководства.

    ОтветитьУдалить
  5. Большое спасибо автору! Правильная твоя дорога. Успехов!

    ОтветитьУдалить
  6. Bardzo dobry kurs LibreCAD.
    Może przetłumaczę go na język polski i zamieszczę na którymś z portali, oczywiście jeśli autor nie ma nic przeciw temu.

    ОтветитьУдалить
  7. Подскажите пожалуйста что я делаю не так...
    Создаю чертеж, в процессе создаю несколько блоков (чтобы было удобнее копировать), сохраняю чертеж, закрываю программу. Потом открываю и на чертеже нет ни одного блока, только те элементы, которые не превратил в блок. Пробовал несколько раз.

    ОтветитьУдалить
    Ответы
    1. В названии блоков не следует использовать кириллицу.

      Удалить
    2. Даа... вот-эт я затупил, аж стыдно стало...
      Попробовал, все заработало, большое спасибо за статью и за ответ.
      Сбило то, что программа не принимала кириллицу в названиях слоев, а в названиях блоков принимала, вот я и на называл...

      Удалить
  8. Отличный цикл статей, очень грамотно преподнесен материал, а главное разнообразный подход в изложении.
    Сейчас читаю первую статью и нашел небольшую неточность.
    "Обратите внимание, что дуга строится по часовой стрелки от начального угла к конечному." По тексту следует читать "против часовой стрелки".

    ОтветитьУдалить
  9. А можно сделать видео-гайд? А то я начинаю делать по написанному и то тут то там не получается. =(

    ОтветитьУдалить
  10. Здравствуйте!

    Статьи хороши, но что то у меня не получается. Дело вот в чём.
    Пытаюсь ввести команду например "line" программа пишет:
    "Клавиатурная последовательность принята: li
    команда не найдена: ne"
    При этом на экране происходит реакция на эти действия, но не понятно, та ли реакция.

    Спасибо.

    ОтветитьУдалить
    Ответы
    1. Внимательно перечитайте раздел "Фокус ввода" данной статьи.

      Удалить
  11. Пробовал установить Librecad на находит фаил (Ubuntu 10.04)Использую QCAD опсолютно одно и тоже.

    ОтветитьУдалить
  12. Большое вам спасибо за статьи!

    ОтветитьУдалить
  13. Доброго всем дня!Я только увидал эту программу и да конца не изучил.В связи с этим у меня к вам вопрос на засыпку:"Библиотеки"в данной программе имеются или нет?Заранее вам благодарен Спасибо!

    ОтветитьУдалить
    Ответы
    1. Имеются. Подробнее здесь -http://obscurityway.blogspot.ru/2014/02/librecad-6.html?m=1

      Удалить
  14. Здравствуйте. подскажите, как вставить часть чертежа из одного файла dxf в другой чертеж. открываю в одной программе оба чертежа, выделяю на нужном часть, нажимаю копировать - блок слева переходит в диалоговое окно редактирования, открываю другой чертеж - подсказка снизу говорит установите относительную точку, устанавливаю, нажимаю вставить и ничего не происходит.

    ОтветитьУдалить
    Ответы
    1. Укажите, в какой версии какой программы работаете. Внутри одного чертежа с копированием проблем нет?

      Удалить
    2. QCAD 2.0.5.0
      Внутри одного чертежа тоже не копирует, только зеркалирование работает

      Удалить
    3. А чего древность такая? Ставьте третий QCAD, там все точно работает.

      Удалить
  15. Поставил 3.14, а он с trial надстройками (15 минут и всё - перезагружаемся). Пишут "Удали надстройки - получится Free". Если надстройки удалить, то не открывает сохранённые файлы. Так называемый Free отдельно - не нашёл. Может подскажете, что не так.

    ОтветитьУдалить
    Ответы
    1. По истечении 15 минут надстройки автоматически отключаются. При этом работу можно продолжать далее. В удалении надстроек никакого смысла нет.
      Когда сохраняете файл, нужно выбирать формат DXF (не DWG). Тогда все будет открываться без плагинов.
      В предупреждении просто пишет, что плагин отключился
      "The trial add-on CAM is no longer active (restart required)."
      Где вы здесь нашли про удаление надстроек не пойму.

      Удалить
    2. Еще важное уточнение. Сохранять нужно не просто в DXF, а в версию "R15 (2000/LT2000) DXF Drawing".

      Удалить
    3. Хотя да, почему-то пишет "ошибка импорта", даже для своего "родного" формата. Возможно это баг.

      Удалить
    4. Скачивал с сайта:
      http://www.qcad.org/en/qcad-downloads-trial
      там же про удаление trial:
      To uninstall a trial add-on, click on the button with an 'X' beside the add-on in the 'Trial' window.
      To use the QCAD community edition without any proprietary add-ons, simply uninstall all trial add-ons.

      Удалить
    5. Еще раз: я бы не рекомендовал удалять аддоны. Пользы от этого никакой.

      Удалить
    6. В пути до файла при сохранении и загрузке не должно быть русских букв. Особенно это важно в WINXP.

      Удалить
  16. Этот комментарий был удален автором.

    ОтветитьУдалить