My company is looking to auto populate the attributes (work order # and project #) when they are brought into a drawing on a component symbol.We would like to have them remain on the symbol where they are placed but not updated when new symbols are placed in the project for new work order # and project #'s with each project. I had considered using the title block update feature to do this but I ran into a problem when i needed each attribute (work order # and project #) to increase by a factor of 1. ie (work order # 1, work order # 2, etc. and project # 1, project # 2, etc.). Is there a way to either get my attributes to change incrementally or to have a lisp routine that would only have the new values updated inserted into my block after I enter it at the prompt. This routine must not change the other blocks done by previous projects. I have attached a few pic of kind of what I was attempting to do.
The project number value actually isn't that hard to manage through the TitleBlock update. Simply create an Attributte thats in the Titleblock that you mapped to, and have that pull the Information from the Drawing.
1. Create attribute (Proj#) in your title block
2. Place the same attribute (Proj#) in the component
3. Map the %P value in Drawing Settings to the Attribute (Proj#)
4. Run the Title Block Update (make sure %P is checked )
As for the Work Order number... That sounds more like something you should handle in Vault.
(using ECO's and lifecycles)
I hope that Help a little,
Thank You for your reply. I think maybe I need to be a little clearer about what I want to do.I want to have the component updated with new projects when they they are inserted without manually having to change them. I have accomplished getting the project and work order number on the component. my problem is when I place new component into the drawing I need to be able to change the attribute on the component ie(work order # 1, work order # 2, Proj # 1, proj#2) without exploding the block. Is there a way to either get my attributes to change incrementally or (work order # 1, work order # 2, Proj # 1, proj#2) to have a lisp routine that would only have the new values updated inserted into my block after I enter it at the prompt. This routine must not change the other blocks done by previous projects.I appreciated your response but these project number change constantly. if you have any other suggestions they will be greatly appreciated.
Alright I have a few questions about what you are trying to do... You might be able to use an Existing Project variable that's not in use.
1. Why do you want to have Multiple Project Numbers tied to a component?
I would understand if you were doing a retro fit that you would want Multiple projects tied to one project, and in that case you would want at least one seperate page for each "project".
I wouldn't tie the project number to the Project wide Descriptions, I would use the Drawing specific %P (Project code value).
"my problem is when I place new component into the drawing I need to be able to change the attribute on the component ie(work order # 1, work order # 2, Proj # 1, proj#2) without exploding the block"
2.Why do you need to Explode the block to edit it?
The Attribute should be added to the default component in the product library.
i.e. If you want your Push Button to have the Project number find the Push button (HPB11 for example) in the library you are using (JIC125 for example) and add the attribute there.
If you use the Drawing value for Project number it will update all of the Component on the drawing with that value.
(you may still need to run a title block update or run the project wide update/retag and have the titleblock update check box selected)
that or just double click the block to bring up the ATTE (Attribute editor dialog box).
"This routine must not change the other blocks done by previous projects. I appreciated your response but these project number change constantly."
3.Why does your project number change constantly?
Is it in the same project, or a different project?
If its a different Project then the title block update will work, as it cannot run on anything other than the active project.
You can run routines (lisp or script) on a specific project.
You use the Project - Wide Utilities command.
As for work orders, you need a system to track them, whither you use Vault or an ERP/MRP system to manage them isn't really an issue. (ERP/MRP system can export a CSV file, you could create a table that call in the info)
Vault would allow you to track the work through the entire system, I would suggest talking to your Local Reseller for more info on that.
We have different project #'s for different jobs done in the field. None use the same project #. We want to know which components were added by each project. We want those project #'s on each component to be retained on the old components when an update is done. I Do Not want to explode the object . The only way I believe it can be done is if the attribute on the component can be changed without exploding it maybe though a lisp routine or script i.e. (Proj # 1, proj#2), etc . Is there anyway you can think of this can be done?
ah OK... Well it sounds like your using AutoCAD Electrical's BOM as an ERP system.
I'm not sure that I would go down that route, but if you are dead set on doing that I can point you to some links for coding in lisp to do that.
I would start with the wikibooks Site, then go to the cad tutor site, after that the cs cmu page offers alttle piece of the code you might use. (they talk about append vs adding)
The Gigamonkeys page is more of an advanced page going through logic processes.
It also goes through all of the commands and codes available in lisp.
What your trying to do has been attempted by many others (in most cases they paid $100 000+ to do this) but its a CAD system not a tracking system. In the end you would benefit more from a true ERP system than trying to code your own in AutoCAD.
Unfortunately I can't help with Lisp programming, I'm not that familiar with it.
I hope this helps you find a solution,
JAMES ,THANKS FOR YOUR HELP ANYWAY.I JUST WANTED TO KNOW IF IT COULD BE DONE ANOTHER WAY. I APPRECIATE YOUR HELP.