Nate Holt's Blog

About Nate Holt

[As told by Scott Reese, AutoCAD Product Line Manager – Autodesk, Inc.] Nate was the lead architect for AutoCAD Electrical and has an incredibly interesting background in ECAD that he’s far too modest to tell you about so I will.

Nate spent 23 years in industry, first as a plant electrical engineer and then as a controls engineer designing and installing chemical batching systems. Along the way, Nate had the vision to customize his employer’s five ComputerVision seats to automate many of the mundane tasks involved in electrical design (this was back in the days when a seat of CAD started at $100K!). This started him thinking about the potential of affordable ECAD.

After two-plus decades working for someone else, Nate turned entrepreneurial to develop and launch his own AutoCAD-based ECAD package. Since he had just spent the previous twenty-plus years of his life running conduit, landing wires, programming PLC’s, starting up machines, and living in front of a computer monitor, he (and his one employee, Pat Murnen) really understood the needs of his target market, the controls engineer.

After five years of rapid growth in the market and really putting the crunch on the competitive ECAD products, Nate’s company was acquired by VIA Development Corporation. This is where I came to know Nate – when I was VP of VIA.

The rest is history. Autodesk acquired the product from VIA Development around 2003 and launched the AutoCAD Electrical. – Scott Reese, April 2006.

Other folks weigh in here.

Nate adds… after five-plus years with Autodesk deeply involved with continued development of the product, in mid-2009 I more or less “retired” from Autodesk and am now resuming my AutoCAD Electrical consulting and custom applications development business (N8 Solutions LLC). Love doing this stuff!

Update 11-March-2011

Update 03-February-2015 – after 3+  years away doing some other things, I came back [as N8 Consultants LLC]. Love doing this stuff!

Update 20-January-2016 – after a year of fun as N8 Consultants LLC, was unexpectedly invited to rejoin Autodesk. Accepted!

Update 01-October-2016 – after short time at Autodesk, they decided to spin us off (the Inventor / AcadE-based substation design group) to Spatial Business Systems. Glad to be here pushing AcadE to do awesome, new things…


  1. Is there a way to make the state for a selector switch to automatically change when the toggle state command is used? Thanks for your time and help.

    Comment by Christopher Roland — September 9, 2009 @ 4:57 pm

    • Hi Christopher,
      I think the only way to do this would be to see if an AutoLISP or VBA “wrapper” program could be put around the “toggle NO/NC” command. This custom program would prompt user to pick the component, then it would go in and read the current state of the “STATE” attribute (if present on the component). Then it would call the normal “toggle NO/NC” command, then go back in and look at the new swapped entity, and push a modified STATE attribute value out to it. Wouldn’t be appropriate for everything, but it might be useful in some cases. See if you can code something up and get it working…

      Comment by nateholt — September 10, 2009 @ 10:56 am

  2. Hi,
    On the Icon menu of Autocad 2010 is there a schematic symbol for Contactors. I checcked through and didnt find any.
    Please can you help with this
    Many thanks

    Comment by Jeff — September 26, 2009 @ 4:33 am

  3. Hi Nate, The user could use a dynamic block for the changing of states to toggle the switch. I do this for Hand-Off-Auto switches etc

    Comment by Miles Nicholson — January 15, 2010 @ 12:47 pm

    • Do you and example dynamic block that I could study to learn how to create one??

      Comment by Christopher Roland — January 26, 2010 @ 5:45 pm

    • Miles, do you have an example of a dynamic block that you have created so I can study it to see how a dynamic block is created??

      Comment by Christopher Roland — January 26, 2010 @ 5:48 pm

  4. Miles, do you have a block that I can study so I can learn now to create a dynamic block. I tried looking up how it is done but I am having trouble finding the info.

    Comment by Christopher Roland — January 26, 2010 @ 5:50 pm

  5. Hi guys, I’m in the process of customising ACADE, and a year down the line, so far so good. I was wondering if it is possible to modify the Update dialog code to remove more than just the ‘.dwg’ from the filename (i.e. when assigning the filename to the filename attribute in the titleblock). We currently end our filenames with the revision number, so that they can be instantly recognised (by laypersons)without opening them (e.g. …..-rev00.dwg). ACADE currently removes the .dwg only, but I’d like to remove the revision data as well when it gets transferred to the titleblock attribute. Do you think it possible?

    Comment by Leslie Lees — February 18, 2010 @ 5:15 pm

  6. Does anyone know how to make a component’s database entry available for use in multiple different assemblies. I’d like to be able to have a part be referenced by different asseblies so that my BOM displays correctly, but there is only one field for an assembly code in the database and I don’t want duplicate data entries in the database. I also don’t want to have to use the multiple catalog each and everytime I want to place an assembly. Suggestions or ideas would be very much appreciated.

    Comment by Heath White — March 24, 2010 @ 1:58 pm

  7. Apologies, I havent been on Nate’s website for sometime. Yes I have an example which you can download from the following link:

    the link is unfortunately only available for seven days but if you access this after the date, just post a note and I can always update again.


    Comment by Miles Nicholson — June 8, 2010 @ 1:26 pm

  8. The attached cable symbol is dynamic. It has a visibility triangle when the block is inserted into a drawing that can change the numbers of cores shown. It also has two Stretch arrows that allow the block to be stretched to the required distance.

    Nate, can you upload this example to your web site?

    Comment by Miles Nicholson — July 8, 2010 @ 4:33 pm

  9. I am having a problem reinstalling AutoCAD Electrical 2010. During the installation of AutoCADe on a client system I received a Microsoft .NET 3.5 failed to install error. After about 1 and 1/2 hours I realized that the AutoCADe installation was just looping and kept installing the same information over and over again. I tried canceling the installation, but couldn’t break the install out of its loop. Alas, the only choice I had was to kill the install. Once the install was killed I proceeded to go and manually install .NET 3.5 from Microsoft. I then placed the AutoCADe disk back into the drive and proceeded to try and reinstall the software. Of course AutoCADe would not let me install the software, as my computer thought it was already installed. AutoCADe 2010 did not show up in my “Add Remove” programs area, so I was stuck. I used the AutoDesk forum, tried all that was suggested. I have done all of the following:

    Searched the hard drive (including hidden files and folders) and removed everything I could find that is related to the installation.

    Installed Windows Installer CleanUp Utility from the a 3rd party site and ran the utility to look for and remove AutoCADe

    Downloaded and searched the registry from every instance of AutoCADe and AutoDesk.

    All of these techniques have proven to be unsuccessful.

    Do you have any suggestions? There must be a file or registry entry that I am missing, probably not with the word “AutoDesk” or “AutoCAD” in the name.

    Any help would be greatly appreciated.

    Comment by Craig Payeur — December 6, 2010 @ 10:19 am

  10. Hi Nate, I was referred to you by Autodesk support. We have a customer who has a schematic drawing with both schematic symbols and pneumatic symbols. In Electrical 2011, is it possible to get a single BOM report that contains both schematic symbols and pneumatic symbols? Thanks for your help.

    Comment by Gary Bergero — December 9, 2010 @ 4:13 pm

    • Hi Gary,
      Looks like you have a couple options… 1) run report twice and combine, 2) run twice and write to Excel files, then append them, 3) temporarily adjust the WDTYPE attribute for all inserted pneumatic symbols with part number info to a blank value. This will make everything appear to be schematic symbols for BOM report. 4) Modify all pneumatic symbols to carry WDTYPE attribute with blank value. This will always make pneumatic symbols look like schem symbols for BOM. Downside is that AcadE will object to a pneumatic and schematic parent having the same tag-ID value. 5) write your own query of the COMP table in the project’s scratch database and then format the data into a BOM report.
      Sorry don’t have a cleaner solution…

      Comment by nateholt — December 9, 2010 @ 5:04 pm

      • Actually there’s an indirect way to do it but you have to use the BOM “API” call something like this:

        (c:wd_bomschr (list 1 1 “” 3 nil “XLS” 1 “c:/temp/nate.xls” nil))

        But before you invoke the above, you need to set a Lisp global to carry a list of the WDTYPE values you want to extract into the BOM report. If you want schematic (WDTYPE =””) and pneumatic (WDTYPE=”PN”), then type this at the command prompt before invoking the BOM API call above:

        (setq GBL_wd_typefilter “;PN”) [Enter]

        If you want to extract pneumatic, schematic, and hydraulic, then you’d type (setq GBL_wd_typefilter “PN;;HY”) [Enter] before launching the API call version of the report generator.

        This technique does not work with the dialog-driven selection of the BOM report.

        Comment by nateholt — December 9, 2010 @ 9:41 pm

  11. How is it that there is still no symbol for VFDs built-in, or what am I missing? I would certainly think that this should be listed under ‘Motor Control’. We started out by using just a connector, and has gotten us by, and propogated by copying from one drawing to another.

    Your post on ‘Extending AutoCAD Electrical to 4-pole Breaker/switch Dynamic Inserts (and beyond)’ prompted me to actually add the Symbol I recently created to the component list for a VFD with built-in Fused Disconnect, but I ran into a number of issues that took a whole lot more time to work through than what I really figured it would take, and in the end, I ‘will’ certainly get it to work to trim the wires correctly, and list 3 separate fuses linked together, but I’m still just surprised that this is not built in yet. Any comments?

    Comment by Todd Puchalla — February 11, 2011 @ 3:14 pm

  12. This issue would need to be taken up directly with Autodesk. My opinion (FWIW) is that Autodesk faces a roadblock… there’s not one variable speed drive “standard symbol” that would likely satisfy all mfg/series VSD drives and meet all user expectations and drafting practices and support all sorts of the options that can hang/connect to a VSD.

    Maybe a possible solution is to support VSD inserts using something like “Circuit Builder” that can gen a circuit from a base template and add in various options to various connections on the base symbol. Or maybe go with something like the INSERT PLC command that dynamically builds a PLC module from stuff pulled from a database file (ace_plc.mdb).

    For now, probably stuck with creating your own circuits and then popping them in as needed using INSERT CIRCUIT or picks from buttons you add to the Icon Menu.

    Comment by Nate Holt — February 11, 2011 @ 3:40 pm

  13. I am using AutoCAD Electrical 2010 and I am trying to auto populate descriptions on a PLC module based on the device that is wired to it. I want the terminal description to match the description of the device that is wired to it. I am able to do this successfully if the device and the module are on the same sheet by clicking on the “wired devices” button when I edit the module. This does not work if the device is located on a different sheet. I can auto populate the descriptions from a spreadsheet, however if I change the wiring of the module I have to go back to the spreadsheet and remebmer what all I changed and manually update and then recreate the PLC. Is there a way to get around this? Any help or insight would be greatly appreciated.


    Comment by Greg Rich — March 3, 2011 @ 4:57 pm

    • I assume that you have “source/destination” arrow pairs that tie a PLC I/O point on one drawing to some device on a different drawing. I suspect that you’re going to need to write a little AutoLISP or VB utility to automate what you want to do here. It’s a bit complex but can be fun. It will include doing some “queries” on the “scratch database” file in order to follow a wire connection jumping from one drawing to another. If you have a copy of Microsoft Access, open up the project scratch database file and take a look at tables such as WDATA. You might be able to figure out how to grab the data you need. I believe there is a blog posting that discusses the WDATA table structure. This might be helpful to you. Good luck, and have fun! – Nate.

      Comment by nateholt — March 3, 2011 @ 6:37 pm

  14. Hello nate,

    I wonder if you still have the tutorial “programmatically adding active dwg to active project autocad”. I can’t find it on your blog.
    It’ll help me a lot for a project with AutoCad using lisp.

    Thanks for all,

    Comment by Raphael — June 19, 2011 @ 10:55 am

  15. Mr. Holt,

    Thank you for turning on the light bulb in me and my partner’s head where I work. Through Autolisp, Scipting and other “tricks”, we have reduced project times down from 2 to 3 weeks to 5 to 6 hours. we are constantly manipulating ACAD to meet our needs, and conform to our standards. I have found an issue you may be able to help me with. I cannot get the .bmp’s to show up in the fan in/out source window. The bmp’s are in our system where CAD says they should be and I also put them in a few other locations in case we moved our reference in the WD.env file. I am out of ideas as to why they do not show up when selecting the fan source/destination. Any help would be appreciated. Also, would you happen to have an autolisp that will run a titleblock update on the active drawing? We are cycling through a project with a script and need to update the titleblock as we go through each drawing. We can run it project wide after everything is done, but sometimes people forget. Thanks for any help you can give.

    Comment by Mickey — February 12, 2015 @ 3:46 pm

    • Hi Mickey, I have no clue why the bmp images wouldn’t display in the dialog. It’s just a problem with the fan in/out ones, right?
      For the title block update, if it is a script file that is running to do the title block update project-wide, you might see if you can examine the script file that it might be creating. There should be a command in there that you might just launch from the command line to update the active drawing’s title block. This is just a guess, but might be worth a look…

      Comment by nateholt — February 25, 2015 @ 5:10 pm

  16. Mr Holt,
    Thanks for such a wonderful program—much easier than trying to use normal AutoCAD. I discovered your blog back in 2010 when I first started dabbling in ACADe —it, along with the webcasts Autodesk did at the time were VERY helpful in getting me started. A lot of the information here is still useful, several releases later. Is there any chance that the posts you had to take down several years ago can be restored?

    Comment by Robert Creel — July 6, 2015 @ 9:27 pm

    • Hi Robert,
      A number of the early posts were hosted by Autodesk as an Autodesk-supported blog. That blog no longer exists and I suspect that those posts are gone. Very sorry. I should have kept a backup!
      If anyone kept copies of posts that now seem to be missing, please forward a copy to me and I’ll see about updating / reposting.

      Comment by nateholt — July 14, 2015 @ 8:24 pm

  17. Hi,
    I want to use TERM_CABLE from the “European-style Terminal/Cable connection charts – AutoCAD Electrical” post.
    I use AutoCAD Electrical 2016.

    When I started it this message appeared:
    Command: TERM_CABLE
    ; error: too few arguments

    I found that this line produced error:
    (setq tse_data (wd_tse_gather_data_doit T))

    and modified it first to:
    (setq tse_data (wd_tse_gather_data_doit T nil))

    and then to:
    (setq tse_data (wd_tse_gather_data_doit T T))

    Adding “T” gives better results than “nil”.

    Can you please tell me are there any modifications needed for this .lsp to work in AutoCAD Electrical 2016?

    Comment by Vladimir Panić — November 9, 2015 @ 3:15 pm

    • You can try something like this:
      (wd_tse_gather_data_doit T (list “TB1” “INST-01” “LOC-02”))

      I think the 2nd argument is supposed to be a “list” of the TAG, INST, and LOC.

      Comment by nateholt — November 9, 2015 @ 3:26 pm

      • Thank you, it works.

        Comment by Vladimir Panić — November 9, 2015 @ 3:51 pm

      • I cannot find the original posting to “correct it”. Can you tell me which posting it is? Or is it one that is no longer available? If not available, do you have an archived copy of it?
        Best regards,

        Comment by nateholt — November 9, 2015 @ 11:33 pm

      • Yes, I have it. How to sent it to you?

        Comment by Vladimir Panić — November 10, 2015 @ 6:33 am

      • Hi Vladimir,
        Can you email it? If so, please send to

        Comment by nateholt — November 18, 2015 @ 7:28 pm

      • European-style Terminal/Cable connection charts – AutoCAD Electrical
        July 17, 2007 12:49 AM by Nate Holt

        Comment by Vladimir Panić — November 11, 2015 @ 6:12 am

  18. Thank you, it works.

    Comment by Vladimir Panić — November 9, 2015 @ 3:50 pm

  19. Hey Nate,

    I was going through your SS>> PLC I/O Utility tutorial and it was fantastic, thank you. At the end you mentioned customizing the LISP program and gave some links to other tutorials. I was very interested in the customization that auto updates the Title Block as well but the link is no longer valid. I tried googling it to no avail either. I was hoping you knew of it’s existence somewhere else on the internet?


    Ryan Ramsey

    Comment by Ryan Ramsey — February 2, 2016 @ 6:02 pm

    • Checking to see if these old posts from an Autodesk-hosted site can be recovered. There are over a hundred that are missing…

      Comment by nateholt — February 3, 2016 @ 8:56 am

      • Dang! Let me know if you uncover any of them. Thanks Nate

        Comment by Ryan Ramsey — February 3, 2016 @ 2:02 pm

  20. Newbie here,

    I am trying to get a 3 phase circuit breaker “MMP” to fill out the terminals. I have put the pin list in “1,L1,T1;1,L2,T2;1,L3,T3;4A,1.13,1.14;4A,1.21,1.22” I can get the aux contacts to fill out just fine but not the MMP.
    I have also tried deleting the NO contact attribute and replaced with PINLIST_TYPE. Any help would me much appreciated


    Comment by Donald Parks — May 19, 2016 @ 8:11 am

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: