3D модель небольшого трансформатора (в LibreCAD, OpenSCAD, Meshlab) [al_fuhrmann al_fuhrmann] (fb2) читать постранично, страница - 5


 [Настройки текста]  [Cбросить фильтры]

меняются данные в структурах файлов VMRL, в списке слоев появляются звездочки. Поэтому сохраняем все части одной командой.

Закрыв проект и сделав новый, можно импортировать детали снова и убедиться, что все в порядке.

Но как собрать их вместе, в модель в одном файле? Это было некоторое время проблемой, но затем мне пришла идея (как будто Колумбу с яйцом) просто склеить все файлы командой cat. Такая мысль возникла после просмотра их содержимого. Вот что получилось.


Рис. 22.

Теперь импортируем файл trans.wrl:


Рис. 23.

Все в порядке. Модель раскрашена и содержится в одном файле. Вполне годная технология, если не использовать платных программ.

Вдогонку к предыдущему посту

Конечно, такой навороченный инструмент, как Meshlab, не может не содержать множество кнопочек и крутилок для поддержания нормального полета. Только надо уметь пользоваться ими, чтобы попадать на землю колесами, а не крышей. А все от лени. Лень изучать документацию, разбираться, хочется как побыстрее, а оказываешься лохом. Исправляя старые ошибки, решил написать, как можно пройти в открытую дверь, не ломая стену рядом.

В один прекрасный момент meshlab поздравил меня с «успешным» сотым проектом и попросил написать отзыв для разрабов. Написал: «Can't export to VRML. The app writes error messages everytime while I open a wrl, just created by Meshlab. Would be nice, if the bug fixed. Thank you. Alex.» Разработчики, должно быть, много получают таких дурацких писем от пользователей.

В OpenSCAD сделаем какой-нибудь дурацкий домик, совершенно неважно, какой:



Сделаем рендер и экспортируем файл в STL.

Откроем STL с помощью meshlab (точнее, импортируем в новый пустой проект). Это не wings, и он прекрасно читает этот меш.



Теперь экспортируем его в файл wrl, а затем попытаемся снова импортировать. Получится вот что:



и далее



Вот это самое интересное. Faces: 0

Просто нужно было прочитать написанное мелким шрифтом. И обратить внимание на диалог, который появляется при импорте файла STL. Поэтому закроем программу, удалим все, кроме исходника sample.scad, для стерильности эксперимента, и начнем сначала. Хотя нет, оставим старый sample.wrl, просто переименуем его в old-sample.wrl.



Если навести мышь на флажок Unify Duplicated Vertices, то появляется подсказка, в которой говорится, что формат STL не индексирует вершины многогранников. А в формате VRLM это есть. Поэтому число граней и было подсчитано как 0. Снимаем флажок и продолжаем.

Файл загружается исправно, смотрим внизу:



Теперь граней столько же, но вершин аж 54 точки (а не 13 как скажет любой архимед, глядя на фигуры). Подсчитаем: 18*3 = 54. Каждый треугольник сам по себе. Когда мы оставляем галочку, объединяющую совпадающие вершины, у нас получается косяк.

Теперь экспортируем в sample.wrl снова. Поскольку теперь есть и прежний блин комом, можно их сравнить:



Возможно, что исправить индексы можно еще какими-то способами во время обработки загруженного меша, но не портить их с самого начала — оказался самым лучшим.

Смотрим последний sample.wrl:



Это уже большой прогресс. Попробуем оптимизировать число вершин. В меню Filters | Cleaning and Repairing видим Compact vertices и Compact faces, но эта работа оказывается напрасной, для данного формата все ОК.

Загруженный файл можно править, например, раскрасить. Затем он открывается без всяких проблем:



Так что, необходимость и в wings, и в моей утилитке отпадает начисто. Для моделирования хватит всего двух программ: openscad и meshlab. Ну, и еще librecad не помешает.


--">