Simulating a cracked wall - envelope and polygonal modelling problem

734
9
01-29-2013 12:51 PM
PanayiotisHadjichristodoulou
New Contributor
Good evening to all!

I am a new user in City Engine and I would like some help about something.

I am trying to simulate a cracked wall. That means that I have to create a wall with a polynomial hole somewhere in the edge of it. My initial thought was to split the wall to many smaller parts and by adjusting the height of each part I will eventually have my desired result.

The thing though, is that each part of the wall, is rectangular. That means that the result wan't be realistic enough. So I tried to make a polygon, in fact a rectangular with a slope on the top. But as I have seen, the polygonal modelling is only done manually. So I have to manually make each part of the wall. My questions now are:

1) Can I somehow use the polygonal modelling in a CGA rule in order to create a part of the wall with a slope?

2) I have seen that something similar can be done by using ENVELOPE. The thing though with the ENVELOPE is that the slope is only done to the front of the wall. I want the slope to by done to the side, so by combining all the parts of the wall next to each other I will have what I want. How can that be done, to change which is the front part of the wall?

3) Is there any other way I can simulate such cracks?


I attach an example of the wall I need to make. The cracks are seen with the red circles.

Thank you in advance!!
Panayiotis

[ATTACH=CONFIG]21181[/ATTACH]
0 Kudos
9 Replies
PanayiotisHadjichristodoulou
New Contributor
I solved the second question :)

I can use envelope to create a slope in the side of the building just by using the left/right baseHeight and left/right angle. So I can produce the rectangle I want with the slope in the side instead in the front.

Now I can use this to create the cracked wall as I imagined. Nevertheless if someone has another way to make a cracked wall or if there is something else in CityEngine that can help my with this I would like to know it.

As for the first question of the use of polygonal modelling by using CGA rules and not by creating the polygons manually with the draging of lines, I think because it is against of the concept of this it may not exist as a rule. But if there is let me know :)

Any other suggestions are welcomed!
Thanks again :)
0 Kudos
MatthiasBuehler1
Frequent Contributor II
Hi !

Your name is even too long for copy-paste .. :o


Well, since the 'scope' in CGA is always rectangular, splits are always created rectangular, so a few tricks would need to be considered.

One question first:
Will your geometries otherwise be altered afterwards ? Do the geometries have to be clean and watertight ? Or is something which just looks as your example already ok ?

Let me know ..

Matt
0 Kudos
PanayiotisHadjichristodoulou
New Contributor
Hello Matt and thank you for the answer!

Well, with what I've seen already, no my geometries wan't be otherwise altered afterwards. For now, something that looks just as the example I have attached is very satisfied.

As for my name, I will only tell you to imagine how difficult is for my baby boy to spell his surname :)

Thank you again for your time!
Panayiotis
0 Kudos
MatthiasBuehler1
Frequent Contributor II
Hi !

I created a tiny example which shows a possible workflow.

Of course, you have to code more to get a proper facade layout first with windows and doors, then use the following trick.

In the rectangular asset which has a hole in it, make sure that the face which fills up the full rectangle around the hole has face index 0. That way, you can always use comp(f) {0 :} to access that polygon and treat it as a standard Wall.

Let me know if this makes sense so far.

Better texturing can maybe done afterwards, after you grasp that concept..


Cheers !

Matt
0 Kudos
MatthiasBuehler1
Frequent Contributor II
btw. Here's the asset in Maya :
0 Kudos
PanayiotisHadjichristodoulou
New Contributor
Hi again from me!

Sorry for the delay but I had some things to finish before working with your example Matt. The example you posted is a very good way for doing this but it isn't what exactly I want.

Basically, it was my mistake that I didn't completely explained the purpose of creating such a cracked wall. With your example, you can create several halls using a 3D modelling program and with the use of your code you can put them into the wall randomly. This thing though, produces walls with standard halls, except if you have the time to create many different 3D models.

What I really want to do, is to create a cracked wall by using a rule, that will give the user the ability to adjust the height attribute in order to produce each time a different crack. More specific, I want the user to adjust some attributes that by someway in the code will adjust the heights of each part of the wall so it will create a different crack each time. The point of this, is that by this the user can produce buildings with different aging. If he chooses a small value for the attribute then a newer wall will be produced with a smaller crack on it (the wall will be split into several small parts and each part of the place of the wall where the crack will be created will have a larger height value). If he chooses a big value for the attribute then a more aged wall will be produced with a bigger crack on it.

So if I want to accomplish this with your example, I will have to create numerous 3D model cracks for each age of the building, which will be put in the wall according to the users will. This is not a bad way to do it but I would prefer to do it completely with the use of a CGA rule and not by creating 3D models. I believe that the result will be better by this (ok if you have time to create 20 different and good quality 3D models you may achieve the same result :)).
0 Kudos
MatthiasBuehler1
Frequent Contributor II
Hi,

Currently in CGA, you have to create assets to insert in the wall. Currently, there are no cracking patterns possible in CGA by itself. Those have to be inserted as assets.

But of course you can drive the severeness via an attribute which either just drives the texturing, small cracks or to full holes.

CGA is limited in such tasks, so you may want to have a look at the tool called 'Houdini'.

Let me know ..

Matt
0 Kudos
PanayiotisHadjichristodoulou
New Contributor
I am familiar with the fact that there are no cracking patterns possible in CGA by itself. That is why I am thinking to do the following:

- Split the wall to small horizontal pieces.
- Apply the ENVELOPE function to each piece to create a slope.
- Apply a different height to each piece in order to give a contiguous feel to the pieces
- The following piece will have the height of the highest part of the slope of the previous piece, as shown in the picture below.

If I continue with this logic I will create a part of the wall that will have a crack somewhere (ok, it won't be a hall but it will be a good crack that can be adjusted externally how big can be).

Houdini is a 3D Animations Tool? I have no idea about it...

Thank you again for your help!
Panayiotis

[ATTACH=CONFIG]21751[/ATTACH]
0 Kudos
MatthiasBuehler1
Frequent Contributor II
http://www.sidefx.com/

:)

there's some possibilities in CGA, sure, but you'll not be pefectly happy. more than using assets as fracture patterns or holes can not easily be done.

but maybe you find a cool workflow !
0 Kudos