Nate Holt's Blog

July 5, 2009

Overview of ACADE catalog table naming

Filed under: Tutorials — nateholt @ 10:56 pm

(note: this posting originally appeared in September 2006 on the old blog)

I admit that AcadE’s catalog table name versus symbol name concept is a bit confusing. Two users hit me with the same question in the last couple weeks. Here is a detailed step-by-step process of how AcadE determines what catalog table to use.

Let’s say you create a custom “master control relay” schematic symbol, block name is “HCR1_MCRELAY”. You don’t want it to access the normal relay CR table but always go to a new table called “CRM”.

Case 1: Your symbol does not carry an attribute called WDBLKNAM.
Here is how AcadE determines what the default catalog lookup table name should be:

1. First checks for attribute (or Xdata) WDBLKNAM on the symbol. Not found.
2. Next it looks at the block name “HCR1_MC_PWR” and removes the leading “H” or “V” character leaving “CR1_MC_PWR”.
3. It looks for table CR1_MC_PWR in the default_cat.mdb file. Assume this table does not exist.
4. It starts lopping characters off of the block name until there are only 7 characters left, looking for a table name match with each character removed. This means that it looks for table “CR1_MC_PW”, “CR1_MC_P”, and “CR1_MC_” in that order. Assume that none of these tables exists.
5. Finally it looks at the 2nd-3rd character of the overall block name, “CR”, and looks for this table.
6. If this table does not exist, then it will look for a “MISC_CAT” table if you’ve set it up this way under your current project’s “Properties”.
7. Finally, if all fails, it either gives up looking (if doing a report) or prompts you to add a table to the default_cat.mdb file (if you’re doing an Insert or Edit Component).

Case 2: Your symbol “HCR1_MC_PWR” includes invisible attribute (or Xdata) WDBLKNAM with a value of “HCRM”: Here are the steps AcadE follows to determine the catalog lookup table to use:
1. Checks for attribute WDBLKNAM and finds it. It uses the attribute’s value of “HCRM” instead of the actual block name and proceeds to step 2.
2. Removes the leading “H” or “V” character leaving “CRM”.
3. It looks for existing table “CRM” in the default_cat.mdb.file. If this table exists, then it uses this table.
4. But… if CRM table does not exist, it lops off characters, checks for table name each time, until only 7 left (i.e. doesn’t lop any off in this case)
5. Looks at 2nd-3rd char of the original WDBLKNAM value “HCRM” and looks for table “CR”.
6. If this table exists, it uses table “CR”. If not, it follows steps 6-7 as described above.

Solution
So, with all that said, if you want your custom symbol to go to table “CRM” in the catalog database instead of the existing table “CR”, you have to do two things:
1. Add attribute WDBLKNAM to your master control relay coil library symbols with a value of “HCRM” or “VCRM” (doesn’t matter which)
2. Manually create table CRM in your catalog lookup database file (there is a tool to do this if you don’t have a copy of Microsoft Access on your machine… go to the “Projects” pull-down across the top of your screen and select “Extras” > “Add Table to Catalog Database”.)

Exceptions: AcadE will always go to these fixed table names for the following:
PLC I/O modules – table PLCIO
Terminals – table TRMS
Cable markers – table W0

Panel Layout symbols – must use WDBLKNAM attribute or Xdata but without the leading “H” or “V” character.

Advertisements

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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

Blog at WordPress.com.

%d bloggers like this: