AutoCAD P&ID General Discussion

Reply
Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 1 of 12 (1,160 Views)
Accepted Solution

Showing Future vs New vs Existing

1160 Views, 11 Replies
12-12-2012 12:20 PM

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?

 

Thanks,

Craig

*Expert Elite*
Rave.Tam
Posts: 204
Registered: ‎05-19-2011
Message 2 of 12 (1,143 Views)

Had this problem for a long time, especially when the ann...

12-13-2012 04:53 AM in reply to: craig.wood

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.

If my post answers your question, please click the "Accept as Solution" button.

Check out my blog http://lazcad.com
Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 3 of 12 (1,136 Views)

Re: Had this problem for a long time, especially when the ann...

12-13-2012 02:29 PM in reply to: Rave.Tam

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?

 

Thanks,

Craig

*Expert Elite*
Rave.Tam
Posts: 204
Registered: ‎05-19-2011
Message 4 of 12 (1,085 Views)

Re: Had this problem for a long time, especially when the ann...

12-19-2012 07:52 AM in reply to: craig.wood

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.

If my post answers your question, please click the "Accept as Solution" button.

Check out my blog http://lazcad.com
Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 5 of 12 (1,081 Views)

Re: Had this problem for a long time, especially when the ann...

12-19-2012 09:22 AM in reply to: Rave.Tam

Thanks Rave, that would be awesome!

*Expert Elite*
Rave.Tam
Posts: 204
Registered: ‎05-19-2011
Message 6 of 12 (1,003 Views)

Re: Had this problem for a long time, especially when the ann...

01-05-2013 08:47 AM in reply to: craig.wood

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. 

 

 

If my post answers your question, please click the "Accept as Solution" button.

Check out my blog http://lazcad.com
Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 7 of 12 (866 Views)

Re: Had this problem for a long time, especially when the ann...

03-01-2013 07:27 PM in reply to: Rave.Tam

Hey Rave,

 

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 :smileyhappy:

 

Thanks again!

Craig

 

<?xml version="1.0" encoding="utf-8" ?>
<PlantPropertySchema>
  <PropertyAssignments>
    <PropertyAssignment projectType="PnId">
      <Tables>
        <Table name="EngineeringItems"/>
        <Table name="NonEngineeringItems"/>
      </Tables>
      <Operators>
        <PlantProperties>
          <Properties>
            <Property name="Status" value="Future"/>
          </Properties>
        </PlantProperties>
      </Operators>
      <Results>
        <ObjectProperties>
          <Properties>
            <Property name="Color" value="8"/>
            <Property name="Linetype" value="Dashed"/>
          </Properties>
        </ObjectProperties>
        <PlantProperties>
          <Properties>

*Expert Elite*
Rave.Tam
Posts: 204
Registered: ‎05-19-2011
Message 8 of 12 (859 Views)

Re: Had this problem for a long time, especially when the ann...

03-02-2013 08:26 AM in reply to: craig.wood

Hi Craig,

 

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.

 

<PropertyAssignment projectType="PnId">
      <Tables>
        <Table name="EngineeringItems"/>
        <Table name="NonEngineeringItems"/>
      </Tables>
      <Operators>
        <PlantProperties>
          <Properties>
            <Property name="Status" value="Future" />
          </Properties>

 

<PropertyAssignment projectType="PnId">
      <Tables>
        <Table name="EngineeringItems"/>
        <Table name="NonEngineeringItems"/>
      </Tables>
      <Operators>
        <PlantProperties>
          <Properties>
            <Property name="Status" value="Phase2" />
          </Properties>

 

 

But thats a great idea. I'll consider implement wildcard and other form of check when i release this.

If my post answers your question, please click the "Accept as Solution" button.

Check out my blog http://lazcad.com
Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 9 of 12 (856 Views)

Re: Had this problem for a long time, especially when the ann...

03-02-2013 09:31 AM in reply to: Rave.Tam

Hey Rave,

 

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 :smileyhappy:

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!

Craig

 

Readers: make sure to check out http://lazcad.com for more of Rave Tam's innovative solutions for P&ID.

Mentor
craig.wood
Posts: 215
Registered: ‎02-20-2012
Message 10 of 12 (424 Views)

Re: Had this problem for a long time, especially when the ann...

05-11-2013 12:09 PM in reply to: Rave.Tam

Hey Rave,

 

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.

 

Thanks,

Craig

You are not logged in.

Log into access your profile, ask and answer questions, share ideas and more. Haven't signed up yet? Register

Announcements
Are you familiar with the Autodesk Expert Elites? The Expert Elite program is made up of customers that help other customers by sharing knowledge and exemplifying an engaging style of collaboration. To learn more, please visit our Expert Elite website.

Need installation help?

Start with some of our most frequented solutions to get help installing your software.

New AutoCAD P&ID Category!

The AutoCAD P&ID forum has moved into it's very own category page, and can no longer be found within the Additional Product Forums.

Ask the Community