It’s Friday, end of the work month, and time to clean out the photos from my phone for this month. I took this picture at Olivera Street. This appears to be an old T.P.T.&T. Co manhole cover. I think it represents “The Pacific Telephone & Telegraph Company”. It’s kind of odd to see the initials include the “The” in it.
Friday, July 29, 2011
Tuesday, July 26, 2011
I’m not quite sure why, but planners tend to come up with interesting ways to calculate the average slope of a site. It seems like using triangles would be best, but sometimes they want to use contours. Unfortunately Civil 3D doesn’t have a way to calculate the Average Slope of a surface based on contour lengths.
So to fix this deficiency I’ve created a report to perform the calculation for you. The report utilizes the formula in the above picture. The report is installed into the Toolbox, and the user executes the Average Slope Calculation. After selecting a surface the user is prompted to select a point to place an AutoCAD table. The table can then be exported to a csv file if needed in another format. The precision of the numbers is taken from the settings of the drawing.
Contour – Surface Commands Settings > Add Contour Labeling Settings > Elevation
Area – Surface Feature Settings > Area
Grade – Surface Feature Settings > Grade/Slope
Here is the report in action.
The cost for the report is $200/site or office. To purchase the report either use the button below or send me an email. Orders are usually processed within 24 hours.
Monday, July 25, 2011
Thursday, July 21, 2011
Recently my copy of Mastering AutoCAD Civil 3D 2012 came in the mail complements of Louisa Holland, one of the authors of the book. This is the fourth version of the book which started with AutoCAD Civil 3D 2008. This book, like the previous versions, covers the features in Civil 3D. This years book includes additional topics covering the new features of the product: Roundabouts, Storm and Sanitary Analysis, and the new style management features.
Now I didn’t read all 908 pages of the book, but did skim over each and every page. The personality of authors come throughout the book with some off the wall comments which I found funny and entertaining. Providing a nice break through reading the meat of the subjects. Each chapter provides step by step instructions on how to use the feature with additional tasks to master the topic fully.
I think the book would be make a great reference for someone learning how to use Civil 3D or updating their skills with new features. While it probably won’t answer all of your questions, especially if you want it to explain how to do things the way you do things, it does provide the foundation for using the program.
Now normally I’d have an in this post advertising this book through Amazon. Unfortunately Amazon and the State of California are having a bit a tiff. Instead of going after all of the Californian’s defrauding the State of California, they have decided it’s easier to attack Amazon as the bad guys. It seems like it would have been easier to ask Amazon for a list of customers (along with purchase totals) and then audit all of the taxpayers returns who are listed as customers. Lets go after the real criminals, the non-tax paying people.
Labels: Civil 3D 2012
Wednesday, July 20, 2011
So I just completed my first complete subassembly utilizing the Subassembly Composer. It was for a customer who wanted the LaneOutsideSuper combined with a shoulder. The shoulder is to provide backing for the paving since the customer primarily designs rural roads.
Due to the small amount of examples in help of how to use expressions or the suggested workflow for superelevation it took some time to figure out the best way to accomplish the task. I ended up creating variables to calculate the appropriate slope to use. I wanted to avoid using a switch or Decision because I thought it would be more difficult to follow. I also used the variables to determine what code to use on the crown side if one was to be used.
Here are some additions that I made to the Wiki page which may or not show up:
An example of an if then expression is:
Where WidthTarget is a Target Paremeter and LaneWidth is an Input Parameter. If the WidthTarget is valid the expression will return the Width Target value, if it is false it will return the input width value.
In order to use these functions SE. needs to proceed it. Here is an example:
This expression checks the the side and to see if the left lane outside superelevation has a value. If it does it returns the left lane outside superelevation if not the expression returns the LaneGrade value (Grade) converted to double.
If you are interested in purchasing this subassembly, check out my Civil 3D Apps page.
Monday, July 11, 2011
You’ve downloaded and installed the Subassembly Composer right? Well if you have you might want to make sure your existing code set styles work with the new subassemblies you are going to be creating. To do this make sure you know where to find the appropriate codes. An easier way than opening up Civil 3D is to use the appropriate .codes file.
For Windows 7 you can find the file in this location:
Once opened you will see a list of all of the codes. The codes are comma spaced showing the Index Number, Localized Code, Original Code (USA, USA!), and finally the description. If you live in the US you’ll want to use the file shown above. If you live in another country you will want to use the appropriate file type for you, for the UK you’ll want to use the C3DStockSubassemblyScripts_en-UK.codes file.
Now find the code you want to use and then copy and paste it into the Subassembly Composer. This will ensure that your existing Code Set Styles will have the opportunity to work right after you import the subassembly. Otherwise you may spend unnecessary time fixing them. No word on if using the index number will work instead of using the string value, though I suspect they would not work.
If this sounds like too much trouble and you want to offload the work to someone, I’d be happy to provide a quote for the custom subassembly you’d like created.
If you are developing an application for use on both Civil 3D 64 bit and 32 bit environment you may come across an issue with ObjectId object. If you compile it on a 32 bit machine the code won’t work on a 64 bit machine. This is due to the fact that the ObjectId object will have the wrong IntPtr.
I recently came across an easy fix for this using p/Invoke. Now I’m not an expert on using p/Invoke, but the way I understand it is that you can call an object without knowing what that object is. In this case we know what it is, we are just able to get the correct IntPtr type at run time instead of when we create the code. Below is the code (c#) Jeff Mishler posted in the discussion group.
If you want more information on how p/Invoke works I’d suggest doing a Google search on it.
Wednesday, July 06, 2011
When creating a subassembly using Subassembly Composer there is no need to specify which version of Civil 3D (2011 or 2012) that you are going to use it on. The completed pkt file can be used in either program. A nice feature if you are using 2011 and planning on moving to 2012.
Tuesday, July 05, 2011
The Subassembly Composer will be available shortly for Civil 3D 2011 and 2012. (Sometime this week).
Available for Subscription users only at this time, though with past features it probably will be added to the product in future years (my opinion, not Autodesk statement).
If the user does not have SA Composer installed, then they will need to install the Support Pack. The Support Pack will not be able to be installed along side the Subassembly Composer. In the future it will be incorporated into the product so the Support Pack won’t need to be used.
Can use decision points to control how the subassembly is drawn.
It looks like it’s a good tool to expand the types of subassemblies. It provides a wide range of decision points, switches and the like. It even provides a way to create on subassembly to model all of the roadway in one.
If you feel overwhelmed by it, but still want to use it. Feel free to contact me for a quote to create a custom subassembly for you.