Technically yes. Each pipe has a single origin. However different connections can overlap, so you could lay down some pipes in such a way that it appears they're all leading into the same point.
Technically doing so would merge the different pipes, so if that's a problem (such as when using the Mid Arrow line variation) you can simply press undo once, which undoes the merge, but leaves the connection at the new position.
I am also experiencing this issue, I have 64 pipes on a screen. Very chunky while scrolling.
Update: If I delete just the pipes the view is fine. If I delete all the other components, the view is fine. Itās only when both are on the screen that it causes issues.
Really, itās a common issue with Perspective pages in general, where the more content you have on them, the slower they go. I donāt think I ever saw this in Vision, but they are completely different technologies, one I assume (HTML/CSS) being far more dynamic and fluid which bites when you try to give it too much. You see this even with other websites that have lots and lots of content. I really hope that there is some magic wand to make it better, but I donāt think there will be without scaling up hardware specs.
I donāt think Iāve seen any webpage as slow as some of the perspective pages Iāve made. Although I donāt think Iāve seen pages with as much dynamic content (Maybe live timing pages? But they load pretty quickly). Iād like to think that there isnāt something fundamental that limits perspective, but after 2 years of pages taking 4+ seconds to load, Iām not getting my hopes up. Itās much more powerful than other SCADA systems, but itās hard to explain that to a customer when they see their old system loading pages instantly.
One thing I really wish we have in perspective is having java script coding only for visualization part so the code run directly in browser and make everything faster composure to pass value to server and server did the job and pass it again.
For example consider you want to create a simple slider component that drag an object and move around which is not possible at all with python, because every single pixel movement cause event and in that event a python script run in server and send back data to browser again which is slow even in local lan.
So, Iāve been doing some performance testing with Piping, and your concerns are valid. Piping makes use of a feature called āmaskingā to render the Simple and Mimic pipe joints, and to render the gaps for P&ID Pipes, and there seems to be a fundamental limit to how many masks the browser can handle- and itās fundamentally frustrating to debug because it doesnāt always show up in the Chrome Web Developer performance logger. Some effort was made pre-release to optimize these masks, and there is a ticket that has been logged to optimize them even more aggressively- not sure if that solution will be completely satisfactory, but it is an improvement. It may just be that we end up abandoning masking entirely and figure out some other way to draw the PID gaps and the Simple/Mimic joints.
I have a few comments from other colleagues who have just started using the piping tool. I havenāt confirmed any of these personally.
Unable to select and move pipes and components together
Unable to order pipework over the top of other components, for example to show pipework inside of a tank
Unable to move pipework or pipework vertices with the keyboard arrow keys. This makes moving pipes beside each other parallel to each other quite difficult as they try to snap to everything around them.
There seem to be + anchors placed somewhat randomly on different components. Sometimes theyāre positioned ok, others theyāre not (the valve inlet/outlet) or theyāre irrelevant (e.g. on a level indicator):
You canāt add a new pipe section and have it intersect with another existing pipe without it combining with the existing pipe.
Itās not possible to detach a segment of a pipe, e.g. detach a t-junction pipe to separate them into 2 pipework objects for example so that you can animate them separately
Itās not possible to create pipe ābranchesā. The end of the branch remains detached from the main line:
Edit: it seems the way to do this is to separate the branch sides and create them from either side into the centre of the device instead and donāt join them in the middle (they wonāt join actually)
Selecting pipe nodes doesnāt show and highlight the node in the connections property panel. We also need some way to go the other way, i.e. when a node it selected in the connection property, indicate which node this is on the gui.
@mperkins
Ive found html3Canvas to be much more powerful to draw than svgs. Ofc its a whole different way of working, as it uses javascript to draw everything. So I'm not sure if its feasable to use in the designer. Maybe worth looking into though.
Unable to select and move pipes and components together
Unfortunately, pipe connections and components are purposely not sticky - this is highly unlikely to change
Unable to order pipework over the top of other components, for example to show pipework inside of a tank
This is an issue that was brought up early in development, the reason is all pipes within the coordinate container are contained in a single SVG. There would be no way to reorder the pipes individually relative to components without separating them into separate SVGs, and treating them like components (which they're not). A workaround is to nest another coordinate container- which would contain the pipes you want to display on top, and manipulate the z-index of that coordinate container
Unable to move pipework or pipework vertices with the keyboard arrow keys. This makes moving pipes beside each other parallel to each other quite difficult as they try to snap to everything around them.
hot keys are on our radar
There seem to be + anchors placed somewhat randomly on different components. Sometimes theyāre positioned ok, others theyāre not (the valve inlet/outlet) or theyāre irrelevant (e.g. on a level indicator)
The + anchors are placed at the north, east, south, west locations of most components, including the level indicator. See my screenshot with added outline which shows why they are where they are within the component.
For symbols we attempt to place them in "natural" locations. That valve inlet does seem to be 5-10px off though.
You canāt add a new pipe section and have it intersect with another existing pipe without it combining with the existing pipe.
Sure you can, after they combine ctrl + z will undo the combine, pressing it a second time will undo the move
Itās not possible to create pipe ābranchesā. The end of the branch remains detached from the main line:
Edit: it seems the way to do this is to separate the branch sides and create them from either side into the centre of the device instead and donāt join them in the middle (they wonāt join actually)
yep, as you discovered you can't join a pipe segment to a pipe segment belonging to the same pipe. This is because pipes are effectively a tree data structure
Selecting pipe nodes doesnāt show and highlight the node in the connections property panel. We also need some way to go the other way, i.e. when a node it selected in the connection property, indicate which node this is on the gui.
That would be a good enhancement, but there are some problems to work out. Mainly that the Pipe Property Editor is geared towards properties that affect the whole pipe, where as you're asking for settings that affect only the connection. Making that clear to the end user is tricky
It's unlikely that we'll switch to canvas, as we'd like to have a "flatten" or "convert to SVG" feature in the future, and having pipes be based on SVG's already makes that conversion a lot easier. SVG's are a lot easier to have per-segment click events too, which we don't have yet, but I see @nader is asking for.
When I say they can't be moved together, I meant more that you can't select components and pipes together and move them as one. You can either select pipes or you can select components, but if you want to move a selection of components and pipes together, you need to do it in two moves.
yeah that is a little obnoxious to not be able to move them at the same timeā¦
some brain storming:
one idea would to replace Component Selection tool with some sort of āpipe off modeā.
Weād have
āPipe off modeā(disallows pipe manipulation)
Pipe Draw tool
Pipe Move tool
#1 would remain and function as it currently does - so that we donāt clutter the UI with Pipes when we donāt need them #2, and #3 would still be separate- since they have different UIs that conflict, and merging them would be confusing, but both would be enhanced to allow for component manipulation in all 3
if you use the same properties to construct the canvas you can still use them to āconvert to svgā i suppose.
Events are also possible in canvas, but a bit harder to use i guess. I think the only real problem would be styling. As css just doesnt really work the same way on canvas.
Our product design team at Inductive Automation is very interested in your experiences with the Perspective piping feature so far. We would appreciate if you could take a few minutes to help us fill out this survey for feedback. Thank you very much and have a wonderful day!
there isnāt currently a way to do this directlyā¦ one kludgy solution would be to add additional connections to prolong the flange from appearing. Adding a āminimumFlangeDistanceā would be a great enhancement