модуль креслення

Ця сторінка - переклад сторінки Drawing Module. Переклад виконаний на 88%.

Модуль Креслення дозволяє помістити ваші 3D напрацювання на папір. Тобто, помістити проекції ваших моделей в 2D вікно і вставити це вікно в малюнок, наприклад на лист з рамкою, вашим заголовком і логотипом і нарешті роздрукувати все це. Модуль креслення знаходиться в стадії розробки і приблизного технологічного тестування!

GUI Інструменти

Це інструменти для створення, налаштування і експортування 2D креслень листів

Примітка Інструмент Draft View головним чином використовується, щоб помістити креслярські об'єкти на папір. Він має безліч додаткових можливостей крім стандартних креслярських інструментів, і підтримує спеціффіческіе об'єкти на кшталт розмірів на кресленні.


модуль креслення

На зображенні ви бачите, основні концепції модуля Креслення. Документ містить об'єкт-форму (Schenkel) який ми хочемо отримати для креслення. Тому створюється "Лист". Лист автоматично отримує шаблон, в даному випадку шаблон "A3_Landscape". Цей шаблон являє собою документ SVG і може містити звичайну креслярську рамку, ваш логотип або ж відповідати вашим власним стандартам.

На цей лист ви можете помістити один і більше видів. Кожен вид має своєю позицією на сторінці (властивості X, Y), і коефіцієнтом масштабування (властивість scale) і інші додаткові властивості. Кожен раз коли лист або вид або об'єкт на який вони посилаються, змінюються лист перемальовується, і відображення листа оновлюється.

написання сценаріїв

На даний момент робочий процес для кінцевого користувача (GUI) дуже обмежений, тому цікавіше писати сценарії для API. Нижче наведені приклади про те як сценаріїв API креслярського модуля.

Це скрипт, за допомогою якого можна легко заповнити лист Macro_CartoucheFC FreeCAD A3_Landscape.

найпростіші приклади

Перш за все нам потрібні модулі Part і Drawing:

Створимо просту маленьку деталь

Пряма проекція. G0 буде жорсткою гранню, а G1 безперервно стосується.

Все поміщено в проекцію на площину Z:

Різні вектора проекції

Спроектувати в SVG

параметричний метод

Створимо нове тіло

вставляємо на лист і додаємо шаблон

Створює вид на "Форму" об'єкта, визначаємо положення і масштаб і поміщаємо його на лист

Створити другий вид на той самий об'єкт, але на цей раз вигляд уявлення об'єкта буде повернуто на 90 градусів.

Створення третього виду на даний об'єкт. але з ізометричної точки зору. Також активуємо приховані лінії.

Змінимо дещо й відновимо. У процесі оновлення, зміниться відображення і лист.

Отримання доступу до бітам і деталей

Отримати SVG фрагмент першого виду

Отримати весь лист (це файл в в тимчасовому каталозі документа, доступний тільки для читання)

Важливо: звільняємо файл!

Це призводить до наступних результатів:

модуль креслення

Розміри і допуску

Чай чорний, розміри і допуску ще в стадії проектування, але Ви можете отримати деяку базову функціональність за допомогою невеликої роботи.

Спочатку Вам потрібно взяти звідси модуль python під назвою gdtsvg (УВАГА: Він може виявитися зіпсованим в будь-який момент!):

Щоб отримати контрольну рамку, спробуйте наступне:

Параметри, що відправляються в кадр управління, такі:

  1. Координата X в системі координат SVG (строковий тип)
  2. Координата Y в системі координат SVG (строковий тип)
  3. Необхідний символ геометричній характеристики (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)
  4. Допуск (тип string)
  5. (Опціонально) символ діаметра (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)
  6. (Опціонально) Умови зміни матеріалу (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)
  7. (Опціонально) The first datum (строковий тип)
  8. (Опціонально) The first datum's modifying condition (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)
  9. (Опціонально) The second datum (строковий тип)
  10. (Опціонально) The second datum's modifying condition (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)
  11. (Опціонально) The third datum (строковий тип)
  12. (Опціонально) The third datum's material condition (кортеж, спочатку рядок SVG, потім ширина символу, потім висота символу)

The ControlFrame function returns a type containing (svg string, overall width of control frame, overall height of control frame)

Щоб отримати розмір, спробуйте наступне:

Inputs for linear dimension are:

  1. point1, an (x, y) tuple with svg-coordinates, this is one of the points you would like to dimension between
  2. point2, an (x, y) tuple with svg-coordinates, this is the second point you would like to dimension between
  3. textpoint, an (x, y) tuple of svg-coordinates, this is where the text of your dimension will be
  4. dimensiontext, a string containing the text you want the dimension to say
  5. linestyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling the how the lines look
  6. arrowstyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling how the arrows look
  7. textstyle, a string containing svg (i.e. css) styles, using the getStyle function to retrieve a preset string, for styling how the text looks

With those two, you can proceed as above for displaying them on the drawing page. This module is very buggy and can be broken at any given moment, bug reports are welcome on the github page for now, or contact jcc242 on the forums if you post a bug somewhere else.

FreeCAD поставляється разом з набором стандартних шаблонів, але ви також можете знайти більше на сторінці креслярські шаблонів.

Розширення модуля Drawing

Деякі примітки по програмної стороні модуля були додані на сторінку Drawing Documentation. Це для швидкого розуміння, як працює модуль Drawing, дозволяючи програмістам швидко почати програмування для нього.

Схожі статті