PDA

View Full Version : Double bubbles



Data Wrangler
08-01-2006, 07:40 AM
Hi all-

Have you ever seen a situation where the the bubbles in a project do not update properly?

Some of the users here have problems when trying to update instrument information. When updating the tag using the CATT command, the bubble does not get deleted and redrawn when done, but just gets overwritten so that they eventually end up with 2 or more duplicate bubbles on a single tag.

Any insight would be appreciated.

Thanks

Wrangler

Packin31
08-02-2006, 03:46 AM
We had that same problem. Ron from Bentley sent me a fix for. I would attach the files here but not sure on how and if we can attach files.

I can email it to you if you like?

Here is a clip from Bentley SR


SR # 1-361893801

We place a new instrument i.e. PIT-30H111 the bubble will not break around the 30H111 when initially placed. When you CATT on instrument it creates an additional bubble white on places it on layer 0. Still no bubble break.

This is happening on a few drawings.

Hello Tom –

Hadn’t heard from you in a while now. Hope all is going well for you guys……

The problem (more than likely) is that one of your users is placing an IBUB block ( instrument bubble) that is made up of LWPOLYLINES.

The problem with this is that someone incorrectly edited the IBUB.DWG, which is the instrument bubble symbol. They turned it to an LWPOLYLINE. Every time you attempt to update a block that contains LWPOLYNIES, the system simply places another block on top of the original instead of updating what was already there. There fore, your instrument bubbles are several layers deep.
Strange thing is that I received your packaged project, which contained a custom folder defined fro this project. The custom folder contained no IBUB.DWG block.

Attached are two blocks and a custom snippet of LSP code for you.
Place the LSP function at the top of your pid-sup.lsp file.
Replace both your IBUB.DWG and your IDCD.DWG blocks with the ones attached. Remember to replace both in the custom folder\P&ID\Sym folder as well as your C:\Program Files\Bentley\Plant 2004\P&ID\sym folder.
1. Start an existing P&ID from your project
2. set the LAYER to INST, using the pulldown.
3. type INSERT
4. Path to the location of the new IBUB record that I sent you.
5. When prompted, select YES to whether or not you wish to redefine.
6. place the block on the drawing – it will seem larger than the other blocks.
7. type ERASE at the command prompt and touch one of your existing bubbles. Repeat on the same instrument until all bubbles have disappeared, leaving only the attribute block.
8. CATT on the attribute block and the bubbles should now be corrected.
9. Remove the large block that you placed when using the INSERT command from steps three through six from above.


Best Regards

Ron Plaisance

Support Engineer

Bentley AutoPLANT

Data Wrangler
08-02-2006, 05:55 AM
Thanks for the information!

I'm sort of suprised (but not very) that it's a lwpoly problem. It's not like they haven't been around since v14... one would think as part of the process of keeping up with the various versions of Autocad that compatibility with all of the new ways of storing information would be important, instead of relying on old data structures to make the program work.

I'll stop right there for now, as I feel a rant coming on (sorry!)

I would be interested in getting those files. I'll PM my e-mail address to you.

It would be nice to upload them to the board for the benefit of others coming along, though.

Derek

Packin31
08-02-2006, 06:03 AM
You are most welcome. Glad this board is ALIVE to share info.

Data Wrangler
08-02-2006, 08:00 AM
Some more information here...

I've been talking to some of the users here and they say that they use the 'convertpoly' command in a drawing when they cannot get a process line to break when placing an inline component. This seems to be caused by the line (for some unknown reason) changing to a Lightweight polyline. Switching it back to a 'heavy' line fixes this problem.

Interestingly, one of the users said that they just hit return for the default, then selects 'all' with the understanding that more than one process line might be affected.

I wonder if the default convertpoly option might have been set to 'light' once or twice, and with the 'all' selection set used, had the effect of converting the bubble block polylines to a lightweight polyline - and thus the problem.

Derek

Aplant Monkey
08-02-2006, 08:06 AM
We have encountered both of the problems you have described here with the bubbles and the lines not breaking. We run a lisp routine upon opening a .dwg that converts all polylines to HW, this avoids the problem and we have not had this issue again since, at least not with the lines.

Data Wrangler
01-24-2007, 06:32 AM
This problem is still happening on older projects. Can anyone tell me if just adding the lines:


(setvar "plinetype" '0)
(command "convertpoly" "heavy" "all" "")

to the custom pid-sup.lsp cause any problems?

dave
01-24-2007, 08:19 AM
Tom, you can attach files by clicking the "paperclip" above the message window when creating new posts.

tw_echo
07-11-2007, 12:04 PM
APlantMonkey and DataWrangler,

I know that you stated that you run the converpoly routine when a user opens a drawing. Could you provide me with some more detail on how you did this as I am trying to implement the same things as well. What I would like to know is where you placed the code, how do you get it to run when you open a drawing, and anything else you can help me with would be greatly appreciated.

Thanks a million,
Tim

Data Wrangler
07-12-2007, 08:23 AM
Hey Tim:

If you copy the above lines into a blank spot in your pid-sup.lsp, they will run when you open a PID in your project. So far I haven't noticed any adverse effects from doing so.

Are you creating a custom pid-sup.lsp for each of your projects?

Derek

tw_echo
07-13-2007, 07:34 AM
Wrangler...thanks for the response.

So what you are saying is that any custom code that I add to the pid-sup.lsp will be executed upon opening a drawing? IF so that would be awesome! I am also trying to get the drawing to do a 'regen all' either when I open a drawing or when the user prints. We have some issues here where the users are not regening before printing and of course that can cause issues.

Yes, I do have a custom pid-sup.lsp per project, it is the only way to go!

Take care,
Tim


I love this forum!

Data Wrangler
07-16-2007, 06:22 AM
Yes, the PID-SUP is read when opening a drawing, and any code you put in there will be executed. As a simple example, I've added some lines of code that helps me troubleshoot custom pid-sup issues:


;;;Customised for project no. XXXX by XXX on xx/xx/xx
(princ "\n***Using custom XXXX pid_sup.lsp. ***")

Of course, the XXXX refers to the project number that the file is associated with. When loading a drawing, this shows me just what pid-sup is loading (and, by extension, what custom directory the drawing is set to) which I find useful.

Now - the official way of adding lisp code to the program is supposed to be in a file called user.lsp. I have some code in there as well, but if you have something pretty simple, to be changed on a per project basis, and you document it - I think the pid-sup is a good place to start customizing.

When you talk about regening - do you mean just the Autocad part, or resyncing with the database?

Aplant Monkey
07-16-2007, 09:27 AM
we use a script routine that is called from the PID_SUP that says:

asiregenall

that will force an intelligent regen of all objects in your PID

tw_echo
07-18-2007, 01:57 PM
Thanks for your replies guys, worked like a darn! Have you ever tried to hook into the plot command and then fire an event like regenall once it was pressed? Let me know...thanks again!

dave
07-18-2007, 04:24 PM
Hey Tim W, I love this forum too!

Glad you got what you were looking for. BTW, what's a "darn"?

tw_echo
07-19-2007, 07:48 AM
LOL...that shoud be "works like a charm"!!

Data Wrangler
07-19-2007, 08:26 AM
Have you ever tried to hook into the plot command and then fire an event like regenall once it was pressed?

Autoplant redefines some commands in the ap.lsp file. I have added to the redefined code, but never added a new definition. I see no reason why it should not work though. I'm trying to understand just why you need to do this, however... just in case I need to do it too. What would this solve?

Derek