Ad

Friday, March 13, 2015

Slope Stake Report Blues

You ever get the feeling Autodesk is just checking off check boxes and not understanding what users actually need? I do. On such example of this is the Slope Stake Report conversion to Excel with images. The images cover the data in the Excel sheet. Not what I would consider a good result. One way to fix this is to either create a VBA code in Excel or in the report. This report will show some code pieces that can be used to fix this catastrophe.

The first thing we would need to do is to get the images. They are called a Shape.

For Each xlsShape As Excel.Shape In sheet.Shapes
' 972 is the approx width of the available space.
If xlsShape.Width > sheetWidth Then
xlsShape.Width
= (sheetWidth - 2)
End If
Dim moveDistance As Single
= (sheetWidth - xlsShape.Width) / 2
xlsShape.Top
= xlsShape.Top + 3
xlsShape.Left
= moveDistance - firstColumnWidth
Next


Once we have it we can then move stuff around if we want. In the code above I'm taking the shape and then adjusting the width and centering the image.



We would also want to add rows under the shape. We can get the location of the cell under the image and then insert rows.




xlSheet.Rows(1).Insert()



You’d want to replace the 1 with the current row and add as many rows as you think are needed based on the image height. Once you put it all together now the images will not be over the top of the table. 

Wednesday, February 18, 2015

Civil BIM–Site Grading Example

What would you want a Civil BIM software product to perform? Well today my primary work is creating a preliminary grading plan for a tentative tract map. The project is for some condos with some challenging grading constraints. There are sidewalks, retaining walls, stairs, and landscaping areas. The buildings have retaining walls built into them. This is primarily to make them carriage units and provide the residents the feel of a traditional housing with an easy to access floor area. Carriage units are exempt from ADA requirements and are where the living space is above the garage area.

Most of the time when we get CAD drawings from other sources such as planners and architects. Tons of time an energy is spent correcting their often time sloppy linework. If Civil 3D was forgiving we could just use, but since feature lines close to each other may cause crashing it’s advisable to clean up the linework. For my project I’ve already spent 2 hours cleaning it up and probably have another 2 hours before I even start turning the polylines into feature lines. I then have to turn all of those feature lines into a design and offset them to get the desired shapes such as curbs, retaining walls, and stairs. It’s a ton of busy work that really provides a crappy user experience.

What if we could make the experience better? Well this is the way I’d envision Civil BIM working. First I’d be able to bring the architect’s linework into the program. I’d also have the actual legal linework in the drawing as well. As we all tend to know, architects tend to think of the world as square and the reality is often far off from it. So we are forced to fit their square design into a different shape.

Once in the program I’d be able to determine the constraints. In this case I know I need to tie into the existing sidewalk and curb and gutter at the south side of the project. I know from looking at the site I’m not going to be able to tie into the North, East, and West side due to the terrain without a retaining wall. If I was able to I’d shoot for a maximum of 2’ elevation difference so I wouldn’t have to design a retaining wall. Most areas in California allow a 2’ differential without calling the privacy wall a retaining wall. I’d want the ability to snap the privacy wall or privacy/retaining wall along the surveyor’s linework for the parcel. At this point it would follow the existing ground at the property line.

image

Next I’d want to create the sidewalk at the south of the property. This placement of the sidewalk would allow me to pick either the center of the sidewalk, an edge, or an offset from an existing feature. In this case I’d want the offset to be 7.5 from the existing curb and gutter. I’d then want to determine the elevation of this relative from the curb and gutter. In this case it would probably be a constant 2% grade since the buildings are separated from the sidewalk with a retaining wall. If the building was closer to the roadway then the grass landscape area would have a variable slope and the sidewalk would get it’s elevation from the building entrances. Of course the sidewalk would know about ADA requirements and would automagically insert ramp resting areas, if necessary. The ramp resting areas could then be moved and adjusted. The driveway would also be placed using parametric design based on the local design requirements. I’d expect no more bullshit of ignoring these often used features in civil design to ensure the grades are adequate to place the driveway and provide ADA passage.

image

I’d then want to place the other sidewalk on the project site. At this time I wouldn’t be concerned too much about elevation since I’m putting everything together. I think it would be too challenging to place and set elevations since I have no real idea where my constraints will show up in relation to the grading. The sidewalk would allow me to do both linear segments at a given width and the odd shapes in front of the buildings. I’d expect to be able to make my sidewalk too large or too long. When I place other objects such as retaining walls, stairs, or trash enclosure areas that it would automagically trim it’s self to those objects.

Next I’d place the buildings. Buildings can have retaining walls or stem walls associated with them. In my case as an architectural desire or for basements in colder regions. I’d then place the buildings on the site. The buildings would have a pad elevation (floor elevation minus any building materials to the floor elevation), a floor elevation, and the ability to slope the garage area to the entrance. This way I can move the building up and down and have my model adjust to it. On each side of the building I’d be able to set elevation points like we can do using the Civil 3D feature line tools. Find a high/low point to shed water away from the building or to get a retaining or stem wall as part of the building.

The building model, sidewalk model, and stairs would create a warped surface between the elements. The last element is curb, gutter, valley gutters, and pavement. I’d probably want to start out with a preliminary grading concept to build from. In looking at the site I’d want to determine how the water would flow through the site. For this site I’d think I’d go with something like shown in the image below.

image

I’d expect to be able to set the grade direction relative to a reference object, in this case the sidewalk at the front of the property. Then grade to the back of the property at 1% and up each of the alleys at 1%, and at the odd ball parking area at 1%. This pavement would automagically trim itself at the sidewalk and buildings or other objects. I now want to place the curb and gutter to constrain the pavement even more (or place it earlier) in the process. The pavement would automagically get it’s elevations from the building at the garage entrances to provide for a warped surface to a valley gutter that is going to have to be designed to flow water away from the garages.

The curb would be a smart curb object. It would know if it needed to be a curb or a curb and gutter and automagically change between the two as I grade the pavement. At this preliminary stage it would get it’s elevation from from the pavement projections. I’d also need to put in a valley gutter to direct the water away from the building. It would also automagically provide for the transition between curb and curb and gutter as well as the ability to go from one curb height to another over a distance of the length.

I’m now ready to set some grades. The surface would have the ability to show me the grades by shading. The sidewalk would have longitudinal and cross slopes to indicate areas that are out of compliance. In this case I’d add stairs to the model where it was too steep. In this case the architect has given me a general area to place them. The landscape area would also indicate steep slopes, close to steep slopes, and super flat areas by coloring. The sidewalk, valley gutter, curb and gutter, and stairs would have tools like the quick elevation editor in Civil 3D to allow me to set elevations. The sidewalk and pavement would have tools to allow me to add a grade break and either use the warped elevations to the existing model objects or project a grade way from it to adjust selected curb and gutter objects to adjust to them.

I’d also want to place the retaining walls where needed into the model. I’d expect to be able to tie it to the adjacent sidewalk and buildings either longitudinally or at the ends of them. I’d expect this retaining wall to be able to design itself parametrically based on minimum cover over the footing, footing step length based on the constructability. For a concrete wall this would be in increments of 4’ or 8’ to minimize the cutting of plywoood. For block walls it would be in increments of 16”. I’d be able to look at the wall in a profile type view and be able to adjust the footing dimensions and top of footing. This profile view would show the existing ground, the ground at the back of wall, the ground at face of wall. The ability to change the elevations would be provided. The retaining wall would use these elevations to then warp the surface around them.

The retaining wall object should also have the ability to calculate structural backfill, structural excavation, drainage material behind it, and construction tools. The construction tools would allow for the modeling of shoring, formwork, and other temporary construction methods to determine quantity of work needed to perform the work. Hundreds of millions of dollars of work are wasted coming up with these numbers.  If you want more information on the process take a look at this research done at Stanford.

All of the above objects should have the ability to determine their own thicknesses and dimensions. This information should be used to calculate the amount of cut and fill earthwork for the site for a datum surface. This should also allow the ability to extract quantities. The quantities should also be able to be gotten by designating an area, such as Phase 1 or Phase 2. The phases should also allow the ability to do a partial design stage using the finished model to create it. For instance if I pick an area requiring fill, it would then grade to it.

All of the water on my site is going to either do surface flow to the pavement or small inlets and pipes to direct water to the pavement areas. In other projects would require the ability to create swales. The swales would have a minimum and maximum depths and the surface around it would warp to the other objects around it. The swale would allow for the quick elevation edit of the flow line as well as adjusting the depth along the swale to ensure drainage into the swale at an expectable grade that is neither to flat nor too steep. It would also allow me to set a grade from another object with elevation and then slope down to the swale and tie into it’s side slopes.

This project doesn’t have ADA parking, but it would also need it’s own tool to design to make sure the maximum slopes aren’t exceeded and tie into the adjacent pavement surfaces.

The final step would be the ability to create linework that can be shared in CAD programs. Each line of the model would have the ability to be extracted or not extracted. For instance the back of the curb, flowline, and lip could be extracted from the model; skipping the top of curb and bottom curb and gutter lines. The output I’d envision would be something similar to what Plant 3D does when it creates plan sheets. The ability to choose what lines to choose if there is multiple levels associated with the work.

In closing this workflow would save time by letting us design instead of doing busy work of making sure lines come together properly to prevent crashes and provide an intelligent model.

Thursday, February 05, 2015

CadMouse Will Join the Fight

A new mouse is on the scene called CadMouse that is looking to land on your desktop. The CadMouse, developed by 3DConnexion, aims to provide an improved right hand experience. They have previously developed tools for the left hand with their 3D Mice. The most obvious improvement is the large middle mouse. It’s often used while performing CAD CadMouse_ISO_Right_Front_RGBtasks and hidden as a press with the wheel. For some users the middle button as the wheel is a bit hard to utilize. This mouse should help make the middle button easier to press.

In addition to the big middle button it comes with a QuickZoom feature where the ability to zoom is available to one’s thumb. The wheel also provides for scrolling just like a regular mouse, but with the added benefit of providing a click to click zooming experience. I’ve never really had any issues with the speed of my mice in the past, but if you have it also sports an advanced laser sensor which is being billed as way to get better precision.

In addition there is a gesture button that activates a context sensitive on-screen radial menu. Since CAD users tend to move their mice a whole lot, some estimate up to 1km per week, there are some ptfe feet on the mouse optimally shaped to provide a smooth feel across surfaces.

The 3Dconnexion CadMouse will be available at the end of February at a suggested retail price of $99. More information on the mouse may be found here. I haven’t used the mouse yet, so don’t know how good it might be.

I’m supposed to let you know I’ve gotten free product from 3DConnexion in the past, or at least that’s what I’ve heard the FTC desires.

Friday, January 30, 2015

Fields and Sheet Set Manager

Here is a short video showing how to use fields to show sheet numbers in an mtext object.

https://www.youtube.com/watch?v=U6ubQqgm8Ow

Saturday, January 24, 2015

Section Labels of Surface

Often times we need to label what type of line a section line is. In this case it is Ex. Grade and Prop. Grade.

Now the hard way to do this is to use a multileader and then move and adjust them with each design change. There is a an easier way that is a bit more dynamic. The way I do it is I create a corridor just for these two labels. For the assembly it’s a LinkWidthAndSlope for horizontally where you want the label to be placed and then a LinkSlopeToSurface to get from that point to the surface. It should look something like this.

image

The settings I use are shown here:

image

The values for the Existing surface are similar. Then all you need to do is to create a corridor, assign the code set showing the correct labels and then create polylines for the existing and proposed to control where the labels are placed so you can move them around on the section view to miss other labels. I usually end up with multiple code set styles to control how the labels are shown. Here is a drawing showing everything except for the polylines as targets and having multiple styles.

LinkWithin

Blog Widget by LinkWithin

Ad