0
$\begingroup$

I want to make a software for 3D geological modelling (it's a PhD project) and I'm researching the best way to achieve this. Below it's a GIF I've made with Blender to illustrate how it would work.

The user would create differente soil or rock layers by interpolating between lines drawed in 2D planes. By interpolating between planes, the software would create volumes.

enter image description here

The example above is very simple and such is my description, the goal would be to make possible to achieve very complex geometry like this one:

enter image description here

Being a Blender user for almost 10 years (but I've never used the API), I've initially tought Blender would be a good idea to start with.

After talking to some researchers who deal with both geosciences and programming, I was advised to try Qt. Qt really looks very good, and it also has a 3D specific module.

Anyway, the question is:

  1. Is it possible to modify Blender so much trough it's API that it can become a different software? One reduced in size, with only the functions I want? For example, with just the basics of modelling and the functions I would create, like interpolations. Also, the software would have a completely different interface, specific for it's use.
  2. It would not be a different Blender distribution, it would be a different software, using Blender modelling and tools underneath. I don't want to say to a potential user "go download Blender, and this add-on, and this other one". The goal is to have a ready to use software.
  3. If it's possible, is it worth it (to modify Blender that much)?

License would not be a problem, because I plan to release the software as free and open source.

Thanks in advance.

$\endgroup$
1
  • 1
    $\begingroup$ No you cannot do that level of modification through its API (python scripting). You will need to edit the source code. Considering the effort that would be required, I really don't see that it would be a good idea to build this software on top of blender - based on your needs, this could easily be constructed inside a game engine, or from scratch. $\endgroup$ Commented Apr 18, 2018 at 2:21

2 Answers 2

1
$\begingroup$

Looks like you'd need to experiment. Pick a small task, give yourself a week to solve it, reflect, iterate (cf. PDIA, Cynefin-complex, Fail faster).

Here's some ideas for you to test:

  • Making a different software out of Blender might require changing the source code, so try to build Blender from source. See if the build cycle is fast enough.

  • You'll likely need to remove the unnecesary tools from the user interface, so see if you can.

  • You'll likely need to add new tools or behaviours to the user interface, so see if you can.

$\endgroup$
0
$\begingroup$

Creating an 'Add-on' with python is the closest you'll get to what you're aiming for. There are tons of tutorials on how to create add-ons for blender.

$\endgroup$
2
  • $\begingroup$ Thanks but I don't want just an add-on. I've edited the question to make it clearer. $\endgroup$ Commented Apr 17, 2018 at 19:10
  • 2
    $\begingroup$ 1. Blender's code is open source, so modifying is possible. 2. Yup, you could make a new software out of it as long as you have the same license. 3. I don't think it would be worth it, but that's up to you. $\endgroup$
    – doakey3
    Commented Apr 17, 2018 at 19:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .