Mechanical Blender

Motivation

Most of engineering software is proprietary and only a few companies are developing it. Using it professionally is linked to paid licenses.

Mechanical Blender aims to give mechanical engineering tools to a really awesome piece of software.

It will be also try to not adding dependencies, as dependencies can add layers of complexity, maybe including more things than needed, and they need to be updated regularly because issues may occur due to upgrades (in both sides), especially if not upgraded, or not available anymore.

Current Status

At this moment, Mechanical Blender is on early stage development. Do not expect something functional, and some developer acknowledgements could be required to apply patches and build Blender, although some tests builds could be available.

Colaboration

Development is time, and time is money. Time and resources are limited, so if you want this project to be speed up you can collaborate, so more time and resource could be assigned. You can contribute directly or via Patreon or via Paypal

Also you can also contribute with code or proposals.

License

The license of the code and usage is the same as Blender. It comes with no warranties.

Roadmap

Learn Blender

Although I had some Blender acknowledgment, it's important to learn how Blender it self works, UI, and procedures. The development should fit inside current blender procedures.

Blender Guru

Blender Beginner Tutorial

It gives a good bakground to get a general idea about procedures, although some maybe not be interesting for your targets, it's good to have a general idea of what can be done.

Compile Blender

This is obiusly required to apply patches to source.

Recover past works

As this is not the first time working on this project, try to get things work again.

Development

In progress. The development is based on a set of patches and py scripts to be applied on original BF blender.

Synchronization with Bf-Blender

Blender changes really fast, keep the patches upgraded to last version is hard.

Tests

Documentation

Here will go user documentation.

Standard Procedures Useful for cad

Solidify Modifier.

Can be used to create sheet metal parts.

Development Notes

This part is technical info related to development.

Units.

By default Blender uses Meters as length Unit. Create a new Unit System, and set it's default to millimeters.

Dimensions.

Dimensions are a numeric setting related to data, and it's something fundamental when working on things that will be (or aimed to be) real.

Types of Dimensions on Edit Mode

Linear Dimensions

Diameter / Radius Dimensions

Angular Dimensions

Types of Dimensions en Object Mode.

Linear Dimensions

Could be used to show the distance between two objects.

Mesh dimensions

Add-on or internally build ?

In the first approach, i added on mesh

Object Dimensions

IDEA: Set a link on tools popup.

Geometric Constraint Solver.

Existent or develop one?

Existent -> dependency.

C++ / Python ?

Auxiliary Objects

Auxiliary objects are non-render objects.

Plane

Axis

Snapping

Some kind of snap could be added, like tangents and intersections.

Geometry

Try to Identify geometry present on mesh.

Drawings

Drawings (Blueprint drawings), was usually a needed step for manufacturing, and also for manuals. But at this moment, this is not so important, as digital model can be processed for CNC (and is mandatory for 3D printing). Juniors also have no idea on how a part or assembly should be represented as views on a drawing, so other could found the information required on it.

So the drawings part of mechanical blender will not be focused to Drawings for manufacturing, if developed, could be more oriented to documentation, although usually a 3D documentation is also emerging, a 2D (sheet format) documentation could be needed.

Requiries a new editor type.

BOM (Bill of Materials)

I/O export.

Mechanical Mode

New mode, building parts without being to handle vertices / edges / faces

Modifiers

Hole Modifier

Should include options of mechanical holes, eg length, threaded, etc.

Improvements

Allow to move the scene on modal transforms

Currently while moving / rotating / scale there user cannot move the scene (Eg, zoom, pick a vertex, and zoom to another area of the scene).

Sources

Repositories

I prefer subversion, but somebody is migrating to git.

Subversion

Git

Add-On

Patches

Generic Patches

Patches that are generic, not mechanical-blender specific.

Blender Improvements

Resize proportionally with numeric input.

When changing the size of the object (via prop panel) would be great to have a proportional option.

Search for modifiers

Tests Builds

At the moment there is no test build available.

Issues

Shortcut info not shown on tool bars

For move, rotate, scale, if action for space is "search" is not shown. If set for tools, it is shown

Subdivision operator on Viewport

It does not show the final mesh on viewport.

Issue here is with GPU subdivision setting on Preferences -> Viewport -> Subdivision. (disable)

Mode on Duplicate

What is this ?

Website

The project website needs to be changed. The current website was using a custom framework Setrill

The current web will be based on this file (Markdown file) converted to HTML, with a simple JavaScript automatization, to get a Table Of contents for better navigation.

In next steps may change to a site allowing user interaction.

Previous site is avaliable here

Collaborations

User Proposals

About

Jaume

Jaume has been working as Freelance, since 2010, and has been always related to industrial machinery development, since 2002. And things changed a lot! Also his position has changed in time. He started doing CAD drawings in Autocad (2D) that were stored in paper (pencil drawn), and making a DB parts in Excel. He had acknowledgments of 3D, because his project at the end of University was on Inventor 6.0 (!) But we all now that in many times industries are moving some steps back related to new technologies.

Later He started to work on some designs, based on existing ones. He started going to trade fairs as visitor, traveling over Europe. Also travelled for working purposes.

From child he always liked computer related things, and has a really good programing skills. So he took interest on machine programing, and start making small moves from mechanical design to electro-mechanical designs, at the same change that mechanical assemblies were changing to electrical parts giving much more versatility.

TMAQ

TMAQ (Tecnologia Industrial i Fabricaci├│ de Maquinaria, SL) is an Spanish company, founded by Jaume. At the beginnings was manufacturing industrial Machinery, for companies, with a foreground on industrial serigraphy, and furnaces. It started to do custom automatizations, and nowadays mainly performs engineering works for industry 4.0 machinery.

Others

YouTube download

github

Used to download tutorials, to get always available

Command to download the video tutorial PATH\youtube-dl\youtube_dl>python __main__.py url

md2html

Used on website, to get and HTML version of this document.

Using utility found on cgit Debian package

Requires the python3-markdown Debian package

usage:

cat file.md | /usr/lib/cgit/filters/html-converters/md2html > file.html

Thoughts

X as a Service

Most software is going to SaaS, and I'm completely disagree on it.

Recently I've seen that also machine are being part of an ecosystem that may be based on services provided by Tech Giants. This comes at the side of Iot, called in this case iiot, industrial internet of things.

iiot means that there is a device connected to the internet. For individuals, the easy way to get control over things, and get data, is relaying on a company as a intermediary, and usually this is a service, that may be free, or not. If not free we can assume they are getting benefits that can translate to money of giving you free access. Money is moving the world, without it lots of things will not be simply achieved. And nowadays we are completely dependent of money. We need because almost nothing can be done without it. Nothing, includes, really basic things, like have access to eat.

But what concerns me, it that companies are also relaying in this model. And may not be the final company, may be a manufacturer that relies on this for a machine that is sold to a final user.

They will show us the benefits of it. - Lowest resources needed - Easy implementation - Fast achievements

That is really true but in my point of view

Easy implementations means that you're restricted, doing something different will not be easy.

I usually make a comparison between a completely mechanical machine or device, and a electronically advanced one. In the first one, you see what is happening, so more people can solve any issues with the machine.

The seconds one rely on electrical communications, and usually the depends on software or a kind of logic, so if something is not working as expected you need the necessary devices and skills to solve or find the issue.

But in the new stage, you are sending and receiving data, you don't have access to what happens in the middle. Moreover if your machine or other parts of the company rely on it, they may be complete nonfunctional.

So, for me it's crucial for a company to get all the documentation and data related to a machine.

If a machine needs an internet connection, why not doing using the company infrastructure ┬┐? Related to it they will say

I'll say the same previously said, but in most cases the initial cost is not so large for a company.

With the proposed model You'll will always be paying a monthly/annually fee, and usually will not be easy to change the supplier, as you may be using it's API, or objects models, or whatever.

Security issues may also occur in the supplier part.

Usually the machine (and related) needs will not grow, and if it does, will be probably absorbed with the server.

About automatic upgrades, there are two kinds of it:

The first one are crucial. But issue here is that they come merged.

About functional upgrades, some parts or procedures can be removed, and returning to previous version is not possible.

About Open Source

History