I just thought I'd see how everyone is using the current features within P&ID to deliniate between valves, lines, equipment, etc that is shown as future vs new vs existing. I know this can be done with different layers, linetypes, and lineweights in general, but I was hoping to see if anyone has also associated a data property with the graphical status change.
If I could, I would use a "Symbol List" property (within the "Engineering Items" class) to accomplish this, but it can only be used once per class. This means that if it's already being used for something such as "Normally" (hand valves by default and cannot be removed) within a class, I will not be able to use it again. Meaning this method will not work; which makes sense that the "Symbol List" property option is not available within the "Engineering Items" class.
The only other real solution I can think of is to add a custom selection list property (let's call it: Construction Status) that by default is set to "new", but also has the option of being set to "future", "existing", or even "demo". End users would manually have to remember to change the value of this property on each symbol from "new" to something else. Along with this, there would also have to be a layer for each value in the selection set (ie: future = dashed line on a lighter lineweight, with a different color perhps, etc.). This seems to be the only feasible way of accomplishing this, and it isn't ideal since the property value doesn't drive the graphical sytle like the "Symbol List" property would.
Does anyone else have any other ideas to accomplish this?
Solved! Go to Solution.
Had this problem for a long time, especially when the annotation's layer reset itself after syncstyles. So i develop a command to assign color, linetype & etc based on property which run everytime a person save the drawing . Got a good feedback and everyone seems to be happy about it. Thats my story..
With the current feature, symbol list is the only possible way, didn't bother to use it considering the amount of symbols that needs to be managed. And it does not work with annotaton.
So you made a lisp routine to solve the problem....nice. That seems like a viable work-around. Do you have any tips that I could use to try and set something similar up on my end?
Not really a lisp, its a dll much like the LazPlantBrowser. I'll bundle the dll when I hava some time and send it to you.
You can download it here.
Remember to read the readme inside. For the xml configuration, let me know if you need any help with it. It is pretty simple (compare to isoconfig.xml).
You can also miix multiple rules together to get different outcome.
I finally took some time to implement your plugin, and so far it is functioning very well! I am running into one problem however, and am a little embarrassed because it should be something very easy to figure out. Specifically, I've modified the property name already and I lastly just need to change
value="Future" to value=not null, but can't seem to figure out the syntax (see below). I've been searching around and have tried several different combinations, but am still coming up with nothing. Can you please let me know what the equivalent of value=not null is? Hopefully this is a piece of cake for you
<?xml version="1.0" encoding="utf-8" ?>
<Property name="Color" value="8"/>
<Property name="Linetype" value="Dashed"/>
Checking for not null value is not my intention when i made this plugin. It can only perform equality check. For now, maybe what you can do is add multiple "PropertyAssignment". The plugin is clever enough to combine these two and run the check at once so performance is not a problem.
<Property name="Status" value="Future" />
<Property name="Status" value="Phase2" />
But thats a great idea. I'll consider implement wildcard and other form of check when i release this.
Based on what I read last night when looking into this, I figured that an equality check was all that was possible with the given setup, since most other coders were stating the same thing. That's no problem though! Even still, this does 99% of what I was trying to accomplish.
For my particular example, I changed "Status" to "ConstructionStatus" for new/existing/future/demo, and allowed "new" "future" "existing" and "demo" as the trigger values checked for equality.
Your plugin also solves another problem that I was running into
I needed a way to visually indicate what items were inside of a skid, and that visual indication was based on a property (Skid Number) being populated. For the "not null" scenario, I was hoping to be able to trigger the assignment style based on any given skid tag (ex: XV537, XC150, XF250, etc.), but I can simply change the concept from "not null" to "WithinSkid" to get the visual indication, and then I can just do some conditional formatting within Report Creator to display the actual skid number (since it'll be part of the object's tag anyway).
Thanks Rave for yet another awesome plugin!
Readers: make sure to check out http://lazcad.com for more of Rave Tam's innovative solutions for P&ID.
So as it turns out, we are migrating to AutoCAD P&ID 2014 and I was wondering how difficult it would be to add support for 2014 onto Lazcad.AutoCADPlant? It works very well in 2013, and I would like to continue to use it on 2014 if it isn't too much trouble.
Let me know your thoughts about it.
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|