Document toolboxDocument toolbox

Grouped Objects - General Guide


Introduction

HDC offers a range of functions that enable users to manage situations involving grouped objects. This guide provides instructions on utilizing different configuration options to attain the desired results using a specific example.

Some potential use cases for such grouped objects include:

  • A rental unit containing multiple apartment objects

  • Apartments or rental units consisting of multiple spaces

  • Any organizational unit designed to group spaces or other objects depicted in the drawing

Configuration and Usage

To utilize this functionality, a series of configuration steps need to be executed. For better comprehension, this guide will use a specific example: Rental Units that group Spaces.

HDC flexibility enables various arrangements for organizing these objects to meet user requirements.

In this scenario, the typical structure would involve Properties with Buildings, Floors, and Spaces. This itself represents a form of grouping.

Basic functionality for directly linked objects

Let's take a look how those base objects are organized:

The specified object Rum: 1 is associated with a vector element on the drawing, referred to as Spot. When the Viewer is in its default Select mode, the popup properties window will display metadata for this linked object.

This direct link allows us to consider this specific element as a graphical representation of the object "Rum: 1."

Viewing the object shown in the above screenshot is made possible through a concept called Perspective sets. This means that HDC is configured to display specific objects (based on their class) and omit others that are not relevant to our current needs.

With our objects and links in place, we can also create a HOPA call - a smart API call that will return an image representing our object of interest:

HopaGetView4Object?classId=108&objectId=5190&DocumentForSpot=1&Width=600&Height=801&SpotMarginPercent=122&psetId=493

Result of this call would be:

Suppose we wish to incorporate Rental Units objects at the Building level.

First, we need to expand our Perspective Set to allow us to create Rental Units under Building:

Now, we can add new Rental Units under Building:

 

Now, when we select "Rental Unit" in the tree view, we want to view all member rooms in a grid format.

Initially, we need to modify a Perspective Set definition that is utilized in a Grid View. We will utilize a perspective set named "All," which will display both Rental Units for the building and spaces for Rental Units.

Once the target classes are added, it becomes possible to group spaces under Rental Units. To accomplish this, follow these steps:

1) From the Tree View, choose the desired number of spaces that you wish to group; then right-click and select "Copy Links."

  1. Select the "Rental Unit" in the tree view, and then choose "Paste Links" from the top toolbar in the Grid View. It's important to ensure that you have selected the appropriate Perspective, as objects may not be displayed otherwise.

 

Currently, the HDC interface allows users to create links in two directions. These two operations are not equal:

1) Copy Space and paste it to Rental Unit - this will create a link from Space to Rental Unit.

2) Copy Rental Unit and paste it to Space - this will create a link from Rental Unit to Space.

Although both operations will eventually link the same Space and Rental Unit, they have different directions, and each of them will only be shown by an equal Perspective Set.

So far, we have accomplished the following: We have established a main building structure with Rooms that are represented in the drawings.

In addition to this, we have Rental Units which comprise selected Rooms. When a Room is chosen in the grid view and its full metadata is inspected, the Viewer will automatically display the corresponding drawing and Room location. This grouping process mirrors how Rooms are grouped under Floors.

Our goal is to visualize the entire Rental Unit marked on the drawing and for the drawing to depict Rental Units instead of individual Rooms. To achieve this, we need to guide the Viewer on displaying Rental Units by defining a Viewer Perspective Set.

Ungrouping (unlinking) objects

The unlink operation allows you to remove a specific object from a given group. In our example, simply select the Rental Unit to reveal its Room members, then uncheck the Room that is no longer needed as a member of this Rental Unit and choose the Unlink function.

When the Room is selected, the Viewer will provide a visual clue indicating which Room is being removed.

Viewer Perspective Set

The Viewer Perspective Set functions similarly to other Tesslets and provides instructions for displaying objects that are not directly associated with Spots.

For example, showing a Room is straightforward because it has direct links to spots on the drawing. However, Rental Units do not have their own representation on the drawing; instead, they contain Rooms that have linked Spots.

In this case, our Perspective Set for the Viewer would be: Rental Unit → Room. To implement this set for the Viewer Tesselet, we create a new Perspective Set named "Viewer" and assign it using the Layout Manager (Layouts).

Once all details are configured, selecting a Building should display Rental Units in the Grid View. When selecting a Rental Unit, the Viewer will then display it as one object.

HDC Viewer uses the context object as a guide to understand the user's preferences. If the context object is a Rental Unit, the viewer will attempt to locate other Rental Units on the drawing.

When the mouse hovers over a spot that belongs to a Room within a Rental Unit, all other Rooms (spots) belonging to the same Rental Unit will be highlighted.

If the context object is changed to Room, the viewer will display properties for other rooms on the same drawing.

 

HOPA Smart API calls for Grouped Objects

HOPA calls for grouped objects work exactly the same as for any other object. The only additional requirement is to provide perspective set ID that is needed to instruct HDC how to show this specific class of objects. 

../HopaGetView4Object?classId=128&objectId=51796&DocumentForSpot=1&Width=600&Height=801&SpotMarginPercent=122&psetId=493

 

Using Indirect Perspectives with Grouped Objects

< coming soon >

Using Presentation filters with Grouped Objects

< coming soon >