This page is a translated version of the page OpenSCAD Module and the translation is 31% complete.

The OpenSCAD module is in an early stage of development.

The OpenSCAD module offers interoperability with the open source software OpenSCAD.


An example of imported OpenSCAD geometry

It contains an importer which allows you to open the .csg output from OpenSCAD in FreeCAD.

The exporter outputs a CSG based (sub-)tree to .csg. Geometry which is not based on CSG operations and is exported as a mesh. The OpenSCAD module contains a toolbox with functions to modify the feature tree and repair models.

OpenSCAD language and file format

The OpenSCAD language allows the use of variables and loops. It allows you to specify submodules to reuse geometry and code. This high degree of flexibility makes parsing very complex. Currently the OpenSCAD module in FreeCAD can not handle the OpenSCAD language natively. Instead, if OpenSCAD is installed, it can be used to convert the input to an output format named 'CSG'. It is a subset of the OpenSCAD Language and can be used as the input to OpenSCAD for further processing. During conversion all parametric behavior is lost - all variable names are discarded, loops expanded and mathematical expressions evaluated.

Команды интерфейса

  • OpenSCAD ColorCodeShape.png Color Code Shape: Изменить цвет всех или выбранных поверхностей относительно их годности.
  • OpenSCAD ReplaceObject.png Заменить объект: Заменить объект в древе компонентов.
  • OpenSCAD RemoveSubtree.png Удалить объекты вместе с их потомками: Удаляет выбранные объекты и их потомки, на которые не ссылаются друге объекты.
  • OpenSCAD RefineShapeFeature.png Улучшить свойство фигуры: Создаёт объект, очищенный от лишних линий.
  • OpenSCAD IncreaseTolerance.png Increase Tolerance Feature: Увеличивает допуски для ребер/граней/вершины выбранного объекта (ов).
  • OpenSCAD Edgestofaces.png Преобразовать грани в поверхности: Преобразование краёв в грани. Полезно при подготовке к выдавливанию геометрии, импортированной из DXF.
  • OpenSCAD ExpandPlacements.png Развернуть: Раскрывает все расположения вниз по древу.
  • OpenSCAD ExplodeGroup.png Расчленить Группу: Разрывает объединённые примитивы на составляющие.
  • OpenSCAD AddOpenSCADElement.png Add OpenSCAD Element: Добавляет элемент OpenSCAD внедрением кода OpenSCAD в панель задач (требует установленного OpenSCAD).
  • OpenSCAD MeshBoolean.png Mesh Boolean: Создаёт новый полигональный объект бинарными операциями из форм.
  • OpenSCAD Hull.png Hull: Применяет операцию Convex Hull (создание выпуклой оболочки) к выбранным формам.
  • OpenSCAD Minkowski.png Minkowski: Применяет суммы Минковского к выбранным формам.


Limitations

OpenSCAD creates constructive solid geometry as well as importing mesh files and extruding 2d geometry (from dxf files). FreeCAD allows you to create CSG with primitives as well. The FreeCAD geometry kernel (OCCT) works using a boundary representation. Therefore conversion from CSG to BREP should, in theory, be possible whereas conversion from BREP to CSG is, in general, not.

OpenSCAD works internally on meshes. Some operations which are useful on meshes are not meaningful on a BREP model and can not be fully supported. Among these are convex hull, minkowski sum, glide and subdiv. Currently we run the OpenSCAD binary in order to perform hull and minkwoski operations and import the result. This means that the involved geometry will be triangulated. In OpenSCAD non-uniform scaling is often used, which does not impose any problems when using meshes. In our geometry kernel geometric primitives (lines, circular sections, etc) are converted to BSpline prior to performing such deformations. Those BSplines are known to cause trouble in later boolean operations. An automatic solution is not available at the moment. Please feel free to post to the forum if you encounter such problems. Often such problems can be solved be remodeling small parts. A deformation of a cylinder can substituted by an extrusion of an ellipses.

Hints

When importing DXF set the Draft precision to a sensible amount as this will affect the detection of connected edges.

If FreeCAD crashes when importing CSG, it is strongly recommended that you enable 'automatically check model after boolean operation' in Menu -> Edit -> Preferences -> Part Design -> Model setting

Учебники

Links

Other languages:
čeština • ‎Deutsch • ‎English • ‎español • ‎français • ‎Bahasa Indonesia • ‎italiano • ‎português • ‎português do Brasil • ‎română • ‎русский • ‎svenska • ‎Türkçe