About the Author

May 2014

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

Autodesk Blogs

« Implementing a DocumentManager | Main | Developing Applications for AutoCAD Civil 3D 2012 »



Feed You can follow this conversation by subscribing to the comment feed for this post.


Question concerning .NET custom subassemblies, the custom subassemblies we wrote and compiled for C3D 2011 are working fine in 2012, any reason we would need to compile them for 2012?

Mike Robertson
Fl. Dept. of Transportation

Isaac Rodriguez

There hasn't been any changes in the API's related to subassemblies, so I do not forsee any problems.

Usually, you want to look at any new functionality that may have become available in a newer version that you want to leverage, or any bug fixes that might have been included. I believe there are no changes in any of this areas, so you might be all set.

Having say that, you want to insure everything is really working as expected. Keep in mind that the .NET code is actually accessing the native code in the DBX side on the application, and there might be some binary incompatibilities that my pop-up. Usually, these incompatibilities appear right-away, meaning you find crashes or weird behavior as soon as you try to use your code. If this has not appear yet, you may be all set, but you want to make sure you test all possible scenarios with your subassemblies before you ship them to your customers.

James Maeding

Hi Issac,
Something that constantly puzzles me is how the data structure of an alignment and profile is fairly rich (allows vertical curves, and profile independent from what horiz align segments are doing), while the feature line data is junky (no VC's, only profile points at line/arc start/ends). yet the editing interface of feature lines is relatively rich (editing in plan view) and alignment editing is junky (grid only and in profile view). Most people i know need to see the profile points annotated in plan view and the ability to input or edit points by picks in plan. Your library could do some things to help with this. A plan view profile editing interface might be a good example project to get interest in your code.

Isaac Rodriguez

Hi James,

Thanks for your suggestion. Unfortunately, there are limitations on what the API can do because of the functionality the feature exposes to the API.

The kind of editing that you would like to see needs to be supported by the underlying feature for us to expose it in the API, but I will talk to the Alignments and Profiles team and suggest your feedback as a feature.

James Maeding

The big need I see with surfaces is a weeding mechanism. Not point weeding, like currently available, but something that detects ridges and valleys, and creates breaklines (in memory I guess) then starts to remove points between the breaklines, as well as create fewer points along the breaklines. IMO, surfaces will be crippled for a long time until someone does this, as the mechanisms for creating them cannot distinguish between flatter areas and ridged/curving areas so you have to do it after. Resampling with points like a DEM is not the answer, it too is unaware of what is important.

Isaac Rodriguez

Hi James,

Sounds like an interesting proposal. I'm writing it down, and we'll see what we can do about it.


I thought about my post, and have always had the opinion that it was not fair to ask someone to program something I could not explain with words. I was thinking, "how do you decide what is a valley or ridge", as everything essentially is except exactly planar tirangles. I think the answer would involve cutting thin sections, and looking at the profile for peaks and valleys. That would yield points of interest along the section. They would be seeds to start making breaklines along the triangles that formed the breakpoint. If you did that in a grid pattern, you would only maybe miss very small areas. Once you had breaklines, sample points on the surface grid style, to make the rest of the surface info. Then weed the breaklines and points as desired to simplify the surface. Not saying this is easy, but your programmers might be interested in this.

The comments to this entry are closed.