In Schematics our team usually ends up fighting with Creo Schematics to re-serialize all of the wires. Our preferred name format for each conductor is as follows:
most conductors: <proj_id>-###<cond_id><wire_gauge>
negative/return conductors: <proj_id>-###<cond_id><wire_gauge>N
<proj_id> is a parameter that is a short string literal that is for the name of the particular project.
### is of course the serial number for the wire
<cond_id> is a helpful sub serialization of wires that is usually letter numbering (A, B, C, ... Z)
<wire_gauge> is the gauge of the particular wire used
'N' character is appended to any conductor that serve as power returns. (negative, neutral, ground...)
examples: FOOP-043A22, FOOP-044A22N, FOOP-045A22, FOOP-043B22
The problem with this approach is that a change in the <wire_gauge> or addition of the 'N' makes the <name> parameter unique causing the automatic ### serialization to start over. This is not desired. We must then fight with Creo to manually re-serialize every single conductor. Creo will reject any attempt to change this number if the resulting string already applied to a conductor elsewhere, with no option to change the conflicting one. So then I must find the conflicting one. How do I "ctrl-f" to find the conflicting wire?? and then change that one. If that one conflicts with another wire, well you get the idea. It becomes very tedious to manually set the serial number for every single wiring fiber. I found the fastest approach was to select all fibers, open the bottom table view, manually count how many wires there are (hope to not lose count or finger placement on screen!), and start manually serializing them all the way down from N to 1.
Rather than fight with Creo, we want to make the automated serialization work to our favor. One method that could work is to set <name_format> equal to <proj_id>-###<cond_id> instead, and set the label from <name> to <name><wire_gauge> or <name><wire_gauge>N as applicable.
This way changes to <proj_id> and <cond_id> do in fact reset the serialization to allow for expansion to previous systems and allow conductors to have the same number but with lettering 001, 001A, 001B, etc to enable a more structure to the designations.(Useful in cases where a long conductor goes through several splices or connectors in a larger system.)
While this method "works," but has consequences and side effects:
In the schematic, a Table is generated that lists all wiring fibers that need to be exported for both printing and for importing into Parametric. In this table there exists a column labeled "Conductor" which lists the names of these wires. Previously this took the <name> parameter. However this now captures incomplete string, missing the useful <wire_gauge> and 'N' designator from the name, of course. We can add <wire_gauge> without issue since all wiring fibers have <wire_gauge> property defined. However, only some wires have the additional 'N' appended to the label, and this is not being captured of course. If a string parameter is created and added to all the wires with only some of them being defined with 'N' string and rest as '' (or null character, nothing entered), it results in either *null* appearing in the rendered labels or just a star '*' when really we want no character to be shown. A blank space almost works.
Reading Creo Schematics Help
A set of rules makes sure the name of an artifact instance is unique and identified with the design. By default, the Name parameter is used as the component’s reference designator in Creo Parametric Piping and Cabling.
It sounds like the Name parameter being chosen for uniqueness is not actually hard coded and I could instead perhaps set it to another defined parameter? Where can I change the default behavior hinted to in that snippet??
My idea is I could potentially keep <name> format as the original <proj_id>-###<cond_id><wire_gauge> and add another different property, say <ref_des>, to these conductors, and set the format for <ref_des> to be format to be <proj_id>-###<cond_id> and then configure Creo to generate the Serial numbers so as to keep <ref_des> parameter unique instead.
there are 2 problems with this approach:
- I don't know how to change the default mentioned above
- Even if I did change it, entering in the format into string based parameters simply results in them displaying the literal string rather than interpreting the formating.