I am having trouble updating 2 attributes from the parent to the child.
I have a parent symbols with attributes TAG1 and X1TERM02.
The child symbol has attributes TAG2 and X1TERM02.
The TAG attribute updates fine but the X1TERM02 does not update on a parent attribute change.
Any idea as how to get the child to update the X1TERM02 attribute???
Attached is the child symbol and any parent symbol with a wire attached will have the needed attributes.
Thanks for any help
First off, stop using block editor with ACE blocks. They do not get along. ;-)
Use the Symbol Builder instead.
I am not sure what you are attempting to do. I did look at the symbol and you have two attributes (OUTPUT and INPUT) which are not standard ACE attributes.
I am unsure what you are trying to do with the X#TERM## attribute. This attribute does not carry any data. They are only for terminating wires.
There is an explaination of this in this post:
Sorry I posted the wrong symbol attached is the correct symbol
Fisrt off I never use block editor, I always use symbol builder.
Second, X1TERM02 on the parent symbol carries the wire number, which in our case is the PLC I/O
We use this symbol that I posted to mark components on our mechanical drawings. I.E Photoeyes, Prox Switches
We use a LSP routine to populate the info on the symbol. All that works fine until we need to update the wire number/PLC I/O.
The basic question here is can the parent symbol atrributes (X1TERM02) update the child symbol (X1TERM02)
Sorry if I came off a little stern earlier. When I opened both symbols from you, I recieve a dialog box informing that the dwg contains authoring elements and am asked if I wanted to open the symbol in Block Editor. In the past, this has meant that the symbol was edited using Block Editor.
To answer your question, I am not sure how to do that. Maybe Pat M. can chime in. The primary purpose of the X#TERM## attributes is to act as wire breaks. It does also contain the wire number of the wire that it is connected to. The symbol you sent does not appear to connect to anything.
Sorry I could not help you,
Maybe this is a silly question, but why don't you use the built in "search for PLC I/O Address on Insert" and let it update the wires and components? it might be an option.
If I'm understanding this correctly the symbol you posted is used to mark Mechanical symbols, what is the intent?
If the goal is to pass the wire number from one point to another one, it might be a better idea to use Sources/ destinations.
If the goal is to have it pull out the Pin data... then you should use a pin list.
If its a peer to peer type symbol ( Mechanical to Electrical merging tags) then you should use a WDTAGALT.
You have stated that you wan it to pull out the Wire number then the child has to obtain the wire number from the parent... if it was done with a pin list ( a proper pin list tied to a catalog code) then this automatically does what you want, it updates the pins.
You can also select pins on child components if you selected the wrong one at first.
But I get the feeling that you are trying to have the child start the wire at a different point, using the same wire number from the parent... this would be a Source /destination relationship not a parent / child relationship.
I don't think you can merge a source with a parent or a destination with a child.
If you could clarify what you are trying to do perhaps others might be able to offer you better insight.
Unfortunately I can't read minds. so I can't find out why you didn't use the existing methods for transferring data between components, unless you tell me what flaws exist that prevent you from doing so.
I hope this helps,
Let me know,
I am allowing the parent symbol to update as normal using the search for PLC I/O address and that works fine. the child is where the issue is coming in.
The purpose of the child symbol is to mark on the Mechanical drawing where the electrical part is physically mounted.
the child symbol has NO wires connected to it. It is a simple "sign" saying this is symbol # XXXX and the I/O address is YYYY
Here's the process that we use:
1) were create the drawing package and run a lisp routine that pulls the info from the parent symbols connected to any PLC I/O.
2) The lisp routine creates and populates the child symbol with the tag name and wire number (in our case it is the PLC I/O address) from the parent symbol.
3) We manually place the child symbol onto the mechanical drawing in the approprate place.
ALL of the above works just fine until after the fact the PLC I/O address changes for whatever reason.
What I am trying to do is link the parent tag and wire number to the child symbol
The tag info updates from the parent to the child just fine but the wire number/PLC I/O address does not.
I don't think a pin list would work as the PLC I/O (wire Number) changes with almost every job.
I hope this help explain what I am trying to do.
I think part of the problem is what you are calling Child components are usually called a Footprint.
In ACADE terms, a child component is an electrical symbol (a contact for example) that references to a Parent component (A relay coil to pair with the contact example).
A footprint is a dwg of the actual physical layout of the device, and this is usually used to plan the gear plate layouts.
What you want can be achieved with a footprint, but will require a bit or thought and some work to be put into setting it up.
First, you have to decide how many lines of text you want for your wire numbers on the footprint and the location of the text.
Next you need to either edit an existing footprint or create your own using the symbol editor. Add in the termina numbers and the appropriate number of wire attributes for each terminal. I've attached a footprint for a component I use which has two wire text lines per terminal.
Save the block and either insert the block into a dwg in the project or update existing blocks.
The next command and it's location are from ACADE 2008, so you may need to look for it.
Under the Panel dropdown menu, look for the command 'Panel Annotation of Wire Numbers'.
This command sets ACADE to search the panel dwg it is executed on, on finding a component with the wireno attributes, ACADE will check the associated schematic component and insert the appropriate wire numbers at the correct terminals.
Note that you can how the wire number appears. I use a Wire no/Pin:Component format for example.
Also note that if you make changes to the schematic (such as changing the wire number) you will need to run the annotation command again.
I never thought to use the footprint as it was created before me and I was just editing that symbol!!!
I will try that and let you know how it goes.
Thanks for your help!!!
OK Sorry it took so long to get back.
I have tried what was discussed and the symbol P_TAG1 updates fine but the "wire annotation of the panel footprint" command inserts simple MTEXT at the origin and not into the footprint.
I even tried to use the above attached footprint with the same results.
Attached is the footprint I am trying to use.
Any idea what I am doing wrong?
Any help would be greatly appreciated.
Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register
Start with some of our most frequented solutions to get help installing your software.
|AutoCAD Land Desktop|
|AutoCAD Plant 3D|
|AutoCAD Raster Design|
|AutoCAD Structural Detailing|
|Ecotect Analysis - Desktop Tools|
|Green Building Studio - Web-Based Service|
|Robot Structural Analysis|