[WIP]Bevel after Boolean


(Fatesailor) #622

Yes Ilya I do mean this exactly thing. It is possible to achieve it with the older versions too by adding some manual work but it would be good to have it as an inherent option in the add-on.

Below are the results of some related experiments I did with the older versions:

(Rodinkov Ilya) #623

For a flat Bevel, set Push/Pull to 0.0 and turn off the shrik.
boolean_bevel_v_0_1_7_1.py.zip (4.8 KB)

(Fatesailor) #624

It is good that you put such a feature to it Ilya. It enriches its abilities. :smiley: The add-on, however, has become very unstable and gives very unpredictable results in its most recent versions. There is a need for much testing. Nearly in every second or third try to make an new beveling there appears a problem.

I do knot know the changes you did to its working mechanism but to the version 1.3 everything was going ok (not without some problems but in general it was working quite well), now there are many problems. Maybe it would be good to return to 1.3 and begin to add to it new features through very small and careful steps.

I am totally ignorant in matters of programming, I just am thinking freely as a simple user… so be tolerant to me if I do speak nonsense regarding those matters. :wink:

(Rodinkov Ilya) #625

I will try to improve both versions. The version with the old (0.0.9 -0.1.3) algorithm and the new algorithm.
Perhaps this will lead many to confusion.

(Fatesailor) #626

You can change for a while the names of the two versions (you can give to the new version a slightly different name) … so the confusion can be avoided. Someone can install both of them and use them as different add-ons.

(Rodinkov Ilya) #627

I think to combine 2 algorithms in one add-on with the ability to choose an algorithm

(bkjernisted) #628

That sounds terrific Rodinkov_Ilya.


Is the latest one or 0.1.2 ?
Maybe should add it to the top as Latest

(Rodinkov Ilya) #630

This is currently a test version.
I will try to make the next version more stable and then add it to the header.

(Andreas) #631

it gets better and better !


Ah yar I accidently tried to use and well doesnt work for me lol

The 0.1.2 does work

(Rodinkov Ilya) #633

A new version (Errors are possible):

  • Choice of method (Pipe - old method, Custom pipe - new method)
  • When choosing the old method, most often have to add smooth
  • Added check for self-intersection.
  • Tried to improve stability.
    bab_v_0_1_8.py.zip (4.6 KB)

There are a couple of new ideas.
I will experiment and write the results later.

(Rodinkov Ilya) #634

At the moment I do not know how to implement my idea.
I will try to describe the algorithm.

Have intersection edges.

Finding the center of the edges (E-> S0)
Recalculate the normals.

Create circles parallel edges (which are connected in the center)

And connect them to the pipe

It seems to me that this method can allow to create a pipe without self-intersection (since they can intersect only in the center)
An example is shown on a simple object, but I tried partially on complex ones (on which current methods do not work) and this should work.

(Michael Knubben) #635

The latest version doesn’t show up in Blender (2.79b), and finding the operator through search gives this error:
"Traceback (most recent call last):
File “D:\Blender\2.79\scripts\addons\bab_v_0_1_8.py”, line 83, in invoke
self.operation = src_obj.modifiers[len(src_obj.modifiers) - 1].operation
IndexError: bpy_prop_collection[-1]: out of range.

location: :-1

(Rodinkov Ilya) #636

Does this happen on any objects?
It may occur due to the lack of boolean

(MACHIN3) #637

I don’t want to take away from your amazing work Ilya, just wanted to let you know I’ve done a similar tool, but based on an edge selection. I think I can make it work with non-cyclic selections as well(see image) I took a peak at an ealier version of BaB and found the shrinkwrap use very clever. Nicely done!

I’m gonna re-implement it all in bmesh next, including custom curve mesh generation and without relying on mods.
This way I can directly associate curve mesh ring verts, with the verts on the hard edges they get merged onto and avoid proximity overlaps in tight corners.

I’m happy to share the code or put it on github of course.
I think I could help you with your problem above as well. I will be busy with porting DM and MM to 2.80 first though.

Awesome work on BaB!

(Michael Knubben) #638

I had assumed the addon added the boolean itself, but… the title couldn’t have been clearer :blush:

(AFWS) #639

Maybe you should add a popup message when a boolean modifier is not detected. I have seen this same error posted several times now.

(Rodinkov Ilya) #640

Unfortunately I do not know English.
I am using automatic translation. Therefore, I do not quite understand you.
I think that different tools with different approaches will be useful.
In 0.1.8 already have a boolean check.
In theory, even the ‘bevel’ button should not appear.

(AFWS) #641

I haven’t tested the 0.1.8 version yet. Doesn’t look like it checks when searching for the operator.