|
POST
|
Can you post a screenshot of your Get Map Data window so that I can see what bounds and coordinate system you are trying? Could you also point out where a footprint is missing?
... View more
11-07-2018
04:09 AM
|
0
|
4
|
2286
|
|
POST
|
No, sorry, this is not possible yet. You could use Shapes -> Compute First/Street Edges on the footprints, and then the street.front selector will work in comp(). This would let you know which sides face streets, but it won't tell you which side is the longest one facing a street.
... View more
11-07-2018
02:55 AM
|
0
|
0
|
936
|
|
POST
|
No, sorry, this is not possible yet. You could use Shapes -> Compute First/Street Edges on the footprints, and then the street.front selector will work in comp(). This would let you know which sides face streets, but it won't tell you which side is the longest one facing a street.
... View more
11-07-2018
02:53 AM
|
0
|
0
|
966
|
|
POST
|
I was hoping to see what your settings were for Bounds, so that I could try to reproduce it. I just tried to download some footprints in the NW corner of Wayne County, Michigan, and I was able to get some footprints. Not all buildings seem to have footprints though. You can see what data is available on OpenStreetMap. Query Features | OpenStreetMap
... View more
11-01-2018
09:13 AM
|
0
|
6
|
2286
|
|
POST
|
What geographical area are you trying to download? Can you post a screenshot of your settings in the Get Map Data window?
... View more
10-31-2018
03:11 AM
|
0
|
8
|
2286
|
|
POST
|
In the File -> Get Map Data window, check the "Download polygons" box to get building footprints.
... View more
10-30-2018
03:48 AM
|
0
|
10
|
2286
|
|
POST
|
No. Esri CityEngine | Purchase Single or Concurrent Use License
... View more
10-25-2018
02:36 AM
|
1
|
0
|
613
|
|
POST
|
Option 1 The easiest way (and maybe not the cleanest way or best way) is to copy the Building_From_OpenStreetMap.cga rule from ESRI.lib into your own project and rename it (right click -> Rename). Then, you can add your own style for Aachen at the bottom. For example, you can customize the following attributes (but you don't have to, and you can delete the line from the style to use the default setting). This will set the values for buildings that do not have OSM data. For example, if a building does not have OSM data for number of levels or building height, then the attribute value for estimatedLevels is used instead. Note: In the code below, the attributes are set to fake values. You'll have to insert your own appropriate values for your city. You can use expressions like rint(rand(2,10)) to randomly pick the number of levels to be in the range [2,10]. style Aachen
attr estimatedLevels = 10
attr estimatedRoofForm = "flat" // options: "flat", "shed", "gable", "half-hip", "hip", "pyramid", "gambrel", "mansard", "dome", "onion", "round", "saltbox"
attr estimatedNonFlatRoofForm = "gable"
attr estimatedFloorHeight = 3
attr estimatedNonFlatRoofHeight = 3
attr estimatedBuildingForm = "extrusion" // options: "extrusion", "setback top", "setback facade", "setback base", "setback everywhere"
attr estimatedBuildingColor = "#cccc66"
attr estimatedRoofColor = "#9999aa"
attr estimatedRepresentation = "solid color" // options: "realistic with facade textures", "schematic facades", "solid color"
Option 2 Another way to create your own city's style is to create your own rule which imports the Building_From_OpenStreetMap.cga rule. Both options are not ideal. The difficult part about this is that you have to copy the hidden attributes from the Building_From_OpenStreetMap.cga rule to your new rule (so that object attributes will link correctly). Then, you can add however many styles you want to the end of your new rule. Then, you choose your style from the Inspector for your new rule (not for the OSM rule). For example, here's what the new rule could look like. import OSM:"/ESRI.lib/rules/Buildings/Building_From_OpenStreetMap.cga"
// ------------------------------
// Hidden Attributes
// ------------------------------
@Group("From Object Attributes", 2)
// from object attributes
@Hidden
attr height = -1
@Hidden
attr building__levels = -1
@Hidden
attr roof__height = -1
@Hidden
attr roof__shape = ""
@Hidden
attr building__colour = ""
@Hidden
attr roof__colour = ""
@Group("Estimated Attributes (can be set by styles)", 3)
// Note: These attributes can be overriden by styles.
// estimated attributes based on default values or overriden by styles
@Hidden
attr estimatedLevels = OSM.defaultLevels
@Hidden
attr estimatedRoofForm = OSM.defaultRoofForm // when no obj attr roof__height
@Hidden
attr estimatedNonFlatRoofForm = OSM.defaultNonFlatRoofForm // when obj attr roof__height>0
@Hidden
attr estimatedFloorHeight = OSM.defaultFloorHeight
@Hidden
attr estimatedNonFlatRoofHeight = OSM.defaultNonFlatRoofHeight
@Hidden
attr estimatedBuildingForm = OSM.defaultBuildingForm
@Hidden
attr estimatedBuildingColor = OSM.defaultBuildingColor
@Hidden
attr estimatedRoofColor = OSM.defaultRoofColor
@Hidden
attr estimatedRepresentation = OSM.defaultRepresentation
// ------------------------------
// Start Rule
// ------------------------------
Lot -->
OSM.Generate
// ------------------------------
// Styles
// ------------------------------
style Aachen
attr estimatedLevels = 10
attr estimatedRoofForm = "flat"
attr estimatedNonFlatRoofForm = "gable"
attr estimatedFloorHeight = 3
attr estimatedNonFlatRoofHeight = 3
attr estimatedBuildingForm = "extrusion"
attr estimatedBuildingColor = "#cccc66"
attr estimatedRoofColor = "#9999aa"
attr estimatedRepresentation = "solid color"
... View more
10-23-2018
09:49 AM
|
0
|
0
|
1031
|
|
POST
|
Esri.lib, the library that comes with CityEngine, has rules that can put textures on buildings. Building_From_Footprint.cga: use if your initial shape is a 2D footprint Building_Mass_Texturizer.cga: use if your initial shape is a 3D mass model If you'd like to use your own texture image, then you can apply the texture to a model using setupProjection() to do the necessary setup that is needed to determine how to place the texture on the model, then use texture() to assign your texture image file, then use projectUV() to actually perform the projection that is needed to apply the texture to the model. setupProjection(0, scope.xy, '1, '1) // this stretches the texture to fit the scope
texture("mytexturefile.jpg")
projectUV(0) setupProjection Operation For an example, see the Texturing part in Tutorial 6: Tutorial 6: Basic shape grammar—CityEngine Tutorials | ArcGIS Desktop
... View more
10-23-2018
08:00 AM
|
0
|
0
|
1989
|
|
POST
|
I agree that this would be useful. This is a common use case that we have been considering, and hopefully we will have something to handle this in the future. Thank you for your enthusiasm and for sharing your use case with us. For now, unfortunately, I can't think of a good workaround.
... View more
10-23-2018
07:26 AM
|
2
|
1
|
2766
|
|
POST
|
You can create gable roofs (starting from a 2D footprint of the roof) using the roofGable() operation. You can put a handle on the entire roof shape (volume, not ridge edge) to be able to change the height of roof. roofGable Operation @Handle(shape=RoofMass)
attr roof_height = 3
RoofFootprint -->
roofGable(byHeight, roof_height)
RoofMass
RoofMass -->
Mass.
To control the heights separately for the two parts of an L shaped footprint, you would need to break up the footprint into to parts so that each part could be assigned its own handle.
... View more
10-23-2018
06:00 AM
|
0
|
0
|
846
|
|
POST
|
If you have 3D models or texture images, I would suggest adding them to the assets folder of any project. Create a new project, then you can drag and drop items into the assets folder. Note, ESRI.lib (comes with CityEngine and is visible in the Navigator) contains a plant library of 82 plants.
... View more
10-19-2018
04:41 AM
|
0
|
0
|
642
|
|
POST
|
Yes, and that's what I would recommend: street/graph networks and insertAlongUV() and/or primitives.
... View more
09-11-2018
07:31 AM
|
1
|
1
|
784
|
|
POST
|
Shapes automatically created from a graph network (streets) are dynamic shapes. Blocks are only created when there are closed loops in the graph network. Blocks can then be subdivided to create lots. Creation of Shapes from Graph Networks Blocks can be subdivided according to the chosen subdivision algorithm (type): Recursive subdivision, offset subdivision, skeleton subdivision, no subdivision. Block Parameters Since you have a polygon which is not a dynamic shape (it is not created automatically from a street network), the polygon doesn't know about the street. The block subdivision algorithms are not available for the polygon. With the polygon, you can apply the cga operations in the "Geometry Subdivision" section in the cga reference. You can also use labeled occlusion testing (touches, inside, overlaps) to see if a shape occludes another shape. But, without knowing where exactly the street shape or obstacle shape are, it will be hard to know exactly where you need to split your shapes in order to avoid the street or obstacle and align to them. I can't think of a solution for you, but maybe someone else has an idea.
... View more
07-24-2018
03:29 AM
|
0
|
0
|
3621
|
|
POST
|
I don't really understand what you want to do, but if you want to subdivide a shape, you can use any combination of the operations in the "Geometry Subdivision" section in the CGA reference page, such as split, offset, setback, shapeL, U or O. CGA Reference Index
... View more
07-23-2018
01:45 AM
|
0
|
2
|
3621
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-14-2022 07:18 AM | |
| 1 | 06-22-2020 04:54 AM | |
| 1 | 02-17-2020 03:10 AM | |
| 1 | 07-03-2023 03:37 AM | |
| 1 | 06-07-2023 05:26 AM |
| Online Status |
Offline
|
| Date Last Visited |
10-19-2023
12:40 PM
|