It's been a little while since I've had to do a P&ID screen, and I'm struggling to use the pipe tool... There are waay too many snap points on the screen, the large majority of them being in not-useful places, for the piping tool to be useable
We need to be able to position these using the arrow keys, and have modifier keys available to us to, with the mouse:
ignore snap points
move a point along the same vert/horizontal line / at fixed angles from the adjoining point (currently possible with alt, however this also ignore snap points. These two functions should be separated to give better control)
with the arrow keys:
move the point along the same vert/horizontal line
move by 10px instead of 1px
I don't know how I'm going to be able to position all of these pipes to be honest...
Reminds me a bit of trying to rearrange the components within a column container back in the day when I first looked at using them. I don't know if that's gotten any better as I very quickly removed them from my repertoire, but that was always something that induced a flurry of curse words!
I used to use these, but always ran into the issue of them not aligning properly at slightly different resolutions a single SVG will always be aligned, at least to itself
Disclaimer: Iām not trying to put down the work IA has done on the piping tool. Itās a technical challenge, and itās obvious that a lot of thought has been put into the tool to get it to its current state. However, if I canāt get a tool to put a line where I want 100.00% of the time, Iām going to use something else instead.
Itās also kinda funny how using keyboard shortcuts to align lines has been the workflow for building P&IDs across all HMI platforms since forever.
Hello! I'm the developer of Perspective Piping. I understand your frustrations: honestly there are many things I would do differently if I were redeveloping Piping including:
Rendering I'd lean towards a single element versus the current method of a jumble of elements with complex clipping and masking. Not that there aren't other complexities that this would introduce including how to handle onClick events and fill gradients
Direct DOM updates - a technique I've used in the Drawing Editor to increase performance. React is great at many things, but it's lifecycle is noticeably slower than ideal for real time drawing apps
Snapping, as noted here, becomes unusable with the ever increasing number of snap points. It would be great if we had a configuration panel/setting to control instead of an on-off modifier. Keyboard shortcuts would massively improve the experience as well.
Unfortunately these ideas for improvements aren't likely to be implemented in the short term as the Drawing Editor has my attention, but they are on my radar.
In the mean time, @nminchin I suggest nesting a Coordinate container, and using that nested Coordinate container as a "Pipe Container". This will limit the snapping to pipes within the Pipe Container.
@mperkins, do you have any sight on when the piping tool can get back on your radar? Disabling the snapping and change the point pixels with arrows would already be a life-changing experience for many of us.
Arrow-key movement would be my voted priority, as the separate coord container is an ok work around. There's no workaround for pixel accuracy at the moment though, especially when you have to move pipes after you've moved your embedded view device symbols currently, you have to move your pipework to "about right" and then go back and move all of your device EVs with the arrow keys to get it right. It's a bit gross
Thank you for your patience, I know Piping has been on the backburner. Unfortunately 8.3 release would be the earliest, however realistically I expect a flurry of post-release enhancements and bug fixes for the Drawing Editor to take priority.
This is very disappointing news. We have so far gone with the piping tool in most of our PID screens because I was banking on IA to improve the piping experience over time meaning that all that work is not lost.
We do have templates to use labels as pipes and do use them in some cases but the tradeoff there is having a bunch of labels on the screen that are not connected to each other like the pipe tool is.
Please reconsider improvements to the pipe tool sooner. It is the only first party way to do PID lines.
I don't think this is the direction, unless you plan to create all of your P&ID screens in the one SVG. Pipes still should be created in the main View, not in another window, as you need to reference the positions of other objects in order to actually place them. So unless the drawing tools replace the View editor itself, then I think the piping tool is here to stay. It's almost there, it just needs the finishing touches to make it easier to use.
It's like MS Word missing the ability to move the cursor with the keyboard and instead having to move it with your mouse. However it's impossible to move the cursor into the right position to align to an existing letter, so you have to move it to the closest spot and then use the keyboard to move all of the letters to align to the new cursor position it's so close..
I think you may be able to hold one of the keys (alt, shift, or ctrl) while dragging the endpoint to ignore snap points, but I may be misremembering it.
edit: yes, holding alt ignores snap points. Holding shift overrides the horizontal/vertical restriction and ignores snap points.
To get my pipes lined up I place my own temporary pipe snap points, then go through later and clean them all up. Based on size of screen and complexity I will zoom right in and place pipe ends side by side x pixels apart.
At this point it's a practice in mindfulness for about 10 minutes then I can carry on.
Though.. don't get me started on if I want to delete a pipe and then manually move all of my pipe bindings 'up one' . They all stay linked to n pipe rather than auto updating to n-1 as the pipe is removed.
Oh wow, I didn't realise this.. that's messed up. I can only image how badly a complex pipework can be destroyed by this Someone deletes a pipe, adds some more, and then POOF, all of your pipe animations are completely destroyed (well, they're shifted at least, with the work to fix them being a lot of work). This sounds like a major bug @mperkins