Coordinate Container - How to align one group of symbols against another group of symbols

Morning,

What means would you use in the following scenario?

  1. I have placed 5 symbols/embedded views into my coordinate container and arranged four of the five objects in relation spatially to the 5th object. Think 5th object is a vessel and the other four objects are like vessel inlet valve, vessel level indicator, and etc.
  2. Now I copy this group of 5 objects/symbols and place it inside the coordinate container along with the original 5 objects/symbols
  3. The paste action maintains the spatial relation between the 5 new objects to match the group that was copied from.
  4. Where I placed the new group of five objects was not alined vertically with the original group of 5 objects or originally they were but I moved them as a group out of alignment later.
  5. Now I want to align the group of original 5 objects with the new group of 5 objects. To be specific I want to vertically align the centerline of the first group of objects and the centerline of the second group of objects. Functionally this would be achieved by either moving the original group of objects or new group of objects as a whole left or right. While still maintaining the spatial relation of the original 5 objects to each other and the new 5 objects to each other.

In what I will call legacy type HMI solutions this would be performed by something like selecting the original 5 objects and pressing ctrl+g to group them. Then doing the same to the second group of objects. Then selecting the first and second group and using the built in align vertically toolbar button. The objects could be left in this group for later movement as a group or ungrouped because we just used grouping as a means of aligning the collection of objects together.

Thanks,

Edit: Note in this legacy type HMI solutions there would be another hotkey like ctrl+u that ungroups the group of objects and optionally warns you if you are breaking bindings that were applied to the group as a whole before ungrouping.

Legacy approaches as you describe (like grouping and such alignment tools) are part of Vision. If you really need the legacy approach to appearance, use Vision.

Perspective is web-based, and most of that legacy behavior just doesn't translate.

If you're trying to keep it perspective instead of vision you may want to make a view that has all 5 of those components related and templatize it with parameters. Then you can align the views inside this view.

1 Like

Perspective is a thin layer over the web, and the web doesn't "like" pixel-perfect coordinate containers, it "likes" stacking divs and layout constraints to allow things to reflow dynamically.

Getting experienced with Perspective generally means ditching coordinate containers about 90% of the time.

For instance, aligning five elements along the same baseline is trivial using a flex container (which could even be embedded inside your coordinate container):

1 Like

Not quite. I'd say the majority are still coords, as most scada systems display p&id mimics. But they're pretty much the only screens you should use coords for.

As for the OP, I used to share your frustration, and sometimes still do. I experimented with embedding coord containers into coord containers as a means of grouping objects, but this failed miserably since copying stuff into and back out of them is basically impossible logistically speaking, unless you're using fixed coord mode -- if you're using percent, then the objects get scaled to the coord container you're pasting into, so a component going from a small group container back into the main page will become enormous, while vice versa will become miniscule. I've just learnt to live with not having things grouped on the screen, and aligning things component by component in your case.

1 Like

Think of the coordinate container as a group. Rather than duplicating the 5 objects within the container, I'd just duplicate the whole container and then move it down to where you want it.

If it's going to be reused a lot on different pages then then make it into its own view and embed it instead but generally if its just a few times I prefer to just make copies and update the links since its less views/embedded layers.

Thanks for the replies.

I thought that might be the case. Others are correct that the use case here is migrating a legacy systems HMI displays where are mainly P&ID like showing equipment/indicators and process lines connecting them.

It seems the way forward is getting used to aligning things component by component in these specific use cases which for continuous process control applications is the large majority of graphics.

An example process graphic for the curious,

You would have to pay me a whole lot to do this in Perspectvie, especially if there is intended to be manual control of devices and not just overview graphics.

All of that said, that particular graphic looks really good, so good work!

I also had to deal with P&ID layouts on Perspective in the past. I'd use a coordinate container as my "base" view and then use breakpoint based on the width to scroll either horizontally or vertically based on portrait or landscape mode. Most of the time it's being accessed from a PC anyway but this does add a little bit of flexibility without too much more overhead.

1 Like

For mobile, I'd go with one of the 3rd party modules that give you pan and zoom. But I'd use a breakpoint as the main page to flick between the standard view and the view with the pan and zoom container

I did not know those modules existed. Thanks @nminchin

1 Like