-
Coinciding with the acquisition of VIA Development, Nate joined Autodesk in March of 2003 after a decade stint as an entrepreneur following a two-decade stint as a controls engineer and software applications developer at Owens-Corning. Nate is now the lead product architect for AutoCAD Electrical. He loves this stuff.
-
Why the heck is Windows Media Photo tied to AutoCAD Electrical ?!
March 23, 2007 08:48 PMby Nate HoltAutodesk's Mike Spitzer resolved this mystery. It seems that recently some users started seeing AutoCAD Electrical project files related to something called "Windows Media Photo". Mike did some digging and found that on or around May 24th of last year, Microsoft released a new file format for storing photos that they hope will compete with JPEG. The file extension was originally (unfortunately) the same as for AutoCAD Electrical's 12-year-old ".wdp" project filename extension. Mike reports that it appears Microsoft has since changed it to ".hdp", but of course they will support the old naming.
So, how to deal with this nuisance? Three options:
1) Just ignore it.
This is the easiest approach.
2) Work-around it by redirecting this ".wdp" extension back to something like Notepad.
Here's how:
a) Open Windows Explorer
b) Browse to a folder that contains an AutoCAD Electrical project ".wdp" file
c) Right-click on the file and choose "Open With"
d) Select the "Choose Program..." option

e) Choose "Notepad" as the application (browse to it if it does not not appear as an option)
f) Mark the "Always use the selected program to open this kind of file" toggle - otherwise your effort is wasted.
3) REGEDIT - not for faint-hearted.
Mike suggests that you don't attempt this method unless you're familiar with editing the registry and accept the risks of doing so.
a) REGEDIT.exe from the RUN dialog
b) Go into the registry under HKEY_CLASSES_ROOT
c) Find the .wdp entry. Set the (Default) value for this to AceProjectDefinition
d) Reboot your machine. Hopefully your association will now be back to "normal".
UPDATE: you're right, the png format looks crisper. Thanks for the tip! - Nate.
-
Smart Title Block Swapping with AutoCAD Electrical
March 22, 2007 02:57 PMby Nate HoltAutoCAD Electrical has a frequently used utility to do block swapping. It has many uses when dealing with schematic symbols.
For example, you need to replace dozens of red standard pilot light schematic symbols with red press-to-test pilot light symbols. Just run AutoCAD Electrical's Block Swap utility, make the appropriate selections from the dialog, and in a few moments, all instances across your multi-drawing project set are updated with the new symbol.
This tool is tuned to work with schematic symbols and the attribute names expected to be found on these symbols. But users are finding other uses for this tool, for example, swapping out entire title block/drawing borders.

It can be used to do this but may result in some unexpected results. When the Block Swap utility runs into attribute names that it is not expecting to find (i.e. attributes not commonly found on AutoCAD Electrical's schematic symbols), it may move these attributes to a "MISC" miscellaneous layer during the swap.
Here's a way to recover from this - to restore the title block attributes to some layer other than MISC. You can post-process your swapped title block with this utility. You enter the "From" layer name (ex: "MISC") and the "Move to" layer name (ex: "0") and pick on the title block. In a few moments, all the attributes found on the MISC layer are moved to layer "0".
How to Use
1. APPLOAD the attached utility
2. Type ATTR_LAY_CHANGE [Enter] at command line.
3. Select the "Existing" layer name and the "Move to" layer name.
4. Select the block or blocks to process.
How does this thing work?
Here is the key part of the attached utility. You're prompted to select the swapped blocks to post-process. Then the program cycles through each block you pick, finds attributes on the block, and checks the current layer assignment. If the attribute's layer name matches the "old" name you selected, then it flips that attribute to your "new" layer name.

-
Component tagging by "Pick Order" in AutoCAD Electrical
March 16, 2007 02:12 PMby Nate HoltSometime you might want to quickly rough out a schematic design and fill in the details later. Popping in relays, switches, and such... you just want the basic symbol to pop in to the wire, untagged for now, and you don't want to have the normal "Edit component" dialog pop up to slow you down.
Easy to do in AutoCAD Electrical. Just toggle on the two items shown in the bottom left-hand corner of the Insert Component icon menu dialog (the AutoCAD Electrical 2008 version is shown below).

In a few moments, you lay out a quick concept schematic with no "details" dialog slow-down.

Later on - Making the tag-ID Assignments
Now, later on, you want to go back in and assign unique tag-ID's to the switches and relays. If you let AutoCAD Electrical do it in its automatic Re-tag Component mode, it will sort them and assign in order left-to-right / top-to-bottom. But you want to assign them in your own "pick order".
The current work-around is to manually edit each component and type in the new tag-ID. But wouldn't it be cool to just pick devices "in order" and have the next available tag-ID pop in automatically?!
The solution
We can do that with a very simple AutoLISP utility shown here. It makes one call into the AutoCAD Electrical API. Here's the utility:

Running it
Now, we APPLOAD it and type RETAGPICK [Enter] at the command line. Then we just "pick, pick, pick..." and in pop the next available tag-ID's in order!

-
Terminal Plan report - controlling the "field" wiring side in AutoCAD Electrical
March 14, 2007 08:57 PMby Nate HoltThis question came up in the last 24 hours. A user wanted quicker set-up / control over terminal "field" side reporting. AutoCAD Electrical provides a means to mark individual terminal wire connections as "internal" or "external" connection. Then, when a terminal plan report is displayed, there is an option to flip the report to show external-marked connections on one side of the report or the other (toggle and radio button selection shown below).

Marking Internal / External Connections
The user wanted to have this "external" marking controlled by wire layer name. Great idea! If he connected a "field" wire to a terminal, he wanted that wire connection on the terminal to be automatically marked as "external". This would save time in setting up the schematics to give the desired report output.
In the small sample below, the field wiring is its own wire layer, shown red and dashed. It ties the four pilot lights (assumed to be field mounted) to the three terminals, terminal strip "X" terminals 11 through 13.

Without any internal/external marking of the terminal connections, the terminal plan report pretty much comes in randomly. It might look like this:

But we'd like to have all of the pilot lights, tied with the red "field" wiring, to be shown on the right-hand side of the report. In other words, the red-marked entry in the report above needs to be flipped.
The existing tool to do this is on the "Spool of Wire" toolbar fly-out, all the way to the bottom. There is this sub-fly-out with the "Mark insert/external" tools:

So, how to do this the new, easy way?
But we want to control this by the connected wire's layer. It will be much cooler. So, we throw together a little AutoLISP utility and reference a handful of the AutoCAD Electrical API calls to make this thing pretty easy to do. We find the terminals, look at the connected wires, determine wire layer, and mark the terminal wire connection accordingly.
AutoLISP utility to do the job
Here's a breakdown of the program:
Part 1

Here at the beginning, the utility has a line that defines what layer or layers are going to be processed as "field" wiring. Here we've "wildcarded" any layer that contains the substring "FIELD" or "CUSTOMER". So, wire layer RED-FIELD-14AWG would be a valid "field" layer that we'll act upon.
We also prompt the user to select what terminals to process. This is done with the "ssget" call. But we restricted the selection set operation to only accept block inserts and block inserts with names that match the AutoCAD Electrical naming convention for terminal symbols. This speeds things up just a bit.
Part 2

The next part of the utility, shown above, is where we start to cycle through the terminals in the selection set, one at a time. For each terminal entity name we first get the terminal name and number (attributes TAGSTRIP and TERM01 or WIRENO). Then we make an AutoCAD Electrical API call to get all wires that connect to each wire connection attribute on the terminal symbol being processed. This is the "wd_get_sym_pntlst" call. It returns a list of wire connection data lists. Each wire connection data list includes a sublist of connected wire entity names.
We cycle through this list of connected wire entity names (in variable "wirelst") and check each one's layer name for a wild-card match on the "field" layer names. On a match we set "hit" to "true".
Part 3

Now, above, if we found a match on the "field" wire layer, we go ahead and prepare to mark the wire connection point's X?TERMxx attribute with an "E" for "external" (if it's not already marked with an "E").
Part 4

... and here we actually write out the new attribute value (if required) and we format a message to output to the command window.
Part 5 - exiting

... and loop back around until finished with all selected terminals, nil out the selection set variable, and exit the program. That's it.
Let's try it
APPLOAD the utility (download a full copy here), and type this at the command line: MARKTERM_EXTERNAL [Enter] as shown below. Window the terminals and in a moment, we're done.

Let's test our results
We re-run the Terminal Plan report, flip the "E" side to the right, and here it is:

Note: one blank line is in there. Not sure where this came from. Will have to investigate... but the idea seems to work!
-
Solar eclipse - but not from anywhere around here
March 13, 2007 10:40 PMby Nate HoltWow, this is pretty impressive.

A solar eclipse when viewed from the earth is far different from this. Standing on earth and looking up, the apparent size of the moon and the apparent size of the Sun are almost exactly the same. But move the camera back, way back, so that the moon is five times farther way from what we're used to seeing (i.e. a camera on a spacecraft orbiting the sun)... then this is what a solar eclipse looks like.
Short article is here.
Pretty cool.
-
What the heck is AutoCAD Electrical?
March 12, 2007 12:33 AMby Nate HoltHere's a link to my friend Randy Brunette's "Meet AutoCAD Electrical" article posted on the Autodesk User Group (AUGI) site. Among other things, Randy is a race-car driver and a frequent presenter at Autodesk University.
http://www.augi.com/publications/hotnews.asp?id=1478
-
Auto-mapping "Power" and "Control" contact pin assignments in AutoCAD Electrical
March 8, 2007 09:58 PMby Nate HoltHere's the issue. AutoCAD Electrical's PINLIST contact pin assignments work great when you're dealing with clean categories of N.O., N.C. and Form-C contacts. But when you might have two types of normally open N.O. contacts on the same parent device, then there is some ambiguity when AutoCAD Electrical auto-assigns pin pairs.

Above is an example of a motor starter relay coil "-K14" with a triple set of "power contacts" on the left and a normal control contact on the right. All contacts are normally open contacts but clearly there is a difference in which ones should be used where in the schematics.
When all the contacts in a group are the same, like a control relay, then it's no problem. Let AutoCAD Electrical assign the next available N.O. or N.C. or Form-C contact pairing and all is fine.
But, when there are multiple flavors of N.O. contacts like for this motor starter contactor, then the auto-assignment may not give the expected results.
Here are three ways to deal with this situation (where there are two or more types of a given contact type). The first is the out-of-the-box version where you need to manually confirm that the auto-assignment AutoCAD Electrical makes is the appropriate decision (ex: power N.O. versus control N.O.). The second is an enhanced version of this that gives a bit more information - making the decision obvious. The third fully automates the selection of power versus control contact but requires a minor addition to a handful of library symbols.
Let's look at each of these methods.
Method A: Default pin list mapping - different types of N.O. contacts listed together
This is the current AutoCAD Electrical default. Here's the PINLIST entry that covers a Siemens part number 3TF511-OAK6 motor starter - 3 power contacts (the L1/T1 through L3/T3 pin-pair entries, each marked with a beginning "1" flag indicating N.O.), 1 normal control contact with pins 13/14 and 1 normally closed (N.C.) control contact (beginning "2" flag indicating N.C.) with pins 21/22.

When you insert the motor starter coil and select this Siemens part number, the above PINLIST value is stored on the motor starter coil symbol. Then, when a N.O. contact is linked to the motor starter, AutoCAD Electrical picks the next available N.O. contact pin pair from this PINLIST string. If the automatic selection is not what you really wanted, you pick the "List" button and manually select the pin pair that is more appropriate. But you have to know which is which. The power and control N.O. contacts are all shown in the same list box and it may not be obvious which is which.

Method B: Descriptions added to the "power" version of the N.O. contacts in the listing
This approach is pretty much the same as above but displays the needed information. Here a "comment" is added to each of the power contact pin entries in the catalog lookup PINLIST entry for this motor starter's part number. Let's say that you identify motor power N.O. contacts with a code of "Ma" where "M" is main contactor and "a" means N.O. (and "b" would be N.C.). Here's the PINLIST entry with the comments added on the three power contacts.

And here is what the "List" dialog looks like when the contact is linked to the parent motor starter coil. Note that the power contact pins are identified in the upper left-hand pick box. The lone "control" N.O. contact is there too but it has no prefix label. So the user can more accurately decide which contact pin pair to choose.

Method C: Best - Auto-mapping of Power contact pins
Here's the way to totally automate the process, but it requires a bit of setup. First, we modify the entry in the catalog lookup PINLIST for our motor starter coil. We change the first character for each power contact pin pair from a "1" (meaning N.O.) to a "4Ma" meaning special type "Ma".

Now, the critical step is this... modify the N.O. Power contact library symbol. Add an invisible attribute PINLIST_TYPE with an attribute value of "4Ma". This is important for this to all work. This attribute will flag AutoCAD Electrical to look for for type "4Ma" pin list entries when the contact is linked to a parent coil symbol.

That's it. Now, when we pop in this modified N.O. power contact and link it to the motor starter coil, it will access and auto-assign from only contacts that have been marked as type "4Ma". If you hit the "List" button, this pick list dialog displays. Note that only the three power contacts display.

And here's the unmodified "normal" N.O. contact symbol. When we link this to the motor starter coil, it skips over the "4Ma" entries and finds the first normal "1" entry.

And if we hit the "List" button, note that only the single N.O. control contact pin pair (pins 13-14) lists (and the 4Ma contacts show up at the bottom in an "other" sublist).

So, there it is. Use this "4x" pin list type to differentiate between different flavors of the same general contact type.
-
Index to 52 AutoCAD Electrical Utilities
March 7, 2007 06:37 PMby Nate HoltSomeone asked if the blog postings could be indexed. Here they are, listed from the most recent. - Nate.
Recovering Corrupted Wiring in AutoCAD Electrical
Making the Part Number fit the Relay Contacts used - AutoCAD Electrical
Smart Title Block Swapping with AutoCAD Electrical
Component tagging by "Pick Order" in AutoCAD Electrical
Terminal Plan report - controlling the "field" wiring side in AutoCAD Electrical
Auto-mapping "Power" and "Control" contact pin assignments in AutoCAD Electrical
Updating AutoCAD Electrical "Web links" - Pat Murnen's neat solution
Enhancing AutoCAD Electrical's Tabular Terminal Strip Layout
Bypassing AutoCAD Electrical's Automatic Wire tag-ID assignments
1-line Diagrams and linked MCC layouts: AutoCAD Electrical
Creating Special Wire From/To Annotation - AutoCAD Electrical
Repeating In-line Wire Number Tags with Auto-update
Discrete Cross-referencing on Large Schematic Symbols
Writing to Block Attributes in un-opened Drawings - Example App
AutoCAD Electrical's Modify Symbol Lib util - Pushing it beyond its limits
Linking AutoCAD Custom Drawing Props back to AcadE Proj Mgr
When one Tag-ID isn't enough
Comparing project defaults to all drawings at once
Incrementing Line References - customizing the "user" symbol
How to pull the 10 "user" attributes on a wire number into the From/To report
Terminal assignments based upon Cable core indices
Wire From/To - limiting to certain component type
Catalog Lookup - Browsing on Internal vs. Manufacturers part numbers
Altering the twist in Twisted-pair symbols
How to Alias AutoCAD Electrical commands using the ACAD.PGP file
Multi-wire Bus Command - controlling the default count and spacing
Wildcard Filtering in Reports
BOM Report + Component DESC1-3 Text
Multi-Language Electrical Component Tagging
PLC I/O Wire Numbering based upon "Slot" + I/O Pin Number
Catalog Lookup - table name confusion
Edit Wire Number Dialog - Tip: holding in new position
Example of mass update of SHEET assigments
Automatic Display of Internal Part Numbers on Electrical Components
Angles to Dots (IEC angled tee symbols to dot conversion)
Special PLC Address-based Wire Numbers
A couple SS->PLC I/O Tricks - Pin number assignments
Migrating PLC point descriptions back to overall module representation
Dual Catalog Lookup: Preferred and Everything else
Mirror Tears - flipping orientation of inserted components
Customized INSERT PLC Module Command
User Struggle with Reversing Starter - WDTAGALT approach
Adding unused core/conductors to Cable From/To report
Flipping between "Shop floor" and "Customer" tags
Instant "Tags used" listing
Attribute Edit > 255 characters ( ? )
Rolling your own brand of Signal cross-reference annotation
Writing relay contact references grouped by catalog number out to Excel
ACE2006/2007 project file compatibility with ACE2004/2005
Hiding subsets of rarely used catalog lookup entries
Multiple ASSYCODE trick
Trick with Type 0 Pin list
-
Updating AutoCAD Electrical "Web links" - Pat Murnen's neat solution
March 7, 2007 04:42 PMby Nate HoltHere is a customer issue that Pat resolved with a nice work-around. New web links were added to the default catalog lookup database but there was not good way to get them written out to legacy electrical designers. The only way would be to do a tedious catalog re-assignment to the affected components.
First, here's a little background... on catalog part number assignment, AutoCAD Electrical can embed a web link on the electrical component.
For example, here is a web link defined for a particular Allen-Bradley relay coil part number record in the default catalog lookup database:

This can be accessed later from the "Catalog check" dialog or while "surfing" on the component tag.

This value is written to the component or panel footprint as "Xdata" when the catalog assignment is originally made. But if the catalog lookup database is revised with new catalog web links, then there is currently no provision to go back to legacy designs and update/rewrite these new web link values back to the component Xdata.
This is where Pat came through with an update utility (Download file here).
Here's her description on how it works:
There are two different calls (type in on the AutoCAD command line) depending on whether or not you want to select the objects or run it on the entire drawing. For each selected block which carries catalog information on the CAT and MFG attributes, the PINLIST and WEBLINK values will be pulled from the projects catalog database and written to the component.
APPLOAD the lisp file above. Then, at your AutoCAD command line, type...
WEBLINK_UPD [Enter] will prompt you to select the objects to run this function on.
- or -
WEBLINK_UPD_ALL [Enter] will run on all the component blocks found on the active drawing.
This "all" function can be called in a script. For example, if added to a script it could be called from AutoCAD Electrical's Project Wide Utilities section and easily run on a project. Sample script file is here.
.
-
Enhancing AutoCAD Electrical's Tabular Terminal Strip Layout
March 7, 2007 03:50 PMby Nate HoltThis morning an urgent note showed up in the inbox... dealer visiting a customer site and they needed cable catalog information included in AutoCAD Electrical's tabular terminal strip layout representation. This is what is inserted from the Terminal Strip Editor > Preview tab shown below.

Out-of-the-box, AutoCAD Electrical neatly displays cable tag and core color in this table but doesn't include the cable catalog number.
Some calls into AutoCAD Electrical's API (Application Program Interface) and we had a work-around. The user runs a small AutoLISP utility, windows the tabular terminal strip, and the catalog info pops in.
Before:

After:

Here's the ASCII text AutoLISP utility (download a copy here).

How does this thing work?
Step 1: gets the active project's scratch database file name
Step 2: queries the COMP table and gathers all cable marker parents with non-blank CAT values
Step 3: prompts user to select row(s) to process
Step 4: processes each row, one at a time, looks for target cable name attributes
Step 4a: For each cable name attribute value, searches the queried data for a match
Step 4b: on a match, appends the mfg/cat info on to the tag attribute and writes it back out to the row
To Use:
1. APPLOAD the attached AutoLisp utility
2. With tabular terminal strip shown on active drawing, type ADD_CABLE_CAT [Enter] at the AutoCAD command line.
3. Select rows you want to process or window the whole tabular terminal strip representation. It should update.
Note: this won't work on the "table" version of the terminal strip layout, only works on the 2nd radio button version shown in the first image above. Maybe check future posting for the "table" version or, be bold, and modify the above program to work on the table version ( ! ).
Enhancements:
Here's an idea. Modify the "row block" and add in a separate set of attributes for the cable from/to mfg and catalog attribute values. Write to these instead of appending the catalog info to the cable tag attribute value. Would look neater!