I'm trying to determine if it's possible to take a 09 LDD Companion drawing in which the elevations for many points have been moved AND/OR rotated (to align with roadway), and not only convert these to C3D, but also have them transferred along with the move/rotate information. We're talking about a mile long stretch of roadway and the project is 6 years old (i.e. no C3D when it was originally done).
The problem is that there are a ton of ground shots that need only be shown to 0.1 precision but are shown to 0.01 precision. LDD was not able to assign an elevation precision to groups of points, only all cogo points together, which meant we had to explode certain groups of "soft shot" points once they had been inserted at the desired precision.
If there's no way to do what I'm asking, it's no big deal for this case since the higher precision can be easily rounded to the lower by the viewer (better than the other way around). But as I am the only one on C3D and have been for the past 2 and a half years, we will likely face this monster again several times over with other drafters' projects and I'd like to have a best practice in place if we need to go the other way (extracting 0.01 precision from 0.1 precision).
Solved! Go to Solution.
I don’t think you would be able to import points with labels that are moved and rotated as they showed up in LDC 2009 automatically. Once you import your project into Civil 3D the points will show up as set in the point label style used there. So you would have to manually tweak those.
In Civil 3D you can adjust precision in label styles. If you go into Label Style Composer there you can get into Text Component Editor where you can adjust your precision. Then you can apply different styles with precisions to different point groups. For instance, I would create different styles with precisions and different point groups (to filter them) set to use different styles as desired. Then when you import your points program will filter those points and display them according to the settings applied in point group.
Thanks for the reply. I expected that it wasn't possible, but with so much 3rd party add-ons out there, I thought I'd throw it out there and see if I got a bite. I set up a template with descriptor keys that I've been using for setting styles, and that's worked well thus far. I only use point groups as needed to override the desc. key settings. I've learned that putting the intelligence into the desc. keys saves time in sorting points into groups.
Thank you for the reply. Unfortunately, the point label rotations vary as the roadway curves. I'm somewhat familiar with the options for point label styles (been on C3D for 2 years+), but since you mention it (and this is off-topic), is there a way to have the point labels orient along a figure generated by point codes? I notice in a point label style setting that it can be set to "Object". Does this apply only when manually creating points along a feature line? I wouldn't expect that a line created using the points after an import would affect the style since by that time it's already been applied. We don't use point codes to generate figures, but if the point labels can be oriented along them, then that would be a good reason to start, or at least look into it!
The object is the object being labled (i.e. the point).
If you are using description keys, you can put the rotation in the description and use that parameter in the description key to rotate the label. Perhaps someone that knows lisp can create one that harvests the LDD point info and then appends the label rotation to the description for use in C3D.
Just a thought.
Perhaps someone that knows lisp can create one that harvests the LDD point info and then appends the label rotation to the description for use in C3D.
Just a thought.
I had thought about this at one time. It's a good thought, but the C3D developers decided not to expose the old AECC_POINT object in any of the APIs available. So the rotation, location, drag state, and any other LDT based property is unavailable. The only way, I can think of .this may be posible would be to have a routine which is run inside LDT to save the information to an external file which could then be read back into C3D.
You are correct Jeff. Tony gives a brief summary after trashing another user's comment.
I have attached the partial example that was posted. I don't think the link works anymore.
Thanks, Stacy. I recall that thread and do have the helper function Tony provided. With the newer versions of C3D (2012+) more and more of the label objects have been exposed in the .NET API. I haven't had a chance to look into whether the point labels could be relocated without special help from the c++ world. Regardless, it still requires using LDT to export the point info.
Edit: 2013's CogoPoint object does have LabelLocation and LabelRotation properties. This should make it fairly simple to implement changing the C3D points. Leaving the tough part being to get the LDT point data.
I found the helper files that I had apparently obtained a couple years ago but never implemented. I'm using C3D 2012 and upon trying to run this, I get:
Cannot load assembly. Error details: System.IO.FileLoadException: Could not
load file or assembly 'file:///C:\CAD Support
goPointHelperSample.dll' or one of its dependencies. Operation is not
supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\CAD Support
goPointHelperSample.dll' ---> System.NotSupportedException: An attempt was made
to load an assembly from a network location which would have caused the
assembly to be sandboxed in previous versions of the .NET Framework. This
release of the .NET Framework does not enable CAS policy by default, so this
load may be dangerous. If this load is not intended to sandbox the assembly,
please enable the loadFromRemoteSources switch. See
http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
forIntrospection, Boolean suppressSecurityChecks)
assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
forIntrospection, Boolean suppressSecurityChecks)
Evidence securityEvidence, Byte hashValue, AssemblyHashAlgorithm
hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
at System.Reflection.Assembly.LoadFrom(String assemblyFile)
I first tried to run it from a network location, but even when running from local drive, I get the same message. Is C3D 2012 incompatible with this? Also, does this require LDD and C3D to be running at the same time? From the readme file, it's hard to tell. At face value, the readme appears to simply describe choosing a COGO point in C3D and choosing an alternate location for the label, when the goal of the thread was to migrate vector and rotation properties from LDD to C3D. What am I missing (I hope Tony T. doesn't read that and drop the hammer on ME too!) =D
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.