Civil 3D Symbol Exchange

Tags block, symbol, Symbol Set, spreadsheet, customization, script, scriptcall

The Framework for AutoCAD Civil 3D comes with more blocks and Civil 3D Point Styles than you ever want to shake a stick at. That’s one reason surveyors and civil engineers love Jump Kit. They get to shake their own stick at Civil 3D and make it work for them instead of the other way around. Yeah. There is no debate about that. Carry a big stick and you get…

The Liberty to Work in Civil 3D

We even provide a built-in Symbol Maintenance Spreadsheet Tool for you to employ and maintain multiple symbol sets for different clients, jurisdictions, and whatnot. Our innovative Symbol Set technology has stood the test of time and functions in real-world projects literally all over the world. Take a peek for free.

In the same vein, our infamous Legend AddOn for AutoCAD Civil 3D employs the Civil 3D Survey Db and the same spreadsheet technologies to create managed Tables of just about anything – Revisons, Notes, Details, Keynotes, etc. It is Way Cool to table-ize points. The Civil 3D Legend and Abbreviation Lists post is often visited. There is a detailed Civil 3D training video in there. Who knew?

Your Pictures Are Not My Pictures

People ask, “What do I do first?”

Fair enough. The To Begin Civil 3D Customization post covers the surprising how to get started essentials. The free Members sections offers a lot more detailed AutoCAD Civil 3D customization and implementation help including the Symbols Maintenance Tool’s on-line help. Register and read so I don’t have to repeat myself.

Maybe things are as simple as the fact that you prefer different insertion points? It happens.

People ask, “I have my replacement blocks. How do I get them into my Civil 3D templates?”

Actually redefining blocks in AutoCAD is easy.
The syntax at the –INSERT commands block prompt is
<block name>=<File drawing block name>
e.g. SMH=C:\Blocks\SMH.dwg

That is really easy for a block or two. But seems to be problematic for some. Lots of folks think you have to employ AutoLISP to redefine a whole collections of blocks. This is not true. Simple AutoCAD script files so the job just fine. Not that the AutoCAD help files make this easy to figure out.

You can employ a spreadsheet just like the Symbol Maintenance Tool that generates a script and the command line stuff to do a bunch of blocks at once. It is generally easier to insert in the new blocks at 0,0,0 (or elsewhere) with the script and then SELECT and ERASE them at the end of the script.

Here’s the pseudo code for the Excel cell formula that puts the pieces together:
A = Path to the Block in a column
C = Block Name in a column
D = File extension in a column
The “~” characters get replaced with quote characters in an ASCII text editor.
We do have to deal with space characters in block names and paths inside AutoCAD script files in the correct way.

"-INSERT"&CHAR(13)
&"~"&C2&"="&A2&C2&"."&D2&"~"
&CHAR(13)&"0,0,0"&CHAR(13)&CHAR(13)&CHAR(13)

This is a tiny edit to the standard insert cell formulas supplied in the spreadsheet tool. How to build the folder and sheet list is documented for you too. Who knew?

News You Missed

AutoCAD 2016+ has a new hardly documented command SCRIPTCALL that allows us to call .scr files (nested scripts) from inside a script.
SCRIPTCALL allows you to chunkify into separate scripts the setup, redefines, and cleanups into a series of standardized scripts.

A Reminder About the Scale of the Problem

You do need to pay attention to AutoCAD automatic scaling and the three Insert Units System variables. To repress all automatic scaling when you redefine blocks.

  • INSUNITS=0
  • INSUNITSDEFSOURCE=0
  • INSUNITSDEFTARGET=0

Did you know the last two variables are part of your User Preferences in your AutoCAD Profile?

This makes you wonder…

They say it is good to have application and/or website profiles
in the virtual world.
But it is bad to profile people in the real world.
And the people doing it in the virtual world
sell those profiles to those in the real world.

What am I missing?

Redefine Your Symbol Set Language?