Изменения

Блог:Виталий Филиппов/2014-03-26 OpenSCAD

4209 байтов добавлено, 11:21, 26 марта 2014
Новая страница: «link=http://openscad.org/ Нашёл клёвую штуку — [http://openscad.org/ OpenSCAD]. Типа «CAD для …»
[[File:OpenSCAD-logo.png|200px|right|link=http://openscad.org/]] Нашёл клёвую штуку — [http://openscad.org/ OpenSCAD].

Типа «CAD для программиста». Пишешь скриптик, тебе генерится какая-нибудь шестерёночка =) а потом ты её, скажем, экспортируешь в STL и печатаешь на 3D-принтере. Язык простой, состоит из примитивов и операций над ними, в основном булевых (объединение/пересечение/разность).

Правда, есть пара нюансов:

'''(1) Нежелательно оперировать объектами с совпадающими или очень близкими плоскостями/вершинами''', то есть склеивать/резать детали «заподлицо». Из-за того, что все операции с плавающей точкой, иногда получается, что детали «недоклеиваются» и где-нибудь «проступают» лишние вырожденные грани (то есть грани с очень маленькой площадью)… Их обычно мало, но тем не менее, софт 3D принтера они могут расстраивать, и объект на печати может получаться не совсем качественный. Причём это может проявляться даже хитрее — например, при объединенни шестерёнки и цилиндра нужно следить, чтобы края зубьев шестерёнки не совпадали к краями граней цилиндра. То есть, для цилиндра нужно ставить число граней = 2 * числу зубьев шестерёнки.

'''(2) Дефолтный OpenSCAD использует какой-то совершенно дебильный метод триангуляции''' — пытается тянуть треугольники из одной точки во все точки, в которые может дотянуть. Что, собственно, часто ведёт к тем же вырожденным граням — причём на совершенно нормальных деталях. И говорят, даже без вырожденных граней из-за длинных и узких треугольников при печати получается хреновое качество поверхности. Однако это не беда, есть простой фикс (я его в свой форк влил — https://github.com/vitalif/openscad), который заставляет OpenSCAD юзать триангуляцию Делоне, которая, естественно, вполне себе приличная. Сравнение на примере шестерёнки выглядит вот так:

: [[File:Triangulation-bad.png|280px]] [[File:Triangulation-delaunay.png|280px]]

Проверять модели на предмет подобных проблем, кстати, можно с помощью [http://www.freecadweb.org/ FreeCAD] — там есть инструмент «Оценить и ремонтировать сетку».

А в остальном — очень удобная штука =) чем пытаться чего-то чертить, пишешь себе программку и наслаждаешься шестерёночками…

Кроме того, есть и готовые куски кода, в том числе — эвольвентный профиль зубьев шестерёнки — в библиотеке [http://reprap.org/wiki/MCAD MCAD], входящей в комплект поставки. Ну, и ещё OpenSCAD скрипты можно брать (и выкладывать!!!) на http://thingiverse.com/.

{{----}}
{{wl-publish: 2014-03-26 15:21:14 +0400 | VitaliyFilippov }}