Just tried it on Ubuntu 15.04 and it works without any issues.
ok then, i’ll debug it a little and see what i’ll find
Small suggestion: adopt consistent, simple version numbering. Right now it says 006c(F) on gumroad, the zip archive contains a directory named 006c, the name of the addon in Blender is 006(F+), and the internal version number is 0.0.6.1. Maybe just name the next one version 7?
Other than that, cool addon! Wish the bevel modifier would just copy the border normals off the neighboring faces though, instead of having to rely on sharp edges. But that’s not the fault of your addon of course, that’s just Blender being difficult.
Mystery solved! Somehow i’ve set a different default layer for scene somewhere in the past(just random click i suppose) so copied cube was always there just on a different layer
I’ve made a small patch that makes sure newly added piece gets added on a visible layer. I’m not sure if you want it or if i can post it here, so please let me know if i should post it somewhere for you
i know Piotr. 006 was gonna drop and be the version for the next months but i couldnt stop adding stuff. I also didnt want to do a tutorial series showing stuff that didnt exist yet. 006 was a hectic update haha. Also commits starting coming in so alot of those silent updates were fixing glitches not yet discovered. In fact one fixed an csharpen glitch that existed since 001. Next version 007. If blender adds edge groups hard ops will change substantially however after much stress marked edges worked best.
thats excellent news gavlig! Yeah I’d love to see what fixed your issue and what caused it. I know about the local mode but but yours was something completely unique.
Well, basically this is it http://pastebin.com/YEk9ShQ8
insert that code after scene.objects.link(obj) (this line is also present in that patch so make sure you don’t have two scene.objects.link(obj) in a row :))
As i said, the issue was that i had a different layer set as a default for my scene. And scene.objects.link sets a default scene layer for the obj. So it was layer 18 for me instead of a visible layer 0 And that patch looks for visible layers, compares them to the active scene layer and changes object layer if it’s not going to be visible after getting added to the scene.
And btw you have two implementations of class csplitBool(bpy.types.Operator) so you should get rid of one of them i guess
Hey, I’m having a small issue.
If I use the Re-Bool tool on an object that is already using the C/S Sharpen tool, the bevel modifier gets applied making a big mess.
(Sorry for those links, but as attachment they are taking way too much space)
Can I get some help?
@Nadeox1
That was fixed in Csplit operator, it is basically the same thing. So I suggest to use that one instead. I don’t think we will fix that for rebool I guess we will remove it at some point in the future.
thanks for that @gavlig !
there is actually a lot of problems with that method, so I am moving it to different idea currently. To allow working in local mode and with joined parts. For now implemented as f6 option. Also please let me know if it is working for You right now.
context = bpy.context
scene = context.scene
area = context.area
is_bool = False
is_solidify = False
if self.separate_mesh:
a = bpy.context.selected_objects
b = bpy.context.active_object
for mode in bpy.context.object.modifiers :
if mode.type == 'BOOLEAN' :
is_bool = True
if is_bool == False :
bpy.ops.btool.boolean_diff()
obj = context.object.copy()
a.remove(b)
b.select = False
try:
random_ob = choice(a)
except IndexError:
# no other object in chosen group
pass
random_ob.select = True
bpy.context.scene.objects.active = random_ob
bpy.ops.object.join()
b.select = True
bpy.context.scene.objects.active = b
bool_mods = [m for m in obj.modifiers if m.type == 'BOOLEAN']
if len(bool_mods):
mod = bool_mods[-1]
if mod.operation == 'DIFFERENCE':
mod.operation = 'INTERSECT'
elif mod.operation == 'INTERSECT':
mod.operation = 'DIFFERENCE'
scene.objects.link(obj)
if area.type == 'VIEW_3D' and len(area.spaces) > 0:
layer_len = len(obj.layers)
visible_layer = layer_len
space = area.spaces[0]
for id, layer in enumerate(space.layers):
if True == layer:
visible_layer = id
break
act_l = scene.active_layer
if layer_len != visible_layer and act_l != visible_layer and space.layers[act_l] == False:
obj.layers[visible_layer] = True
obj.layers[scene.active_layer] = False
for obj in a:
obj.select = False
bpy.ops.multi.csharp()
bpy.ops.object.select_all(action='DESELECT')
for obj in a:
obj.select = True
else:
a = bpy.context.selected_objects
b = bpy.context.active_object
a.remove(b)
b.select = False
try:
random_ob = choice(a)
except IndexError:
# no other object in chosen group
pass
#random_ob.select = True
bpy.context.scene.objects.active = random_ob
random_ob.select = True
for mode in bpy.context.object.modifiers :
if mode.type == 'SOLIDIFY':
is_solidify = True
#bpy.ops.object.select_all(action='DESELECT')
#a.select = True
for obj in a:
if is_solidify == False:
new_mod = obj.modifiers.new(type='SOLIDIFY', name='Solidify')
new_mod.thickness = 0.0001
else:
pass
#b.select = True
bpy.context.scene.objects.active = b
if is_bool == False :
bpy.ops.btool.boolean_diff()
bpy.ops.csharpen.objects()
b.select = False
for obj in a:
obj.select = True
obj.modifiers.clear()
return {'FINISHED'}
@rrtk: AttributeError: ‘csplitBool’ object has no attribute ‘separate_mesh’
I guess you forgot to add that (or we base of off a different version of hardops)
I’ve tried the separate_mesh branch and it worked alright though!
i havent pushed an update for the last 48 AR. I am working on a feature to put in the next update so we can get together and do corrections. Haha brilliant! You figured out the local mode bug. Ugh. back to work haha.
oh yes looks like I copied only part of code :o my bad, good You figured it out.
@masterxeon1001
I will still make some small changes and cleanup and It wil be marged soon so dont worry about that for now. I will send You final when it will be ready.
Sorry for sounding dumb, but I’m kinda new to BoolTool and this addon.
CSplit is…? Is it part of the HardOps addon or of BoolTool?
Feel free to explain like I’m 5 :o
EDIT- And I found it!
For those needing the same info:
Just select the object you want to use for the boolean and your main object. Do not use BoolTool, but simply press Q and you should see CSplit as second option.
Also, it appears I’m having trouble to use the ‘circle’ feature.
http://i.imgur.com/xgJulX7.jpg
enable looptools in your addons Nadeox1
The detail is incredible that you are producing.
Thanks a lot. Maybe I missed it, but a PDF with the ‘very basic’ installation instruction would be sweet
oh yeah im gonna do a troubleshooting page based off of all this glorious input.
Nadeox1 I made some videos on the booltool long ago when it was first introduced. Its basically a workflow for booleans but its a great workflow that makes booleans accessible. Its really the bees knees when it comes to making forms quickly. The booltool in itself has become an irreplaceable part of my workflow so it also has become a part of hard ops.
I just bought this after seeing the 0.0.6 video. It only took me 5 minutes of watching the video as well. You horribly magnificent man. Looking forward to using this! Thanks.