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