13 865
правок
Изменения
Новая страница: «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 }}
Типа «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 }}