Adaptive DupliFaces (add-on)

dupli_morph_03b_gray

During the adaptABILITY workshop in Bratislava, Co-de-iT‘s team (Andrea Graziano and me) focused on several strategies about the connection between Blender and Grasshopper as tools for computational design in architecture. In latest years the development of blender went very fast and a lot of very useful features in computational design emerged, thanks to the community of developers. Looking at some very diffused panelizations strategies in grasshopper I decided to propose something similar in blender, that I called “Adaptive DupliFaces”.

In this rought version it’s possible to define one or more component meshes, and a base mesh. Select at first the components and then the base mesh, therefore run the command “Adaptive DupliFaces” for moving and adapting the panels for every face of the base mesh. Currently there are no options, but as soon as possible I’ll implement more feature for controlling the proliferation. Until then there are some rules to observe:

dupli_morph_04_base

dupli_morph_04

. the base mesh must be composed by quadrilateral faces. Triangles and polygons can give some weird results;

. the component mesh coordinates in x and y will be reproduced in faces UV, considering both x and y going from 0 to 1;

panel_scheme

. until now there is no control on the component rotation, it depends on face’s indexing;

. at moment, z coordinate is fixed and must be resized in original component before Dupli Morph operation.

You can download the addon at the link: adaptive_duplifaces.py

Following you can check some quick tests that show some applications of Adaptive DupliFaces. It was developed for architectural works, but I think that it could be useful also in different fields.

examples

Pleas post your questions or your works done with Adaptive DupliFaces!

Cheers ;-)

About these ads

5 Responses to “Adaptive DupliFaces (add-on)”

  1. Thanks for this addon.

    I recently started trying to find the functionality of Panel Tools (Rhino3d/Grasshopper) in Blender. I’m glad to have stumbled upon Adaptive Duplifaces addon. (((Quick models using Adaptive Duplifaces: https://www.dropbox.com/s/017rfist6xnxze9/KLIGERxAdaptive_Duplifaces-0.1.jpg, https://www.dropbox.com/s/13vrlwo0bzpuzlo/KLIGERxAdaptive_Duplifaces-0.2.jpg))).

    Since my python skills are not at your level, I had been trying to find a Blender based approach to the Panel Tools problem, one that preserves its parametric hooks from beginning to end. On some of these models, I used the same base mesh for both Adaptive Duplifaces and the Blender parametric approach to compare the two. (((https://www.dropbox.com/s/67uwsipjaqul0ie/KLIGERxBlenderParamEnvelope-1.0.jpg, https://www.dropbox.com/s/sn0n3fhnncma4my/KLIGERxBlenderParamEnvelope-1.1.jpg, https://www.dropbox.com/s/wbkrkr67apgawu3/KLIGERxBlenderParamEnvelope-1.2.jpg, https://www.dropbox.com/s/4tv66rj9etsvosz/KLIGERxBlenderParamEnvelope-1.3.jpg)))

    I wonder if there’s a way to converge the two approaches?

    • Hi Brad!
      Thanks for your tests! Did you use grasshopper? The problem of working with meshes is that there is no a bidimensional parametric domain. The only solution that I can imagine for creating panels on a non-regular grid is to work starting from edge loops or curves (as for Bsurfaces). Maybe creating the base mesh (exagons, diamonds ecc.) and then adding panels on it. But to be honest, I think that the great advantage of modeling with meshes is the freedom in terms of topology, that is not good for parametrization of the surfaces… :-/

  2. Hello Alessandro,
    I tested your script, and posted the results on blenderartist.org

    http://blenderartists.org/forum/showthread.php?317652-Adaptive-DupliFaces-Test&p=2514786#post2514786

    The second one I noticed a slight rotation in the Z axis (I know its neutral) vertical is perfect.
    Thanks for sharing the script :)
    Cheers,
    ~Tung

    • Hi Tung! Thanks for posting about “Adaptive DupliFaces” :)
      Nice tests!
      For the rotation make sure that there is no rotation in your component, for now it consider only the rotations of the mesh, not the rotation of the whole object, so apply the rotation (ctrl-A) before proliferate your mesh.
      Let me know!

      Cheers,
      Alessandro

Trackbacks

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Iscriviti

Ricevi al tuo indirizzo email tutti i nuovi post del sito.

Unisciti agli altri 26 follower

%d blogger cliccano Mi Piace per questo: