Magical Tools for Architects (WIP) - Grasshopper

Howdy!

I’m currently working on a lil project to make architecture workflow more enjoyable. So far I’ve made a script to generate a volume from a single poly, and create windows from points. You move the points, you move the windows, and adjust the polyline to move the walls. The size of everything can be adjusted with sliders.

The geometry get’s baked to respective layers as seen below.

It’s still a work in progress, and will post updates as the project develops. Please leave requests for functionality if you see this being useful in any form.

Thanks!

8 Likes

Very nice work @julian.riise !
Maybe having the possibility to bake, and defining materials as shown in your last picture, would be useful.
Using Elefront or any other Grasshopper plugin.

1 Like

I thought about the same actually, but not sure how to do this in a user friendly manner. One way would be to preload the layers with example materials like what I’m showing here, or would you want to choose your own materials upfront?

1 Like

Hi @julian.riise ,
Yes, I think predefined layers with predefined materials would be sufficient. :+1:

1 Like

I’ve made the window generator much simpler, the windows are placed center and the user inputs the minimum distance between windows. You can also input several curves to create more than one building.

Any ideas on how to improve this further?

1 Like

Maybe add a little wall thickness?

2 Likes

Yes, I have some ideas for that. Perhaps using the poly as a center line so that the wall thickness adjust center and out, like this?

2 Likes

Or offset it inside. Maybe you can add option for both (center line and offset inside)?

1 Like

Actually, this might make more sense. Perhaps the polyline represents the separation of inside/outside. So inside-walls go inside the poly, andcladding goes outside the poly?

1 Like

Yes, that would be great.

1 Like

Check out rhino inside revit, archicad grasshopper bridge, visual ARQ, and so on. You are reinventing the wheel.

1 Like

Thanks, I’ve tried RhInsideRev and VisARQ. I found them interesting for documentation purposes, but honestly very slow and not fun tools. In my personal experience, the tools did not function properly, but maybe I just gave up too fast…

1 Like

You really shouldn’t discourage people form trying to reinvent or rediscover things or processes that you deem redundant or already satisfyingly existent.
Something great might come of it that nobody else really has seen before, or it might simply be a learning experience! Don’t be so status quo-ish!

5 Likes

Yeah my bad, you’re probably right. Any idea should have a chance to develop into something new, I was wrong. I was thinking he doesnt know about these tools, since i assumed hes a newbie. Good luck Julian!

2 Likes

I’m experimenting with the possibility to generate plan proposals. Have to admit this is a pretty difficult task. I played around with a script authored by Yang Yankun. It lets you generate plans by pulling rectangles with collision on (Kangaroo?).

Here is a link to the original script on Git:

The plans come out overlapping and strange (left), so I built a tool to snap the rectangles to a 1-meter grid (middle), and tried to convert the rectangles into a viable plan (right).

I need to work on the rectangles-to-viable-plan definition, it’s super buggy. I’ve managed to build something that converts single rectangles to a plan with one window-facade and one door. But adding complexity is not working at the moment.

5 Likes

:sweat_smile:

I guess what you could do, once you have the orientated room-rectangles, is separate the outer boundary from the inner lines to be able to give different wall thicknesses to inner and outer walls.

This is super interesting! And kudos for the documentation.

1 Like

A great suggestion, I have an abstract idea of how this might work. I guess the challenge is filtering out what part of any rectangle is exposed to the outside —> thick wall/windows, and what is inside —> thin wall/door. One way might be able to use a point network to identify the crossover lines between rectangles. Like this:

And figure out a way to exclude the part of that goes outside (HM…). Perhaps a better way would be to say if two lines are overlapping, it identifies as an inner wall? Like so:

In your case, you can simply perform a regional union, which should give you the outer boundary. Then you can explode all your rectangles and for the segments check whether at least one end point is not on the boundary curve, which means that it is an inside line.

Then for all the inner line segments you again could evaluate which overlap the boundary curve and only keep the part that’s not overlapping.

2 Likes

reminded me of this:

1 Like

Wow, thank you! Will experiment with that :smiley: