Monday, 16 May 2011

Convert mtext or text to a Civil3d General Note

Everyone knows that the in civil engineering you typically have drawings orientated so that north is up the page but sites come in every imaginable shape and orientation. This leads every now and again for the need to orientate a site off vertical to fit on a drawing sheet to better utilise the sheet.
In this situation annotative text is great as if you look into the style settings there is a little tick box to set the text to match the orientation of the layout. Therefore the text remains horizontal when you have rotated the site.
However with Multileader Style’s there is a problem the little tick box is missing and has been since 2008 when annotative text was introduced and is still missing in 2012. Therefore you have to manually rotate any multileaders that you have used. Also if you end up with two sheets looking at the same text at different orientations you end up needing two versions of the same text which doubles the problem.paa1qxjl
You can however use Civil3d General Notes instead as they are similar to multileaders/qleaders but will rotate to the layout view automatically.

This is great but Civil3d General Notes have a few issues themselves.
1. They are build to have the standard text built into the style itself and not be uniquely written everytime you want to annotate something
2. As such when you copy them from one drawing to another any override text is deleted and reset to the default style text.
3. If you change the note style the override text is reset to the default note style text.
To address this issue and to have the ability to copy text that you already have written in text,mtext or other general notes already. I have put together this piece of code
for 2011.
Here is a demo of what it does you can download the code and finished .dll here. Just type netload at the commandline browse to the .dll and type T2N short for “Text to Note” to start the command.

Unable to display content. Adobe Flash is required.


  1. Another solution I have found with rotating multi-leaders is simply picking one, right clicking and doing a 'selectsimilar' so all multi-leaders are chosen. Then go into the properties pane, and it gives you the ability to type in a rotation. This will allow you to type in any rotation you'd like, but only rotates the text and not the leader. But you're idea with General Notes is not a bad one either, I've just found my drawings tend to run a bit slower and editing text is not as easy either having to right click and 'edit text' everytime.

  2. Steven

    Good suggestion. Re quick editing Civil3d objects you can set up double click actions in your cui so you can edit most civil3d objects with a double click. Rather then right click and edit. Should be default action but you use to be able to download a civil.cui upgrade of the net can not find now so will post on my site.


  3. I've got a routine similar to the Express Tool TORIENT that allows me to align the MLEADER text to a line (or any two picked points). But as you point out, you still have to go back and fix the arrowhead side of the MLEADER. Good article.

  4. Great! That's a good idea. I never thought of doing that. Thanks. I'll look for it.

  5. I'm curious about the custom toolbars at the bottom of your screen on the video..

  6. Wesley

    Here is a link to the description I have written in our cad manual of what the various buttons do.

  7. This won't load properly for me. It says:
    Cannot load assembly. Error details: System.IO.FileNotFoundException: Could not
    load file or assembly 'GeneralNote, Version=, Culture=neutral,
    PublicKeyToken=null' or one of its dependencies. The system cannot find the
    file specified.
    File name: 'GeneralNote, Version=, Culture=neutral, PublicKeyToken=null'
    ---> System.IO.FileNotFoundException: The system cannot find the file
    specified. (Exception from HRESULT: 0x80070002)
    at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String
    codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint,
    StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean
    forIntrospection, Boolean suppressSecurityChecks)
    at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName
    assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean
    forIntrospection, Boolean suppressSecurityChecks)
    at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile,
    Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm
    hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks,
    StackCrawlMark& stackMark)
    at System.Reflection.Assembly.LoadFrom(String assemblyFile)
    at Autodesk.AutoCAD.Runtime.ExtensionLoader.Load(String fileName)
    at loadmgd()

    I am trying to load it in Civil 3D 2012 SP2.


Related Posts Plugin for WordPress, Blogger...