Monday, May 30, 2011

Excel Macro–Delete All Images and Shapes

If you run the Corridor Stakeout Report and save the results to Excel you quickly find out the images overlap the corridor information. I recently was exporting 16 miles of data at every 100’ sections. Needless to say I wasn’t about to delete all of the images manually. What I did was create a macro to quickly delete all of them.

Sub DeleteImages()
End Sub

Friday, May 27, 2011

Civil 3D Reminders Pack 2011 Beta–Link Profile View Label to Profile

Today I’m announcing the release of the Civil 3D Reminders Pack 2011 Beta. All of the commands are in there, but I’ve only tested out the Link Profile View Label to Profile command. The video below goes over how the command is run and what it does. As I find more time I’ll work on testing and releasing future commands.

If you are interested in purchasing the program please contact me. The price for the program is $25 per seat and will include all updates for one year. As features are added the price for new users will be increased.

Potential future features include dynamic sewer lateral linking, profile view label linked to a crossing pipe, Setup program and maintaining the code for Civil 3D 2010, 2011 and 2012.

This product is in the beta stages and may not work at all times care should be taken in it’s use and checked to make sure the profile view labels have properly updated before submission to an owner or agency.

If you are interested in purchasing a the pack send me an email.

Reactive Profile Link

Brainstorming ideas for a program to update a profile based on changes in the alignment. Probably could use a program link Mindjet to do it, but don’t have the dough to spend on a software program right now.

  1. Assign profile to adjust when alignment changes.
    • Use the object storage thingy to store the information in the alignment for the profile(s) to update.
    • Also include if the alignment should be checked.
  2. Monitor for changes in an alignment (See ADN’s AutoCAD .NET class for code)
  3. When alignment modified, let user modify the alignment, but create a copy of the original alignment and use later in the code.
  4. Upon ending of the command, check to see if the alignment has been changed.
    • May use a simple check, such as seeing if the length has changed.
    • Compare the alignment entities to see which ones where changed.
  5. Find the last entity modified, and then the first PVI after the end station of entity.
    • Add or subtract the alignment length change to the PVIs after it.
  6. Think about adding a component of the code to link the PVI’s to a particular location in plan view.
  7. Maybe also check to see if the station start point was changed in the Alignment Properties, then adjust the PVI’s based on that change.
  8. Provide a way to turn off the feature.
  9. Maybe provide a check to see if the profile needs to be updated in another drawing, ie the profile and alignment are in different files. This may not be practical though since the alignment and profile tend to want to be in the same file for intersection design.
  10. Provide user notification of changes or feedback for the clueless users?
  11. Maybe provide a notification if the alignment has profiles to add a link.
  12. Make sure to ignore existing ground profiles from the user selection (actually just the ones that aren’t dynamically linked to a surface), don’t want to make the same boneheaded move of the Autodesk programmer's in ignoring them in the OTB reports.
  13. Provide a way to have the user undo the change, let the user have the profile move like the move didn’t happen.
    • Maybe provide transient graphic view of what the profile would look like without the adjustment. Not sure if the AutoCAD native objects would be easy to get to use for the transient graphics, but the override API might come in handy.
  14. Maybe write it in c# for inclusion in a third party program.
    • Benefits of being able to recycle already developed code.
    • Disadvantage no potential income stream from it.
  • Possibly delete remove PVIs from the profile, difficulty in predicting which PVI should be removed.
  • Need to check to see if vertical curves will be impacted from the change, would need to figure out what would happen to them.
    • Adjust to fit
    • Delete offending PVI in front of it.
  • Need to find time/make priority to do, probably need funding to do so. Pre-orders?
  • Error catching.
    • What to do if it doesn’t work. Go back to original state or where the profile failed.
    • Make sure the entity order makes since, especially if the user deleted a segment. If a segment is deleted can the code go through the entities that aren’t connected to locate the location, or store information until the user goes back and reconnects the entities.
    • How to track if the entity constraint changes. How to compare the changed objects. I.e. going from a free to fixed, and seeing if it truly has changed? Would it give a false positive if the multiple changes where made?

Monday, May 16, 2011

Corridor Targets

One of the cool things that I think is possible with custom subassemblies is the ability to create your own TargetNamename for the targets. Instead of the generic “Target Alignment” you can make ones that are easier to find and interpret on the left side of the target list. I'snt “Min Toe Offset” or “ROW Offset” easier to understand? You could even use the ones that ship out of the box and go in and change the target names and recompile them.

The names may be changed in the GetLogicalNamesImplement portion of the code. The default is a number, but a string value may be used instead to describe what the target is for.


Wednesday, May 11, 2011

Corridor Surface Overhang Correction

The magical number for overhang correction when building a corridor appears to be 0.002, at least for Civil 3D 2009. So if you are having trouble getting a corridor surface to build correctly with overhang correction make sure the vertical links are approx. 0.002 different in the correct direction. The correct direction depends on if the subassembly is on the right or left side, but typically it's the distance away from the centerline.


Blog Widget by LinkWithin