Vertex groups are created for internal needs. Once completed, they are removed.
Source object
Boolean object
Bevel
Smooth
If they are needed. I can remove the deletion
Vertex groups are created for internal needs. Once completed, they are removed.
Source object
Boolean object
Bevel
Smooth
I get it now thanks.
After a lot of testing I do see that there is a problem when the add-on tries to do a difficult somehow task: It freezes all Blender and the user becomes forced to close the whole app by clicking ctrl+alt+delete. In older versions (as in 0.09) in such cases the add-on gave bad results but did not freeze Blender. You had to make âundoâ (ctrl+z) and it was ok⌠now you wait and wait and, finally, you become forced to close Blender.
It would be good when the add-on can not deal with a difficult situation to abandon the task after a while, so that the user be not forced to shut down all Blender.
Will Ctrl Alt S not save a copy Fatesailor? Just wondering.
I never tried this. Will try and inform youâŚ
Better Shift Ctrl S to save as. Otherwise you might loose the file you are working on. Look under the file menu for options.
Ok. thanks Bkjernisted!
Btw, let put here an idea for a new feature in âBevel after Booleanâ: The strips produced in the add-onâs operations can be used very nicely for producing a variety of hull panels (and even pipes following the surface geometry) on objects (by a little bit manual work). The problem is that this can not be done for intersecting strips. I thought a lot for finding a manual solution to the problem but still did not find one. So, I am putting below a video showing how Mesh Fusion achieves such results.
Just mentioning the whole thing so that maybe you get an idea, Ilya, and you can implement such a thing in âBevel after Booleanâ too. If we can produce clearly intersecting strips then we can make -manually- extrusions from them and produce very complex hull forms on the objects (as it happens in the video below):
I will play around with this. I have been testing multiple boolean/bevel objects and I think Iâm getting close to getting something working. Of course, Iâve started from scratch and donât understand the code of this addon much. @Rodinkov_Ilya would have to somehow âmergeâ my code into this addon, if we wanted to be able to do multiple objects.
AFWS you mean that you are testing objects in relation to the strip making I mentioned? You have any idea for a code producing such strips? If it is so it will be great indeed! In Mesh Fusion they do incredible things with the strip making feature. You have to put forth your idea to Ilya.
I wonder if something like variable radius fillet/bevel could be doable� Selecting a path of edges and defining beginning and end radius.
This is great news!
@Fatesailor
There is a chance that I misunderstood you.
If you meant this:
I do know that there is such an ability in 0.2.3 Ilya. And it is very useful! The thing that I did mean, however, is not this. I did mean being able to produce strips which intersect with each other in such a way that someone can extrude them together (without having anomalies in the intersecting points).
Please watch the video about Mesh Fusion which I did post previously (it is only a 2 minutes video) and you will understand. It is very easy to understand: the needed thing is to have many intersecting each other strips that they can be extruded together. In such a way someone can produce whole extruded cages (or hull panels, by extruding inwardly) around an object. Having such a thing in âBevel after Booleanâ will endow it with a whole new set of modeling means!
At the moment. I do not know how to do that.
Can you delete all the code thatâs not related to this and post it on here. I will try to help with this.
Hi, thanks for the add on. Iâve just installed it and am getting this error in 2.79b:
bpy.context.space_data.system_folders_active = 1
Modules Installed (boolean_bevel_v_0_1_2) from âE:\3d assets\plugins\blender\boolean_bevel_v_0_1_2.py.zipâ into âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addonsâ
bpy.ops.mesh.primitive_uv_sphere_add(size=1, view_align=False, enter_editmode=False, location=(-0.0507621, 0.0399496, 0.999998), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.transform.translate(value=(0, 0, 0.458106), constraint_axis=(False, False, True), constraint_orientation=âGLOBALâ, mirror=False, proportional=âDISABLEDâ, proportional_edit_falloff=âSPHEREâ, proportional_size=0.13513)
bpy.ops.object.make_single_user(object=True, obdata=True)
bpy.ops.object.convert(target=âMESHâ)
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âDESELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âSELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.modifier_apply(modifier=âAuto Booleanâ)
bpy.ops.btool.auto_difference(solver=âBMESHâ)
bpy.context.space_data.context = âMODIFIERâ
bpy.context.object.modifiers[âBTool_Sphereâ].operation = âINTERSECTâ
bpy.context.object.modifiers[âBTool_Sphereâ].operation = âUNIONâ
bpy.ops.object.modifier_apply(modifier=âBTool_Sphereâ)
bpy.ops.object.select_all(action=âDESELECTâ)
bpy.ops.object.delete()
bpy.ops.object.modifier_apply(apply_as=âDATAâ, modifier=âBTool_Sphereâ)
bpy.ops.object.select_all(action=âDESELECTâ)
Traceback (most recent call last):
File âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\boolean_bevel_v_0_1_2.pyâ, line 384, in execute
boolean_solver = src_obj.modifiers[len(src_obj.modifiers) - 1].solver
IndexError: bpy_prop_collection[-1]: out of range.
location: :-1
bpy.ops.object.boolean_bevel_remove_modifiers()
bpy.ops.object.select_all(action=âDESELECTâ)
bpy.ops.object.boolean_bevel_remove_pipes()
bpy.ops.object.select_all(action=âDESELECTâ)
bpy.ops.object.select_all(action=âDESELECTâ)
bpy.ops.object.boolean_bevel_remove_objects()
bpy.ops.object.select_all(action=âDESELECTâ)
bpy.ops.object.boolean_bevel_remove_pipes()
bpy.ops.object.select_all(action=âDESELECTâ)
Traceback (most recent call last):
File âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\boolean_bevel_v_0_1_2.pyâ, line 384, in execute
boolean_solver = src_obj.modifiers[len(src_obj.modifiers) - 1].solver
IndexError: bpy_prop_collection[-1]: out of range.
location: :-1
bpy.ops.transform.translate(value=(-3.21451e-009, 0.0945211, -7.45058e-009), constraint_axis=(False, True, False), constraint_orientation=âVIEWâ, mirror=False, proportional=âDISABLEDâ, proportional_edit_falloff=âSPHEREâ, proportional_size=0.13513, release_confirm=True, use_accurate=False)
bpy.ops.object.make_single_user(object=True, obdata=True)
bpy.ops.object.convert(target=âMESHâ)
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âDESELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âSELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.modifier_apply(modifier=âAuto Booleanâ)
bpy.ops.btool.auto_union(solver=âBMESHâ)
bpy.ops.object.select_all(action=âDESELECTâ)
Traceback (most recent call last):
File âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\boolean_bevel_v_0_1_2.pyâ, line 384, in execute
boolean_solver = src_obj.modifiers[len(src_obj.modifiers) - 1].solver
IndexError: bpy_prop_collection[-1]: out of range.
location: :-1
bpy.ops.object.modifier_add(type=âSUBSURFâ)
bpy.context.object.modifiers[âSubsurfâ].levels = 2
bpy.context.object.modifiers[âSubsurfâ].levels = 3
bpy.ops.object.modifier_add(type=âCASTâ)
bpy.context.object.modifiers[âCastâ].cast_type = âCUBOIDâ
bpy.context.object.modifiers[âCastâ].factor = 1.1
bpy.context.object.modifiers[âCastâ].factor = 1
bpy.context.space_data.viewport_shade = âWIREFRAMEâ
bpy.ops.object.modifier_apply(apply_as=âDATAâ, modifier=âSubsurfâ)
bpy.context.object.modifiers[âCastâ].radius = 0
bpy.context.object.modifiers[âCastâ].size = 4.7
bpy.context.object.modifiers[âCastâ].radius = 0
bpy.context.object.modifiers[âCastâ].radius = 0
bpy.ops.object.modifier_apply(apply_as=âDATAâ, modifier=âCastâ)
bpy.context.space_data.viewport_shade = âSOLIDâ
bpy.ops.mesh.primitive_uv_sphere_add(view_align=False, enter_editmode=False, location=(-0.0507621, 0.0399496, 0.999998), layers=(True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False))
bpy.ops.transform.resize(value=(0.696316, 0.696316, 0.696316), constraint_axis=(False, False, False), constraint_orientation=âVIEWâ, mirror=False, proportional=âDISABLEDâ, proportional_edit_falloff=âSPHEREâ, proportional_size=0.13513)
bpy.ops.transform.translate(value=(-0.0572548, -0.0249525, 0.116672), constraint_axis=(False, False, False), constraint_orientation=âVIEWâ, mirror=False, proportional=âDISABLEDâ, proportional_edit_falloff=âSPHEREâ, proportional_size=0.13513)
bpy.ops.object.modifier_add(type=âBOOLEANâ)
bpy.context.object.modifiers[âBooleanâ].operation = âDIFFERENCEâ
bpy.ops.object.modifier_remove(modifier=âBooleanâ)
bpy.ops.object.make_single_user(object=True, obdata=True)
bpy.ops.object.convert(target=âMESHâ)
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âDESELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.editmode_toggle()
bpy.ops.mesh.reveal()
bpy.ops.mesh.select_all(action=âSELECTâ)
bpy.ops.object.editmode_toggle()
bpy.ops.object.modifier_apply(modifier=âAuto Booleanâ)
bpy.ops.btool.auto_difference(solver=âBMESHâ)
bpy.ops.object.select_all(action=âDESELECTâ)
Traceback (most recent call last):
File âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\boolean_bevel_v_0_1_2.pyâ, line 384, in execute
boolean_solver = src_obj.modifiers[len(src_obj.modifiers) - 1].solver
IndexError: bpy_prop_collection[-1]: out of range.
location: :-1
bpy.ops.object.boolean_bevel_apply_modifiers()
bpy.ops.object.modifier_add(type=âBOOLEANâ)
bpy.context.object.modifiers[âBooleanâ].operation = âUNIONâ
bpy.ops.object.modifier_apply(apply_as=âDATAâ, modifier=âBooleanâ)
bpy.ops.object.select_all(action=âDESELECTâ)
Traceback (most recent call last):
File âC:\Users\3diWorkstation\AppData\Roaming\Blender Foundation\Blender\2.79\scripts\addons\boolean_bevel_v_0_1_2.pyâ, line 384, in execute
boolean_solver = src_obj.modifiers[len(src_obj.modifiers) - 1].solver
IndexError: bpy_prop_collection[-1]: out of range.
location: :-1
Anyone come across/solved this?
Ilya, this thing with the strips in edit mode⌠I did not understand the way it works (I tried to find but in vain). Can you make a very small video showing it please?
Thanks!
You can cut the guides with a knife. Or use boolean in edit mode. And bevel guide edges.