Skip to content

Blender (CSG) #18

@marcos-diaz

Description

@marcos-diaz

Intro

Blender is full featured 3D powerhouse. It was born to do 3D animations, but evolved into an app in which is possible to do almost anything 3D related.

By using basic shapes and custom meshes, processed with built-in Blender modifiers (or custom geometry node modifiers) it is possible to achieve a CSG workflow.

That workflow is the current status quo in Input Labs, as in the Alpakka controller was designed on it, and the sources for the alpakka_case repository are .blend files.

Requirement notes

  • Multiplatform: ✅
  • Free / Open source: ✅
  • Active project: ✅
    • Blender is a very popular and extremely healthy open source project, with contributions from both individual and companies, currently funded with at least $1.5 million per year.
  • Low entry barrier: ⚠️
    • This is not the most common way to use Blender, but there is still quite a lot of tutorials for the name of precision modelling in Blender or hard surface modelling in Blender.
    • Blender UI could be difficult to learn, since it is a very powerful software with many features. In the case of using Blender for CAD only a small part of the UI is used, but the user still have to learn which parts are relevant and which to ignore.
    • Blender 3.x was a very important milestone in simplifying the UI, compared with the infamous UI of Blender <=2.x.
  • Non-linear: ⚠️
    • To use Blender in a true non-linear workflow, it is necessary to use modifiers instead of editing the geometry directly. This may be limiting in some cases. As in for example there is no way to do a non-destructive loft (edge bridge in Blender terms).
    • Custom Geometry nodes allow to make anything in a non-linear workflow, but in some cases it would require a lot of work, as in GN are basically a visual programming language.
  • Fast prototyping: ✅
    • Blender has arguably the most complete mesh editor in the market. It allows for simple WYSIWYG edits on vertex, edges and faces, just by selecting and dragging them. While at the same time also providing tools to manipulate the mesh in more complex ways.
    • Raw mesh editing workflow in Blender is so fast because it is not constrained by being non-linear, nor by having the guarantee of generating correct manifold geometry, which is not something important at the prototyping phase.
    • Blender allows to combine non-linear and linear workflows, constrained and non-constrained workflows in a very fluid way. So the user can shift between them as they see fit during the development.
    • Blender in its core is a tool for 3D artists, and therefore many of its tools are focused in improved creativity.
  • Collaboration: 🔴
    • Blender save files are binaries.
    • Uncompressed option at save time still outputs an opaque binary.
  • Assembly: ✅
    • Blender allow to define parent-child relationships with File linking.
    • Basic mechanical properties can be manually emulated with translation and rotation modifiers, but defining real constrains would require to setup physics simulations and would be overkill.
  • Common tools: ✅
    • Bevel modifier = chamfer, fillet.
    • Solidify modifier = linear extrusion.
    • Screw modifier = circular extrusion.
    • Edge bridge = loft (Destructive operation).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Applications

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions