Archipack 1.3.8 - 18.04.2018

free
add-ons
(stephen_leger) #601

Hi,
Thank you for supporting my work !
Archipack 2.0 is definitely not a 10$ - 5 lines of code - toy, and you’ll quickly see what “fastest archviz workflow ever” means :wink:

2 Likes

(Thomas Daubigny) #602

Hello Stephen,

I bought the 2.8 version and I must admit I have no regret.

I have just one problem. All my textures are progressively becoming “broken” in the “material view” even if they still render well in the viewport on existing linked objects and are in the blender file. See example on the Matt paint brown texture here, which was a normal texture and now has a grease pencil type and I cannot use it anymore.

As archipack is my only plugin activated, I was wondering if it is possible that it is the plugin that is corrupting my texture

Any help on this ?
Thanks
Best
Tom

0 Likes

(stephen_leger) #603

Hi Thomas,

Archipack load materials from library and apply to regular material slots, but check if material with same name is already in the scene. So if a grease pencil material with same name is present on scene it will be used.
Will fix this issue on next archipack release.

0 Likes

(Thomas Daubigny) #604

Thanks for the quick reply. Do you know how I could change back the type to the mesh type ?

Again congrats for your awesome plugin.

0 Likes

(stephen_leger) #605

Set your workspace to “Scripting”,
Select kitchen main object,
Copy paste the code into the “Console” (first area under 3d view), press enter to start and pray !
Once done alter any parameter of kitchen so it will update all doors materials with main one.
This will create new materials with .001 names but at leas you’ll get the rid of grease pencil.


context = C

slots = C.object.material_slots
for i, slot in enumerate(slots):
    mat = slot.material
    if mat is not None:
        new_mat = bpy.data.materials.new(name=mat.name)
        new_mat.use_nodes = mat.use_nodes
        new_mat.diffuse_color = mat.diffuse_color
        if mat.use_nodes:
            src = mat.node_tree.nodes
            dst = new_mat.node_tree.nodes
            dst.clear()
            node_map = {}
            for node in src:
                n = dst.new(type(node).__name__)
                node_map[node] = n
                for attr in dir(node):
                    try:
                        setattr(n, attr, getattr(node, attr))
                    except:
                        pass
                for j, input in enumerate(node.inputs):
                    try:
                        default_value = input.default_value
                        if type(default_value).__name__ == 'bpy_prop_array':
                            for k, val in enumerate(default_value):
                                n.inputs[j].default_value[k] = val
                        else:
                            n.inputs[j].default_value = default_value
                    except:
                        pass
                for j, output in enumerate(node.outputs):
                    try:
                        default_value = output.default_value
                        if type(default_value).__name__ == 'bpy_prop_array':
                            for k, val in enumerate(default_value):
                                n.outputs[j].default_value[k] = val
                        else:
                            n.outputs[j].default_value = default_value
                    except:
                        pass
            src = mat.node_tree.links
            dst_links = new_mat.node_tree.links
            for j, link in enumerate(src):
                dst_from_node = node_map[link.from_node]
                dst_from_sock = dst_from_node.outputs.find(link.from_socket.name)
                dst_to_node = node_map[link.to_node]
                dst_to_sock = dst_to_node.inputs.find(link.to_socket.name)
                dst_links.new(dst_from_node.outputs[dst_from_sock], dst_to_node.inputs[dst_to_sock])
        slots[i].material = new_mat
0 Likes

(Thomas Daubigny) #606

Thanks for the help there, I did try that but all the next textures are blank…

0 Likes

(Thomas Daubigny) #607

Actually it is very strange, in the API Data view, the materials have still the right node info with the right shaders but the checkbox isPencil is checked. do you know why it has been automatically checked and how to uncheck it ? I guess if I was able to uncheck it everything will be back to normal

0 Likes

(stephen_leger) #608

Don’t know why and how it has been checked, it’s probably a bug in blender 2.8.
This value is read only so you can’t uncheck.
Edited code so it should work fine now.

0 Likes

(Thomas Daubigny) #609

The code has worked very well ! Thanks. Let’s hope the new blender build will solve this issue to happen again.

Thnaks again for everything !

0 Likes

(Crumpley) #610

Stephen,
Love the addon!! I’ve been trying to make a shed-style roof, but can’t figure out how to do it. This style is just a single flat roof (no middle seam) that sits at an angle. Any advice? Here is an image of what I mean:

0 Likes

(stephen_leger) #611

Hi,
with archipack < 2.0.6 setup a bigger roof, and use a “roof cutter” to delimit boundary of the part you want to keep.
Roof cutter allow to set what kind of geometry you want for each segment eg: “Bottom” generate gutters and so on.

0 Likes

(Crumpley) #612

Very cool! Thank you.

0 Likes

(captainkirk) #613

Hi, is there an ETA for Archipack 2.0.6? I’m really looking forward to the new roof features.

0 Likes

(Bastian N) #614

@stephen_leger
We are in love with your great addon. It saves us so much time…how can we support you?
Is there an Donation Button or something like that?

0 Likes

(stephen_leger) #615

Hi,
@captainkirk Checking 2.0.6 on Windows and OSX with today’s builds so probably will push update in the end of the day. PM gumroad email account adress if you want to try before.

@bne Patreon account is still up, but as i failed to make crowd funding really working, archipack addon is now a gumroad’s product.

0 Likes

(Bastian N) #616

well…you just earned a new patron for your great work! Keep it up!

0 Likes