The Global ARCHICAD Community

Stay informed. Get help. Share your knowledge.

Topics related to the Grasshopper-ARCHICAD Connection and the various tasks that can be achieved with it.

Moderators: Barry Kelly, Karl Ottenstein, LaszloNagy, ejrolon, gkmethy

By yafimski

I'm attaching my attempt for walls using your script as a guide.

I think there are a few issues that I didn't understand:

1 - it seems the random numbers are in the domain 0.0 to 3.0 and this limits the color indexes not to include index 3 itself. So probably it should be 0.0 to 4.0 right?

2 - I'm not sure archicad elements created this way (especially walls since they have quite a lot of bugs) can show color directly in the AC window.

3 - Not sure that 'color swatch' can translate to 'building material' which gives the wall its color. I connected it for now to 'property settings' but in AC itself I wasn't sure which 'type' of parameter needs to be created in the Property Manager (i.e. integer, number, boolean etc.)

4 - perhaps creating this kind of color randomization needs a wall as input and not a 2D curve. Since the GH-AC connection has a lot of bugs and missing functionality, it's hard to know if it doesn't work because of the plugin or because of some error in the script.

Hopefully you'll be able to check these things out over the weekend.

Thanks :)
By yafimski
Some follow up work I've tried.

In the image below you can see the data types from the various components. It seems like the Path Mapper component outputs correct RGB values. From the Property Settings however, the element classification is a Beam, when the element I want to create is a wall.

Initially the settings in the Property Manager in AC were according to the below image:
I thought that might be an issue, so I changed it to the following setting below, but unfortunately this didn't bring up the property in the Property Settings selection options in GH. It just wasn't appearing there :

Would you have any idea how to move this forward?
User avatar
By kzaremba
Thanks for this topic. I have missed the possibility to expose GDL parameters to GH. Nice..

If you want to change element classification I suppose you should right click and select proper type.
By yafimski

Yes this is exactly how it's done, and it's no problem to add properties to that component, but the issue is how to get building material or surface material properties into the wall settings in a valid way that will randomize the wall colors.

leceta said he might have an answer.

Do you know of any way to achieve a correct result? (see the attached images in my previous post).

User avatar
By leceta
hi, Yafimski,
sorry for the delay. The plugin was crashing my Rhino/GH when launching grasshopper from a month ago or so, and I couldn't figure out the solution. It seemed to be some compatibility issue with another piece of software installed on my machine. well, today I wake up decided to solve this problem... and I spend almost the entire day looking for a solution, and I ended up formatting my hard drive!!! someday this plugin will be stable, but...

anyway, now I can illustrate the solution for you (and at least I can play with the connection plugin...)

The solution is very similar to the previous one. I guess you were missing the Composite parameter in wall settings component.
I created four composites in ArchiCAD, each one with a colored building material. It is pretty straightforward. Look the picture... I hope it is what you were trying to achieve.

By yafimski
Hi Ieceta,

Thank you for the additional help! I've replicated what you've done here, excluding the height variation because I don't need that.

At the moment I can't seem to achieve the same color variation as you have. All of my walls come out with the same composite type instead of 4 different ones, even if from the panels in the attached image you can see that it should be 4 colors not 1...
What I do want to vary with a graph mapper or another method is the color weights, so "how much of each color there is" across all of the walls created. I'm thinking I can either use a graph mapper or there is a component that allows to give a 'weight ratio' to a set of numbers.

So my questions are:
- Do you have any idea why this is?
- Can you explain why you reparametrized the end results in the wall component?
- Is there a way/component to add the mentioned 'weight ratio'?
User avatar
By leceta
you have to be aware of the path of your data tree. what I do in the last component is not a reparameterization, but a combination of "simplify" and "graft" operations, precisely in order to match the data trees of both Curve List and Wall Settings List.

to weight the ratio, you should input a evenly distributed series of numbers (0,1,2,3,...) to your graph mapper, instead of a randomly distributed one. I guess that this should work. I will try it later...

further info about data trees: ... ee_Editing
and to become a master : ... o/79914772
User avatar
By leceta
no, you were right... to obtain weighted random distribution, random series connected directly to graph mapper is a better solution. That way the graph doesn´t need to be noisy, so weight control can be more intuitive.
By yafimski
Do you know why the walls I generate all come out with the same color despite being different composite profiles?

(the image in my previous post is relevant).
User avatar
By Barry Kelly
yafimski wrote:Do you know why the walls I generate all come out with the same color despite being different composite profiles?

(the image in my previous post is relevant).
I have no idea what you guys are doing - looks interesting though.

But a thought.
Have your walls all got surface overrides happening? - so you are seeing the override and not the composite.