AutoPlant: Delete bolt without deleting gasket

I am trying to rectify a behavior in AutoPlant.

Background:

In normal operation, if a user inserts a flange, and then connects a wafer (for example spec blind), AP adds a gasket only understanding bolts are not yet required. Upon adding the second flange, AP adds a gasket and bolt. This behavior is reasonable. If the user needs to make a change (change gasket material, change spec blind from open to closed, etc.) the user has to drop the existing component and re-insert. Again, not unreasonable. What has been found is that connecting the flange to wafer will add bolts (providing warning if bolts already exist), but that connecting the wafer to flange does not do the same (adds only a gasket). This allows users to create a flange-wafer-flange configuration with zero, one or two sets of bolts.

My Solution:

My goal is to force bolts to be added to the current port/connection regardless of whether it's flange to wafer or wafer to flange. Before adding the bolts, I do a survey of the ports of the existing components involved in the flanged connection, look at their fasteners (if any), and if I find bolts, I delete them. I have this working and have not noticed any performance impact (as generally flanges and wafers only have two inline ports, and normally only a couple components involved - it's a quick loop).

Issue:

Graphically in AP I was observing the bolt behavior ... and it seemed to be working. I would see the previously existing bolt get removed, and the new bolt get added at the newly connected ports. I then tried to run an isometric, and found that I was getting disconnected lines. I quickly found that the gasket too was being deleted at the connection from which the previously existing bolts existed. This can be observed by simply (manually) deleting bolts only, and then running the Clean Database to see the gasket get removed automatically.

This shows me (same as valves and operators) that AP is maintaining a relationship between the components, but I lack the experience to know how to break this relationship. I have looked in Class Editor to see if I could identify a method which AP may be using (as a possible component clean-up) but came up with nothing. I've searched Bentley directors for any methods which may be using at_Component_delete but also came up with nothing.

My Question(s)

 - Is there a way to find/identify these kinds of relationships? (gasket auto-drops bolt, bolt auto-drops gasket) - I do not see them maintained in the project database.

 - Is there a way to break these relationships? (which may allow me to drop bolts but not gaskets)

 - In the event that I cannot avoid dropping both gasket and bolt, how can I ... encourage ... AP to insert a new gasket. I obviously know the Sys_ID so can identify the appropriate gasket in the specs, and know the port locations and therefore where it needs to be re-inserted. I suspect something with the ScriptBuffer ... but the ScriptBuffer is still something of a black-box to me which I do not yet really understand.

Any thoughts and/or suggestions on the above is greatly appreciated.

Thanks in advance,

Phil

Parents Reply Children
No Data