Recently I had a request to create custom drawing names for isometric drawings.
Here is what the client wanted to get for his isometric names:
Size-Spec-Service-Line#-Sht#-Rev# (ex. 2-CS150-FL-0500-01-R0, 2-CS150-FL-0500-02-R0)
My first discovery was that you cannot use multiple properties in the FileNameFormat, PrefixModelProperties, ModelProperty, Name.
![PrefixModelPropertyName]()
This apparently causes an issue and results in seemingly random letters to be used when naming the file or in some cases I’ve also seen where the program just ignores your prefix altogether
![Random letters for Iso drawing names]()
To get a full prefix to work we’ll need to start off by opening a Plant 3D drawing in your project. Once you are working on a drawing in the project use the PLANTDEFINECALCPROPERTIES command to open the Calculated Properties Manager. Dave Wolfe has written an article that mentions this tool in the past. http://www.pdoteam.com/2013/07/complex-line-numbers-in-isometrics/
Select the Piping tab to create a new property in the 3D environment. We will make a property to be used for you line groups, so select P3dLineGroup under Class Definitions.
![P3dLineGroup]()
To the right you will need to specify a name for your new property. I called my property thisone, but you can name it something more specific. Once you have named the property you need to specify the type of property. In this case I’ve selected string.
![Name and String]()
From here I am just going to have to specify what properties to use when building our calculated property.Each property needs to be converted to a string and then added to the next part with the || button. If you want to add a delimiter or other text you need to use an ‘ on either side of the added text.
Here is what I ended with:
ToString(NominalSize) || ‘-‘ || ToString(NominalSpec) || ‘-‘ || ToString(Service) || ‘-‘ || ToString(Number)
![Calculated Property]()
If this prefix needs some adjusting you can also add in the properties and the functions by double clicking on them from the tree view below our property. The buttons can also be used to help create your calculated property. The || button is used to combine one string property to the next. If you want to add your own delimiter between strings use apostrophes around the text. Ex. ‘-‘ will add a hyphen as a delimiter.
Once you are finished building your calculated property hit the Apply button.
![Apply]()
Now that I have the property made I want to make sure it is populated correctly. To check our values we need to open the data manager and use the Order by Area option from the bottom left corner of the data manager.
![Order by Area]()
Expand the area you are working in. Select the Pipe Lines breakdown and you’ll see all the pipe lines in that area. Scroll to the end and you should see your new property. If some of the calculated properties are not displaying scroll back to the right and make sure the values are all filled out.
![Data Manager]()
Now that we have our prefix working we just need to add it as an attribute to the Iso.atr file. I normally edit the file using Notepad. As you can see below we are just adding a line assigning an attribute with the newly created property. In my case the property is called thisone, but you should replace thisone with the name of your property. If you have used spaces in the property name replace the spaces with underscores as you can see they have done with properties such as Project_Name.
![New Attribute]()
Keep in mind you’ll need to adjust each Iso.atr file for every iso style just like the IsoConfig.xml.
Now that the attribute has been made we can use the property in the IsoConfig.xml. If you are using foxe to edit the .xml expand IsoConfigDefinition, FileNameFormat, PrefixModelProperties, ModelProperty and change the Name value to the new attribute you created in our last step. In my case Attribute10.
![SetPrefixModelPropertyName]()
Now with these changes we will have the prefix ready to be used, so when I save the .xml and run my iso I get something that looks like this:
![File name with working prefix]()
This is a good start, but now we need to get the suffix to reflect the revision number as well as adjusting the delimiter.
To show the revision number we need to adjust the FileNameFormat, SuffixModelProperties, ModelProperty, Name value to REVISION then change the Delimiter to -R
![SetSuffixModelPropertyName and Delimiter]()
After these adjustments I get something like this:
![File name with working suffix]()
Now the last adjustment my client wanted was to make the sheet numbers two digits long. To do this we had to set the FileNameFormat, SheetNumber, NumberOfDigits to 2.
![SetSheenNumberNumberOfDigits]()
So this is our final results:
![Final Results]()
The only issue with this part is that if there is only one sheet the 01 sheet number does not appear.
![Issue when generating one sheet]()