Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Библиотеки/DXF Export

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


DXF Export[1]

Библиотека DXF сохраняет в DXF-файл трехмерную графику (т.е. полигоны, кубы, сферы и т.д.), состоящую из треугольников. Она используется вместе с функциями beginRaw() и endRaw(). Эти функции считывают и сохраняют данные фигур прямо перед тем, как они будут отрендерены на экране. На этом этапе вся ваша сцена – это всего лишь длинный список линий и треугольников. Это значит, что фигура, созданная при помощи функции sphere(), будет состоять из сотен треугольников, а не из одного объекта. Исходный код библиотеки можно скачать на GitHub-репозитории Processing. О багах сообщайте сюда.

Для записи DXF файла используйте событийные функции вроде keyPressed(), чтобы не записывать файл каждый раз при проходе через цикл draw(). По умолчанию файл сохраняется в текущую папку скетча. Чтобы открыть ее из PDE, кликните на Sketch > Show Sketch Folder.

Скетч-пример ниже демонстрирует, как использовать библиотеку DXF:

  1. import processing.dxf.*;
  2.  
  3. boolean record;
  4.  
  5. void setup() {
  6.   size(500, 500, P3D);
  7. }
  8.  
  9. void draw() {
  10.   if (record) {
  11.     beginRaw(DXF, "output.dxf");
  12.   }
  13.  
  14.   // здесь рисуем что-нибудь интересное:
  15.   if (record) {
  16.     endRaw();
  17.     record = false;
  18.   }
  19. }
  20.  
  21. void keyPressed() {
  22.   // чтобы не плодить кучу файлов,
  23.   // используем для записи файла нажатия на кнопки мыши:
  24.   if (key == 'r') {
  25.         record = true;
  26.   }
  27. }

См.также

Внешние ссылки

  1. processing.org - DXF Export