O-Calc

O-Calc Pro | Bulk Update Owners Plugin

Written by Osmose Utilities Services, Inc. | Sep 26, 2024 6:52:51 PM

 

Overview
The purpose of this plugin is to assign the owner of equipment attached to poles within a Line Design or single pole file, if any of the owner attributes are not already assigned. When the plugin is executed, it scans all the equipment on the pole for any Owner attribute that are designated as <Undefined>. 

Next, an attempt to locate an assigned Owner for each type of equipment on the pole is executed. If an owner attribute is detected within the Parent/Child hierarchy of the attached equipment, the same owner is assigned to the <Undefined> equipment within the assembly. The process and rules for how the Owner detection is performed is described at the end of this document.  

For example, if the three bolt is identified with an owner, the same owner is applied to the messenger and communication wires on the three-bolt. If an owner is assigned to the crossarm, all attachments on the crossarm are assigned the same owner. Once the scan is complete the results are displayed to the user and the process is complete.  

Note: The Bulk Owner Update plugin can be used for a single pole (.pplx file) or a line design (.pplld file). 

In the Data Entry we see the following Span has an Owner attribute of <Undefined>, which means no owner is currently assigned to this piece of equipment. The Bulk Update Owners purpose is to streamline the task of assigning the Owner attribute by using the plugin’s process.

Follow these steps to initiate the Bulk Update Owners Plugin:

  1. Go to the Options menu, select the Manage Plugins… option.
  2. In the Manage Plugins window, check the associated box to activate the Bulk Update Owners Click the Apply button.
  3. At the Restart? prompt, click the Yes button. O-Calc Pro automatically restarts, and the plugin is now active and ready for use. Note: The user may want to save and close and any open file since the manage plugins command requires that no pole(s) file is open.
  4. Go to the Edit menu, select the Bulk Update Owners option to begin to use the plugin. Note: Only plugins that are activated can be accessed. For the plugin option to appear the plugin must first be activated from the Manage Plugins menu option.
  5. From the Bulk Owner Update pop-up menu, the user selects which bulk owner update to perform, select one and click the OK button.
    a.    Set Owners for Selected Pole sets the owner for the pole displayed in the Inventory only.
    b.    Set Owners for Line Design sets the owner for each pole in the Line Design.
  6. At the Bulk Update Owners prompt, select the Yes button to synchronize (process) all the undefined owners for the entire line design. Or select the No button to stop.
  7. After clicking the Yes button, the synchronized results appear in the Bulk Update Owners list. The process is completed, and the results are displayed. The 
    Bulk Update Owners column headers of the report display the following information:
  • Pole is the Pole Number attribute.
  • Result descriptions:
    • All owners are updated (All <Undefined> owners were set)
    • Owners are partially updated (Some but not all <Undefined> owners were set)
    • No owners are updated (There were not any <Undefined> owners)
    • Owners are already defined (Owners are already updated)
    • Linked spans are updated (Only linked spans are updated) – this can be seen when single pole is updated
    • Updates are unsuccessful (An error occurred processing this pole)
  • Element lists the pole equipment that has <Undefined> and Defined owner attributes.
  • Owner is the Owner attribute assigned.

8. In the upper left corner of the Bulk Update Owners window users can filter to view ALL pole information or open the pull-down menu and select a single pole to view.

In the upper right corner users can click the Export button to export the displayed Bulk Update Owners report to a .csv file.

How Owner is Determined:
The process for determining the Owner to assign to an element (equipment) that has an <Undefined> owner attribute is as follows.
1)    The immediate parent object of the element is evaluated.  If the parent object has an owner attribute assigned, then that owner is assigned to the attached equipment with the <Undefined> owner.  If the parent object has an owner of <Undefined> then its parent object is evaluated.  Traversing up the Parent/Child hierarchy until a non <Undefined> owner is found OR the current parent is the pole. 
2)    If the pole is reached and no owner assigned the process does not assign the element Pole owner.  The process then traverses down thru the child elements of the element being processed and assign the first non <Undefined> owner.
3)    If still no owner found the element owner remains unchanged / <Undefined>.

Span Processing for Line Design:
For the entire Line Design, the plugin assigns the owner attribute for <Undefined> elements (equipment) by the method described above in How Owner is Determined process. For linked span when an owner is updated, it is propagated to all its linked spans to ensure consistency across the pole and the entire linked span’s pole is also updated while the linked span is updated. This approach ensures that all components in the line design have their owner attribute updated, reflecting any changes across the entire Line Design.  

This process is continued until <Undefined> elements (equipment) are assigned appropriate owner attributes and providing detailed results for each pole processed.

Span Processing for a Single Pole:
The process begins by identifying all elements (equipment) attached to the pole that have undefined owner attributes. For each of these elements, we use the method described above in How Owner is Determined process. If a span has an <Undefined> owner attribute, we check its linked span. If the linked span has a Defined owner attribute, it assigns that owner to the current span and propagates this owner to other related spans. The updates are limited to the selected pole and its directly connected spans, ensuring that only relevant elements are modified without affecting the rest of the line design.