POST
|
I have been struggling quite a bit to work out how to control trim planes and how and when they will work and on what. In this example, I've been trying to write a script for an Utzon courtyard house (see pic). Basically, it's an L-shaped building on two sides of a courtyard with a shed roof raising outward from the courtyard. Now, the way I constructed the roof (see script), it requires a split to miter the two roof parts in order to avoid overlapping geometry where they meet. But I can't make it work. Could someone please give an overview of how to use trim? Because I obviously either don't know, or I try to make it do stuff which it can't do. In the latter case, is there an alternative way for me to reach my goal? /**
* File: trimWalls.cga
* Created: 23 Jun 2015 12:13:04 GMT
* Author: Nic
*/
version "2015.0"
attr floorH = 3
attr bldgW = 8
attr wallThickness = 0.35
attr roofAngle = 30
@Startrule
Lot --> RoofBase01 RoofBase02 shapeL(bldgW, bldgW) {shape : Footprint | remainder : rotateScope(0,180,0) Garden }
Garden--> shapeL(wallThickness, wallThickness) { shape : extrude(floorH*0.75) GardenWall | remainder : Ground }
Footprint --> extrude(floorH) Envelope
RoofBase01 --> t(0,floorH,0) rotateScope(0,90,0) split(x) { bldgW : set(trim.horizontal,true) set(trim.vertical,true) trim() roofShed(roofAngle, 2) Attic | ~1 : NIL }
RoofBase02 --> t(0,floorH,0) rotateScope(0,90,0) split(z) { bldgW : set(trim.horizontal,true) set(trim.vertical,true) trim() roofShed(roofAngle, 1) Attic | ~1 : NIL }
GardenWall --> comp(f) {side : Wall | top : Crown }
Envelope --> comp(f) {side : Wall }
Attic --> comp(f) {vertical : Wall | top : Roof }
Wall --> color(0.9,0.8,0.6)
Crown --> color(0.7,0.7,0.7)
Roof --> color(0.9,0.7,0.6)
Ground --> color(0.2,0.6,0.2)
... View more
06-23-2015
03:21 PM
|
2
|
10
|
4669
|
POST
|
Amendment: To be precise, what I want is that only buildings whose MAIN facades are facing North should have setbacks on that facade. Buildings whose main facades (not guided by street front, btw.) are NOT facing North should not have any setbacks at all.
... View more
07-08-2014
02:49 AM
|
0
|
0
|
277
|
POST
|
Hi, I want to make a script for buildings with horizontal facade setbacks which I want to control according to world orientation. Basically, only North facades (say azimuth < 45˚ or > 315˚) should have setbacks, while other facades should be straight. I normally use extruded objects as building envelopes, which I then split in the y direction to get floors. I therefore thought I might check the orientation of the building envelope and do a case, to distinguish buildings with setbacks from buildings without. Now, it seems that an extruded object cannot use the geometry.angle(azimuth) function so I am kind of stuck as to how to approach the problem. Do you have any suggestions as to how to proceed? Regards, Nic
... View more
07-08-2014
02:44 AM
|
0
|
1
|
2751
|
POST
|
Hi, having used the Esri Forums on CityEngine extensively, I am rather confused about where the content of the different CityEngine sub-forums have gone after the migration to Geonet. Would you kindly provide some sort of guide or overview as to how to find this content in the new structure, as well as to how/where to put new questions? Still confused about the logic of Geonet, my best bet is that everything is now in the GIS > 3D space (if this is a space at all). But the the old structure provided a more fine-masked sorting, such as First Steps, Shape Grammars, Python, etc. Have these distinctions been maintained, and how? Regards, Nic
... View more
07-08-2014
01:53 AM
|
0
|
18
|
6030
|
POST
|
Hi Zhi Liu, I made the YouTube video which you refer to. I'm happy you like it 🙂 However, I'm not sure what you like about it�?� Please be more specific, and I'll try to answer you. Best, Nic
... View more
11-28-2013
01:36 AM
|
0
|
0
|
331
|
POST
|
Hi Matt, The street approach is interesting �?? I hadn't thought about that. I'll try it out, compare it to the static shape approach, and get back with the results.. Thanx, Nic
... View more
07-02-2013
09:37 AM
|
0
|
0
|
659
|
POST
|
Thank you for your reply! I realize that I did not explain myself well enough: My goal is not to generate that particular housing scheme. On the contrary, I wan't to parametrically adapt the logic of the housing scheme to different sites with different sizes and terrains. Therefore, the very point for me is to use rules rather than generating dead geometry. As I take my point of departure in the real world, aligning the terrain back to the shapes would mean to use heavy machinery to move around a lot of soil. Also, the very point of the Frendensborg houses is that they align to the terrain as it is. This is also an important point for me in re-using the "code" of this development at different sites. Finally, as I work a lot with site design (for real sites) my question �?? whether there is a way to align sub-shapes to the terrain �?? is still central to my work. Hopefully this explains my needs better. And, if you have a suggestion to my second question, I'd be very grateful: [INDENT]2. As it can be seen in the reference photos, the footprint of the houses is an L-shape. The roofs are shed roofs which incline inward. This means that there is a roof valley in the knee of the L-shape. Is there a neat way �?? or any way at all �?? to generate this type of roof for this type of footprint? [/INDENT] Regards, Nic
... View more
07-01-2013
10:52 AM
|
0
|
0
|
659
|
POST
|
OK, thanks. I'm afraid maps won't do it for me, as my criteria are not necessarily geo specific. But I'll try to think of another approach then. Styles just seem so neat�?� Nic
... View more
02-03-2013
02:03 AM
|
0
|
0
|
335
|
POST
|
Hi, When using listRandom() for colors, I can only make it work when formatting color names in Hex, not in rgb. For instance, this syntax will work: attr facadeColor = listRandom("#AA9977;#999999;#BBBBBB;#CCBB99") but will not: attr facadeColor = listRandom("0.5,0.4,0.3;0.8,0.7,0.6;1,0.9,0.8") What do I do wrong? Regards, Nic
... View more
02-03-2013
02:00 AM
|
0
|
2
|
485
|
POST
|
Wow! Your trick worked. I deleted the file I didn't know I had, and it worked�?� Thanxalot! Nic
... View more
01-31-2013
03:56 AM
|
0
|
0
|
574
|
POST
|
One more thing: I tried two different ways of registering in my second attempt (on the second Mac): The recommended option (in the Software Authorization Wizard) is to authorize using the internet. That didn't work. The second option is to authorize at Esri's website or by eMail. That caused a crash too. Nic [ATTACH=CONFIG]21244[/ATTACH]
... View more
01-31-2013
03:45 AM
|
0
|
0
|
574
|
POST
|
Hi, yes I've been in close contact with Esri Denmark all day�?� Actually CE unexpectedly quit late afternoon yesterday when I had stopped working but the application was still running.. This happens, so I paid no particular attention. Then when I started it again this morning, I got the following screen at startup: [ATTACH=CONFIG]21243[/ATTACH] And the application froze on startup. Then I learned about the new license and installed it �?? apparently with success �?? through ArcGIS Administrator as mentioned. Since then, the application still freezes, only, I no longer get the screen above. I tried to install CE from a fresh download independently on two different Macs. On the second Mac, ArcGIS froze during the process of activating the new license code, and obviously I couldn't launch CE. Does this give you any leads? Nic
... View more
01-31-2013
03:36 AM
|
0
|
0
|
574
|
POST
|
I run CE 2012 with an advanced single user license on a Mac. Today the licenses were renewed and I received a new license number from my administrator and successfully installed it with ArcGIS Administrator??? BUT: Since then, CE will not run, or rather, it freezes during startup. I tried to reinstall the program, downloading the software from the Esri homepage, but without success. What do I do? Needless to say, I need to get CE up and running asap, as I have a very important deadline next week and already took the weekend into account. I am desparate and urgent help would be highly appreciated. Regards, Nic
... View more
01-31-2013
02:56 AM
|
0
|
6
|
2220
|
POST
|
Is there a way to reference different styles within a cga script? Say you want to render different facade styles (or other characteristics defined by styles) based on a constraint map reference. How do you do that? In my case, I want to control the amount of new buildings to replace historical buildings in an urban regeneration area by means of a gray scale map indicating the redevelopment ratios for different parts of the area. I have defined old and new building types with different names within one cga file (quite a hassle and not very clean) but I would like to simplify my script (and my work) by using styles. Only, I can't figure out a way to do it. Can you help? Thanks, Nicolai
... View more
01-30-2013
03:17 AM
|
0
|
4
|
2090
|
POST
|
Hi again, I thought for a moment that I had worked out a solution by using the const function. But it doesn't work out the way I did it. See below. Am I on the right track and if yes, what do I do wrong? Nic -- /** * File: FAR_rule.cga * Created: 30 Oct 2012 17:49:06 GMT * Author: nic */ version "2012.1" attr FAR = 1.5 attr buildingLength = 20 attr buildingWidth = 10 attr floorHeight = 3 attr groundfloorSetback = 0.5 attr topfloorSetback = 2 attr facadeColor = listRandom("#FFDEAD;#F5DEB3;#DEB887;#D2B48C;#CD853F") Lot --> color("#A9A9A9") Ground const lotArea = geometry.area() Ground --> innerRect s(buildingLength,0,buildingWidth) center(xz) Building Building --> extrude(floorHeight*(lotArea/geometry.area()*FAR)) Envelope Envelope --> split(y){ ~floorHeight : Floor }* Floor --> case (split.index == 0) : s(scope.sx-groundfloorSetback,'1,scope.sz-groundfloorSetback) center(xz) color("#808080") Facade. case (split.index == split.total-1) : s(scope.sx-topfloorSetback,'1,scope.sz-topfloorSetback) center(xz) Topfloor else: color(facadeColor) Facade. Topfloor --> comp(f) {side : TopFloorFacade | top : Roof } TopFloorFacade --> color("#87CEFA") Roof --> color(listRandom("#D3D3D3;#A9A9A9;#696969"))
... View more
11-04-2012
10:46 AM
|
0
|
0
|
344
|
Title | Kudos | Posted |
---|---|---|
1 | 12-11-2019 04:07 PM | |
1 | 10-06-2020 02:51 PM | |
3 | 07-03-2020 08:38 AM | |
1 | 06-30-2020 01:48 PM | |
2 | 06-23-2015 03:21 PM |
Online Status |
Offline
|
Date Last Visited |
12-15-2020
07:30 AM
|