US Pat. No. 9,177,085

INTEGRATED ASSEMBLAGE OF 3D BUILDING MODELS AND 2D CONSTRUCTION DRAWINGS

Bentley Systems, Incorpor...

1. A method comprising:
displaying a three-dimensional (3D) model of a building created using computer aided design (CAD) software in a viewer executing
on an electronic device having a touch sensitive display;

providing a plurality of selectable interface nodes visible at respective locations within the 3D model displayed in the viewer,
each interface node linked to one or more corresponding two-dimensional (2D) construction drawings that show a section view,
a plan view, an elevation view or a detail view of the building related to the location of the interface node;

receiving a selection from a user upon a particular interface node within the 3D model via the touch sensitive display;
in response to selection upon the particular interface node, displaying a menu with one or more selectable menu options in
the viewer;

receiving an additional selection from the user upon a particular menu option via the touch sensitive display; and
in response to the selection upon the particular interface node and the additional selection of the particular menu option,
displaying a corresponding 2D construction drawing for the particular interface node in context of the 3D model of the building.

US Pat. No. 9,299,189

TECHNIQUES FOR UPDATING DESIGN FILE LIGHTING VALUES

Bentley Systems, Incorpor...

1. A method for balancing lighting values comprising:
creating a stack of individual images of a scene, each individual image corresponding to a respective light source or light
source group associated with the scene, each light source or light source group having an initial value;

combining the individual images to produce a combined image;
displaying the combined image on a display screen;
in response to user input on an input device indicating adjustments to a light source or light source group, applying an operator
to an individual image of the stack of individual images corresponding to the light source or light source group, wherein
the operator multiplies color components of each pixel of the corresponding individual image by a scaling factor;

displaying an updated combined image on the display screen;
generating a value for the light source or light source group based on the applied operator by scaling the initial value of
the light source or light source group by the scaling factor; and

providing the generated value to a design session in a modeling environment executing on an electronic device.

US Pat. No. 9,146,913

SPECIFICATIONS AUTOMATION SYSTEM AND METHOD

Bentley Systems, Incorpor...

1. A method of automatic discovery and differencing of multiple corporate business unit specific views based on a single multi-purpose
specification loaded in a computer memory, said method comprising the steps of:
detecting user definition of specification-related metadata of the single multi-purpose specification loaded in the computer
memory, the single multi-purpose specification including a plurality of paragraphs;

based on the detected specification-related metadata, automatically populating a menu with a plurality of view choices for
the single multi-purpose specification, each view choice corresponding to a corporate business unit specific specification
view generatable from the single multi-purpose specification, each corporate business unit specific specification view showing
only paragraphs of the plurality of paragraphs of the single multi-purpose specification that are applicable to a related
corporate business unit, the paragraphs of the plurality of paragraphs that are shown to differ from those shown in one or
more other corporate business unit specific specification views;

for at least one corporate business unit specific specification view generated from the single multi-purpose specification,
calculating a difference between the at least one corporate business unit specific specification view and another corporate
business unit specific specification view;

displaying the difference in a current specification view; and
collapsing or expanding the current specification view according to user view selection.

US Pat. No. 9,189,888

POINT CLOUD MODELING BASED ON USER-PROVIDED SEED

BENTLEY SYSTEMS, INCORPOR...

1. A method for reconstructing a vector-based model from a point cloud that represents a physical subject comprising:
displaying at least a portion of the point cloud that represents the physical subject on a display screen of an electronic
device, each point of the point cloud associated with a position in three-dimensional (3-D) space;

receiving a selection of a seed of points in the point cloud that correspond to a particular physical feature of the physical
subject, the selection received with a flashlight virtual tool having a field of view, points of the point cloud falling within
the field of view being used as the seed of points;

performing an automatic detection of a geometric primitive based on the seed of points, using an iterative algorithm that
detects an initial geometric primitive based on the seed of points, uses the initial geometric primitive to determine an expanded
set of points that include points outside of the seed of points, and detects a refined geometric primitive based on the expanded
set of points, wherein the refined geometric primitive is returned as the detected geometric primitive; and

producing a vector-based model using the detected geometric primitive.

US Pat. No. 9,147,282

TWO-DIMENSIONALLY CONTROLLED INTUITIVE TOOL FOR POINT CLOUD EXPLORATION AND MODELING

Bentley Systems, Incorpor...

1. A method comprising:
displaying a representation within a user interface on a display screen of an electronic device, each portion of the representation
associated with a position in three-dimensional (3-D) space;

imposing, by the electronic device, a flashlight virtual object within the 3-D space of the representation displayed within
the user interface on the display screen, the flashlight virtual object having a field of view;

determining whether any portions of the representation fall within the field of view of the flashlight virtual object, and,
if so, highlighting those portions of the representation that fall within the field of view;

receiving a selection of a user-selectable two-dimensional (2-D) plane to which movement of the flashlight virtual object
is to be confined, the 2-D plane selected from among a plurality of user-selectable 2-D planes within the 3-D space of the
representation; and

in response to receiving the selection of the user-selectable 2-D plane, mapping a movement of a pointing device that captures
motion in only two-dimensions to a corresponding translation of the flashlight virtual object confined within the selected
2-D plane to change a position of the flashlight virtual object in the 3-D space of the representation.

US Pat. No. 9,536,351

THIRD PERSON VIEW AUGMENTED REALITY

Bentley Systems, Incorpor...

1. A method for providing a third-person view augmented reality session, comprising:
capturing, by a backend unit, a panorama of the physical environment visible from a position within the physical environment;
determining an orientation of a handheld device within the physical environment, the handheld device being separate from the
backend unit and located a distance from the position;

based on the orientation of the handheld device, selecting a portion of the captured panorama visible in a corresponding orientation
from the position to produce a view of the physical environment, the view of the physical environment to show physical features
of the physical environment and at least a portion of the user's body;

augmenting the view of the physical environment to merge computer-generated features with the view of the physical environment
to create an augmented reality view, the augmented reality view to show a relationship between the portion of the user's body,
the physical features, and the computer-generated features; and

displaying the augmented reality view on the handheld device.

US Pat. No. 9,460,561

HYPERMODEL-BASED PANORAMA AUGMENTATION

Bentley Systems, Incorpor...

1. A method for displaying a two-dimensional (2-D) drawing that includes details corresponding to internal features of a physical
structure in an augmented reality view shown on a display screen of an electronic device, comprising:
imposing a three-dimensional (3-D) model that includes internal features of the physical structure within a view of the physical
structure captured by a camera;

imposing the 2-D drawing that includes the details corresponding to the internal features of the physical structure within
the view of the physical structure captured by the camera;

determining, by the electronic device, an interface element in a user interface has been activated by a user; and
in response to activation of the interface element, showing a portion of the 2-D drawing that includes the details corresponding
to the internal features of the physical structure by displaying the portion of the 2-D drawing surrounded by a portion of
the 3-D model that includes the internal features to provide context for the details, and displaying the portion of the 3-D
model surrounded by a portion of the view of the physical structure captured by the camera that provides context for the internal
features.

US Pat. No. 9,406,138

SEMI-AUTOMATIC POLYLINE EXTRACTION FROM POINT CLOUD

Bentley Systems, Incorpor...

1. A method for semi-automatically extracting a polyline from a linear feature in a point cloud, comprising:
receiving, from a user, a selected point in the point cloud about the linear feature in the point cloud;
receiving, from the user, a starting search direction;
returning a plurality of line segments based on the linear feature by a process executing on an electronic device, by:
successively following one or more linear segments of the linear feature, beginning with a current search direction set to
the starting search direction and a current search location set about the selected point, and modeling the linear segments
with line segments, wherein

when an end of a linear segment is reached, determining whether there is an intersection based on detection of greater than
a threshold number of points of the linear feature in multiple directions,

in response to there being an intersection, prompting the user to provide an updated search direction that is used as the
current search direction,

in response to there not being an intersection, continuing to successively follow one or more linear segments of the linear
feature after the intersection, and modeling the one or more linear segments after the intersection with line segments,

when an end of a linear segment is reached, determining whether there is a jumpable gap,
in response to determining there is a jumpable gap, continuing to successively follow one or more linear segments of the linear
feature after the jumpable gap, and modeling the one or more linear segments after the jumpable gap with line segments, and

in response to there not being a jumpable gap, returning the line segments; and
creating a polyline from the returned line segments.

US Pat. No. 9,454,554

VIEW DEPENDENT QUERY OF MULTI-RESOLUTION CLUSTERED 3D DATASET

BENTLEY SYSTEMS, INCORPOR...

1. A method for obtaining data, from a data set that describes the topography of a three-dimensional surface at points, at
a resolution appropriate for visualization on a display screen of an electronic device, comprising:
organizing data of the data set into a number of resolutions by spatial indexing, a spatial index having a plurality of nodes,
where each node of the spatial index represents a cluster of data of the data set at a corresponding resolution that includes
a set of the points;

selecting a lowest resolution cluster of data from the spatial index;
calculating a point density in a coordinate system of the display screen resulting from data at the resolution of the selected
cluster of data, wherein the point density is calculated as a number of display screen pixels per point of the cluster of
data;

for any visible data in the selected cluster of data for a type of visualization to be shown on the display screen, comparing
the point density in the display screen's coordinate system to a configured threshold;

if the point density in the display screen's coordinate system is below the configured threshold, considering the visible
data in the selected cluster of data is at a resolution appropriate for visualization, and returning the visible data in the
selected cluster of data for display on the display screen; and

if the point density in the display screen's coordinate system is above the configured threshold, selecting one or more next-higher
resolution clusters of data from the spatial index, and repeating the calculating, comparing and the considering and returning,
or the selecting one or more next-higher resolution clusters, as the case may be, for the one or more next-higher resolution
clusters of data.

US Pat. No. 9,384,308

MULTI-DIMENSIONAL ARTIFACT ASSEMBLAGE FOR INFRASTRUCTURE AND OTHER ASSETS WITH INTERFACE NODE MEDIATORS

Bentley Systems, Inc., E...

1. A non-transitory computer useable information storage medium storing computer executable instructions of computer aided
design (CAD) software and a viewer which when executed by a processor perform:
creating a three dimensional (3D) artifact in the CAD software representing an object;
creating a two dimensional (2D) artifact in the CAD software defining design details for a location in the object;
creating an assemblage of the 2D and 3D artifacts in the CAD software where the 2D artifact is linked to the location in the
3D artifact;

displaying the assemblage in the viewer on a display screen;
providing an interface node in the assemblage at the location indicating the 2D artifact is provided;
receiving a selection of the interface node in the viewer from a user via an input device; and
in response to the selection of the interface node,
modifying the 3D artifact as displayed in the viewer on the display screen to at least one of clip the 3D artifact at the
location of the interface node or resymbolize the 3D artifact to change hatching, patterning, color, line weight, or line
style used in the 3D artifact to represent the object, and

displaying, on the display screen, the 2D artifact in the context of the modified 3D artifact at the location in the 3D artifact,
wherein the 3D artifact includes a 3D CAD model of the object and the 2D artifact includes a 2D construction drawing used
in construction of the object.

US Pat. No. 9,824,490

AUGMENTATION OF A DYNAMIC TERRAIN SURFACE

Bentley Systems, Incorpor...

1. A method for providing augmented reality for a site having a dynamically changing terrain surface comprising:
capturing a live georeferenced terrain surface topography for the site using a sensor;
capturing an image of the site using a camera;
determining a georeferenced camera pose of the camera using a tracking system;
aligning a georeferenced three-dimensional (3-D) model for the site with the live georeferenced terrain surface topography;
and

using at least the captured image, the georeferenced camera pose, the georeferenced 3-D model and the live georeferenced terrain
surface topography, to create an augmented view of the site that shows graphical representations of subsurface features, wherein
a least a portion of the graphical representations are dynamically conformed to the contours of the terrain surface based
on the live georeferenced terrain surface topography.

US Pat. No. 9,454,623

SOCIAL COMPUTER-AIDED ENGINEERING DESIGN PROJECTS

BENTLEY SYSTEMS, INCORPOR...

1. A method for social review of computer aided design (CAD) projects, comprising:
executing a CAD application on the first computer;
establishing a connection between an abstraction layer associated with the CAD application on the first computer and a separate
social collaboration application on the first computer;

in response to selection of interface elements in the CAD application by a first user, causing the separate social collaboration
application to create a social review session between at least the first user of the first computer and a second user of a
second computer, wherein the second computer lacks a copy of the CAD application but has a copy of a different application;

using the social collaboration application on the first computer to synchronize the first user's current view of a CAD model
in the CAD application on the first computer with a view seen by the second user in the different application on the second
computer by

receiving indications of the first user's current view of the CAD model from the CAD application on the first computer, at
the abstraction layer on the first computer, and

interfacing, by the abstraction layer on the first computer, with an application program interface (API) of the social collaboration
application on the first computer to cause the social collaboration application on the first computer to transmit the indications
of the first user's current view of the CAD model to the social collaboration application on the second computer; and

using the social collaboration application on the first computer to exchange annotations on the first computer made by the
first user on the current view of the CAD model with the second user of the different application on the second computer by

receiving indications of the first user's annotations on the current view of the CAD model from the CAD application at the
abstraction layer on the first computer, and

interfacing, by the abstraction layer on the first computer, with the API of the social collaboration application on the first
computer to cause the social collaboration application on the first computer to transmit the annotations to the social collaboration
application on the second computer.

US Pat. No. 9,721,043

COMPUTER-IMPLEMENTED LAND PLANNING SYSTEM AND METHOD WITH GIS INTEGRATION

Bentley Systems, Incorpor...

1. A computer-implemented land planning system designed to generate at least one conceptual fit and cost-optimized solution
to a user-defined land development problem, said system comprising:
a processor configured for collecting existing GIS data for a selected undeveloped land site, said GIS data being selected
from a group consisting of site boundaries, topography, and satellite imagery;

said processor further configured for electronically generating at least one candidate solution to the land development problem,
said candidate solution comprising a plurality of interrelated engineering measurements applicable in development of the undeveloped
land site, and said plurality of engineering measurements being selected from a group consisting of site layout, site grading,
and site utilities;

said plurality of engineering measurements comprising respective cost data;
said processor further configured to execute instructions comprising an optimization engine adapted for manipulating said
engineering measurements of said candidate solution until at least one cost-optimized fit solution to the land development
problem is achieved, whereby a change relative to one of said plurality of engineering measurements for said candidate solution
effects a change relative to another of said plurality of engineering measurements for that candidate solution; and

an output device for outputting to a user documentation illustrating said cost-optimized fit solution to the land development
problem, wherein said cost-optimized fit solution to the land development problem comprises a site plan.

US Pat. No. 9,691,175

3-D MODELS AS A NAVIGABLE CONTAINER FOR 2-D RASTER IMAGES

Bentley Systems, Incorpor...

1. A method comprising:
displaying a three-dimensional (3-D) model of a structure in a user interface on a display screen of an electronic device;
providing in the 3-D model, by the electronic device, icons that each correspond to a respective two-dimensional (2-D) raster
image of the structure, each icon located at a position within 3-D space of the 3-D model corresponding to a position in physical
space associated with the 2-D raster image;

receiving a selection of a particular icon on an input device of the electronic device; and
in response to receiving the selection of the particular icon, showing, in the user interface on the display screen of the
electronic device, a combined view depicting a processed version of the corresponding 2-D raster image for the particular
icon superimposed upon a corresponding portion of the 3-D model, as viewed from the position within 3-D space of the 3-D model,
wherein the processed version of the corresponding 2-D raster image has a part removed to create a window through which one
or more elements of the 3-D model are visible.

US Pat. No. 9,984,496

TECHNIQUE FOR COMPACT AND ACCURATE ENCODING TRIM GEOMETRY FOR APPLICATION IN A GRAPHICAL PROCESSING UNIT

Bentley Systems, Incorpor...

1. A method of encoding trim geometry for application in a graphical processing unit (GPU) of an electronic device, comprising:associating a UV trim polygon with a surface, the UV trim polygon when wrapped onto the surface indicating a portion of the surface that is to be trimmed;
recursively subdividing the UV trim polygon into a predetermined number of tiles until a condition is satisfied, to produce a set of tiles;
representing each tile of the set of tiles by a value, the value of one or more first tiles of the set indicating an area of the UV trim polygon corresponding to the respective tile is entirely solid, the value of one or more second tiles of the set indicating an area of the UV trim polygon corresponding to the respective tile is entirely void, and the value of one or more third tiles of the set providing an index into an associated trim array that stores a trim expression that specifies a trim included in the respective tile, the trim expression stored as a series of encoded planes and operators that are represented as color values of a texture; and
applying each tile of the set of one or more tiles in the GPU to render a trimmed representation of the surface on a display screen of the electronic device.

US Pat. No. 9,507,502

CONFIGURABLE MULTIDIMENSIONAL PLACEMENT DASHBOARD

Bentley Systems, Incorpor...

1. A method comprising:
displaying a multidimensional model of a physical system within a workspace portion of a user interface on a display screen
of an electronic device, the multidimensional model including a plurality of objects that represent physical entities, an
object of the plurality of objects being subject to manipulation, the manipulated object interacting with one or more other
objects of the plurality of objects;

showing interface elements associated with the manipulated object in a placement dashboard of the user interface, the interface
elements operable as both controls for changing location or orientation of the manipulated object and as measurement displays
for displaying measurements related to the manipulated object, the interface elements shown selected from among a set of possible
interface elements based on a type of the manipulated object and on a contextual relationship between the manipulated object
and the one or more other objects of the plurality of objects, wherein at least one possible interface element is hidden when
changes to location or orientation that the possible interface element would provide are meaningless for the manipulated object;
and

using one or more of the interface elements as controls or as measurement displays in connection with changing the location
or orientation of the manipulated object within multidimensional space of the multidimensional model relative to a reference,
the change to the location or orientation being limited based on the type of the manipulated object and on the contextual
relationship between the manipulated object and one or more other objects of the plurality of objects,
wherein the contextual relationship between the manipulated object and one or more other objects of the plurality of objects
including one or more constraints imposed on the manipulated object by the interaction of the manipulated object with the
one or more other objects of the plurality of objects.

US Pat. No. 9,983,776

SOFTWARE SYSTEM FOR DYNAMIC FEATURE EXTRACTION FOR STRUCTURAL HEALTH MONITORING

Bentley Systems, Incorpor...

1. A method for extracting dynamic features from data sets captured by sensors of a structural health monitoring system (SHM) system affixed to a structure, comprising:receiving, by a software tool executing on an electronic device, a data set from the SHM system, the data set including at least one of ambient vibration data or earthquake vibration data captured by the sensors of the SHM affixed to the structure;
selecting a solution method in response to user input received in a user interface (UI) of the software tool shown on a display screen of the electronic device, the solution method including at least one of time domain analysis or frequency domain decomposition;
guiding a user to select at least one parameter value from a subset of determined-effective parameter values computed by the software tool, the subset of determined-effective parameter values being less than all possible parameter values for an associated parameter;
automatically performing, by the software tool, the selected solution method on the data set using the selected at least one parameter value to determine the dynamic features; and
displaying a graphical representation of the dynamic features in the UI of the software tool,
wherein the dynamic features include at least frequencies or modal shapes for the structure.

US Pat. No. 9,715,008

VISUALIZATION OF 3-D GPR DATA IN AUGMENTED REALITY

Bentley Systems, Incorpor...

1. A method, comprising:
displaying an augmented reality view on a display screen of an electronic device;
creating a virtual excavation in a surface shown in the augmented reality view, the virtual excavation having a plurality
of boundary surfaces that are defined by positions in three-dimensional (3-D) space of a 3-D model;

calculating, by the electronic device, an intersection of positions of the plurality of boundary surfaces of the virtual excavation
in the 3-D space of the 3-D model and 3-D ground penetrating radar (GPR) data that has been indexed in the 3-D space of the
3-D model;

extracting, by the electronic device, data items of the 3-D GPR data that intersect the plurality of boundary surfaces of
the virtual excavation to create a plurality of data sets, each data set corresponding to a respective one of the boundary
surfaces of the virtual excavation; and

for each data set, projecting a two-dimensional (2-D) image based on the extracted 3-D GPR data items of the data set onto
the corresponding boundary surface of the virtual excavation in the augmented reality view, the 2-D image including colors
or shading to show subsurface features determined from the extracted 3-D GPR data items.

US Pat. No. 9,922,140

NAMED INTELLIGENT CONNECTORS FOR CREATING ASSEMBLIES OF COMPUTER AIDED DESIGN (CAD) OBJECTS

Bentley Systems, Incorpor...

1. A method of creating assemblies of computer aided design (CAD) objects with a CAD application executing on an electronic
device, comprising:
providing a first model object in a modeling space of the CAD application, the first model object having a first connector,
the first connector defined by a position and orientation in a local coordinate system of the first model object;

providing a second model object in the modeling space of the CAD application, the second model object having a second connector
defined by a position and orientation in a local coordinate system of the second model object;

receiving an instruction in the user interface of the CAD application that the first model object is to be connected via the
first connector to the second connector to the second model object; and

establishing a connection between the first model object and the second model object by recording invariant information about
each connector, the invariant information to indicate the position and orientation of the second connector in the local coordinate
system of the first model object within the first connector, and to indicate the position and orientation of the first connector
in the local coordinate system of the second model object within the second connector.

US Pat. No. 9,761,045

DYNAMIC AND SELECTIVE MODEL CLIPPING FOR ENHANCED AUGMENTED HYPERMODEL VISUALIZATION

Bentley Systems, Incorpor...

1. A method comprising:
aligning a three-dimensional (3-D) model with a view of a physical environment captured by a camera;
generating an augmented reality view by superposing elements of the 3-D model and the view of the physical environment, at
least some of the elements of the 3-D model being initially hidden behind the view of the physical environment within the
augmented reality view;

configuring an exclusion list for elements of the 3-D model;
imposing a virtual window that penetrates a wall of a structure within the augmented reality view, the virtual window clipping
the view of the physical environment and elements of the 3-D model that are not on the exclusion list that intersect the virtual
window, while preserving any elements of the 3-D model that are on the exclusion list that intersect the virtual window, to
produce a display that shows initially-hidden excluded elements of the 3-D model located within the virtual window in the
context of initially-hidden elements of the 3-D model located beyond the virtual window, in the larger context of the view
of the physical environment; and

displaying the augmented reality view with the virtual window on a display device.

US Pat. No. 9,881,419

TECHNIQUE FOR PROVIDING AN INITIAL POSE FOR A 3-D MODEL

Bentley Systems, Incorpor...

1. A method comprising:
displaying an initialization user interface of an augmented reality application on a display screen of an electronic device,
the initialization user interface simultaneously providing multiple views that each show a three-dimensional (3-D) model and
an image or point cloud captured of a real-life environment by a camera disposed in the real-life environment, each of the
multiple views updated substantially in real-time as a change is made in another of the multiple views, the multiple views
including a top-down view that depicts a 3-D model and the image or point cloud of the real-life environment from above, and
a first-person view that depicts the 3-D model and the image or point cloud of the real-life environment from a viewpoint
immersed within the real-life environment;

receiving, from a user interacting with at least the top-down view of the initialization user interface, an approximate lateral
position of the image or point cloud of the real-life environment with respect to the 3-D model;

receiving, from the user interacting with at least the first-person view of the initialization user interface, an approximate
orientation of the image or point cloud of the real-life environment with respect to the 3-D model; and

determining, based on the approximate lateral position received from the user interacting with at least the top-down view
in the initialization user interface and the approximate orientation received from the user interacting with at least the
first-person view in the initialization user interface, correspondence between a plurality of portions of the 3-D model and
a plurality of corresponding portions of the image or point cloud of the real-life environment to anchor the 3-D model to
the image or point cloud of the real-life environment.

US Pat. No. 9,646,571

PANORAMIC VIDEO AUGMENTED REALITY

Bentley Systems, Incorpor...

1. An apparatus for providing an augmented view of a physical environment comprising:
a panoramic camera;
a processor; and
a memory coupled to the processor and configured to store instructions for an augmented reality application, the augmented
reality application including:

a capture process that when executed is operable to capture a panorama of the physical environment using the panoramic camera,
the panorama having a panoramic field of view and being embodied as a sequence of video frames,

an initialization process that when executed is operable to determine an initial pose of the panoramic camera,
a tracking process that when executed is operable to track the panoramic camera to update the initial pose to subsequent poses
to account for movement of the panoramic camera about the physical environment, the tracking process to utilize features dispersed
across the panoramic field of view of the video frames, and

an augmentation process that when executed is operable to augment the panorama by merging computer-generated elements with
the panorama based on the updated pose of the panoramic camera, and to display a sub-portion of the panorama, along with the
computer-generated elements, as an augmented view, the displayed augmented view having a field of view that is less than the
panoramic field of view.

US Pat. No. 9,918,204

HIGH ACCURACY INDOOR TRACKING

Bentley Systems, Incorpor...

1. A method for tracking a mobile device within a building, comprising
determining a course position estimate of the mobile device using a positioning system, the course position estimate indicating
a room of a plurality of rooms of the building in which the mobile device is located;

capturing a live point cloud of surroundings of the mobile device using one or more sensors of the mobile device;
accessing a portion of a pre-captured point cloud of the interior of the building that serves as a reference, the portion
of the pre-captured point cloud corresponding to the indicated room;

determining, by tracking software executing on the mobile device, an initial pose of the mobile device, based on a comparison
of the live point cloud to a portion of the pre-captured point cloud corresponding to the indicated room; and

determining, by the tracking software executing on the mobile device, updated poses of the mobile device when the mobile device
is moved, based on further comparison of the live point cloud to the portion of the pre-captured point cloud corresponding
to the indicated room.

US Pat. No. 10,073,612

FIXED CURSOR INPUT INTERFACE FOR A COMPUTER AIDED DESIGN APPLICATION EXECUTING ON A TOUCH SCREEN DEVICE

Bentley Systems, Incorpor...

1. A method for using a fixed cursor input interface to interact with a model of a computer aided design (CAD) application on an electronic device having a touch screen display, comprising:displaying, on the touch screen display, a view of the model within a workspace of the CAD application;
displaying, on the touch screen display, a fixed cursor at a designated position relative to a reference independent from the view of the model;
displaying, on the touch screen display, a toolbar that includes a plurality of interface elements that represent input types;
receiving, on the touch screen display, touch input within the workspace of the CAD application;
in response to the touch input within the workspace, panning or moving within model space to change the view of the model, while maintaining the fixed cursor at the designated position;
receiving, on the touch screen display, a selection of one of the interface elements that represent input types; and
in response to receiving the selection, performing an action by the CAD application related to a position in model space superposed by the fixed cursor.

US Pat. No. 10,061,872

TECHNIQUES FOR SUPPRESSING UNWANTED CLASHES

Bentley Systems, Incorpor...

1. A method for suppressing unwanted clashes between elements of a computer aided design (CAD) project, comprising:receiving, by a software application executing on an electronic device, a user-defined script for a clash suppression rule that includes at least an abstraction-based query and control flow statements, the abstraction based query including classes and relationships;
executing, by the software application, the user-defined script for a given clash between two or more elements by
mapping the abstraction-based query to a query of a relational database that maintains element data for the CAD project, the mapping to map classes to underlying data tables and relationships to foreign key constraints or link tables of the relational database,
returning element data from the relational database in response to the query, and
evaluating the returned element data using the control flow statements to determine whether the given clash is an unwanted clash; and
suppressing the given clash in response to determining the given clash is an unwanted clash.

US Pat. No. 9,964,468

OPTIMIZING SENSOR PLACEMENT FOR STRUCTURAL HEALTH MONITORING

Bentley Systems, Incorpor...

1. A method of optimizing sensor placement for structural health monitoring of a structure, comprising:representing the structure by a finite element (FE) model having a plurality of elements connected at nodes;
generating a contribution database that is stored on a non-transitory electronic device readable medium by:
generating a plurality of damage scenarios representing structural damage to the structure, using a Monte Carlo simulation algorithm which produces random damage scenarios, each random damage scenario involving structural damage to one or more randomly selected elements of the FE model, and
analyzing each damage scenario to determine sensitivity at possible sensor locations;
receiving a user's selection of a number of sensors to be applied to the structure;
optimizing placement of the number of sensors to produce an optimized sensor location set that maximizes coverage of dynamic integrity for the number of sensors, wherein dynamic integrity is measured as a ratio of detectable damage scenarios to the plurality of damage scenarios, by:
determining a candidate sensor location set by an optimization module that utilizes a genetic algorithm executing on an electronic device,
computing a performance indicator for the candidate sensor placement solution based on the contribution database, by a sensor placement evaluation module executing on the electronic device or another electronic device, wherein the performance indicator is computed as a ratio of a number of damage scenarios covered by the candidate sensor placement solution to a total number of the plurality of damage scenarios,
using, by the optimization module, the performance indicator as a fitness value for the candidate sensor location set to search for a subsequent sensor location set, and
repeating the determining, computing and using until the optimized sensor location set is produced; and
applying sensors at locations on the structure indicated by the optimized sensor location set.

US Pat. No. 10,060,835

OPTIMIZING HYDRANT SELECTION FOR FLOW TEST OF WATER DISTRIBUTION SYSTEMS

Bentley Systems, Incorpor...

1. A method of optimizing selection of hydrants for flow test in a water distribution system, comprising:building an impact database that is stored on a non-transitory electronic device readable medium, the impact database to indicate whether a flow test at each hydrant in the water distribution system has an impact on each pipe of the water distribution system;
receiving, by a hydrant selection solver application executing on the electronic device, a user-supplied number of hydrants to be subject to flow test;
searching, by the hydrant selection solver application for an optimized set of hydrants for flow test that include the user-supplied number, the searching to include:
generating a candidate set of hydrants for flow test,
calculating a fitness value for the candidate set of hydrants for flow test using the impact database, the fitness value to evaluate performance of the candidate set of hydrants for flow test based on flow velocity or hydraulic gradient change in pipes,
evolving the candidate set of hydrants based on the fitness value to produce a subsequent candidate set of hydrants for flow test, and
iteratively repeating the calculating and evolving until a stopping criteria is reached to produce an optimized set of hydrants for flow test that maximizes the fitness value;
displaying, by the hydrant selection solver application on a display screen on the electronic device, indications of the optimized set of hydrants; and
conducting a flow test at each of the hydrants of the water distribution system indicated in the optimized set of hydrants from the hydrant selection solver application.

US Pat. No. 10,185,787

TOOL FOR ACCURATE ONSITE MODEL VISUALIZATION THAT FACILITATES ENVIRONMENT INTERACTION

Bentley Systems, Incorpor...

1. A method for onsite model visualization that facilitates interaction with a physical environment at the site, comprising:aligning a computer aided design (CAD) model of a site with the physical environment;
tracking a location of a mobile unit carried by the user as the user moves about the physical environment;
determining an orientation of the mobile unit in the physical environment as the user moves about the physical environment;
displaying, on a display screen of the mobile unit, a view of the CAD model from a virtual camera whose location and orientation is based on the location and the orientation of the mobile unit in the physical environment, the view of the CAD model being updated substantially in real-time as the user moves about the physical environment and including a location indicator corresponding to the location of the mobile unit within physical space; and
interacting, by a user, with the physical environment, based on the location indicator in the view of the CAD model.

US Pat. No. 10,255,716

MULTI-RESOLUTION TILED 2.5D DELAUNAY TRIANGULATION STITCHING

Bentley Systems, Incorpor...

1. A method for reconstructing a coherent tiled mesh surface, comprising:building, by a software process executing on an electronic device, a spatial index for 2.5D data, the spatial index including nodes that correspond to a plurality of tiles of the 2.5D data;
applying a 2.5D Delaunay triangulation algorithm to data of nodes of the spatial index to create a plurality of independent mesh surfaces that each correspond to a tile;
stitching, by the software process, the plurality of independent mesh surfaces together to form the coherent tiled mesh surface, the stitching, for each independent mesh surface, including:
removing boundary triangles and triangles influenced by neighboring tiles,
computing a polygon surrounding all the remaining triangles of the independent mesh surface,
triangulating points of removed triangles with a set of constraints that include constraints from neighboring tiles to produce a context, wherein the set of constraints used in the triangulating points of removed triangles include the computed polygon as a void constraint, and
merging the context and the remaining triangles of the independent mesh surface, to produce a stitched mesh surface; and
outputting the coherent tiled mesh surface.

US Pat. No. 10,255,720

HYBRID MESH FROM 2.5D AND 3D POINT DATA

Bentley Systems, Incorpor...

1. A method comprising:accessing, a plurality of data sources that collectively include 2.5D point data and 3D point data;
classifying each of the data sources as being either a 2.5D data source or a 3D data source;
building, by the application, a hybrid spatial index organized as a tree having nodes associated with point data, the nodes arranged in one or more levels according to parent-child relationships, each node labeled as containing 2.5D data or 3D data;
executing, by the application, a reconstruction process independently on point data associated with each node of the hybrid spatial index to reconstruct a mesh surface, wherein the reconstruction process employs a different reconstruction algorithm on nodes labeled as containing 2.5D data than on nodes labeled as containing 3D data; and
storing the reconstructed mesh surface.

US Pat. No. 10,161,749

OPTIMIZING WATER QUALITY SENSOR PLACEMENT FOR WATER DISTRIBUTION SYSTEMS

Bentley Systems, Incorpor...

1. A method of optimizing water quality sensor placement in a water distribution network, comprising:building, by an analysis application executing on an electronic device, an impact database that is stored on a non-transitory electronic device readable medium by:
generating a plurality of target scenarios, and
analyzing each target scenario to determine whether water quality variation is detectable at each of a plurality of possible sensor locations, wherein water quality is considered to be detectable at a sensor location when a change in pipe wall reaction coefficients leads to a change in water quality at the sensor location that is greater than a threshold;
optimizing, by the analysis application executing on the electronic device, placement of a number of water quality sensors at the possible sensor locations by:
generating a candidate water quality sensor location set by an optimization module of the analysis application,
calculating water quality sensor network efficiency for the candidate water quality sensor location set using the impact database, wherein water quality sensor network efficiency is based on a length of pipes where water quality variations are detectable by at least one water quality sensor, and
using, by the optimization module, the water quality sensor network efficiency to generate subsequent water quality sensor location sets that have greater water quality sensor efficiency until an optimized sensor location set that maximizes the length of pipes where water quality variations are detectable is produced; and
applying water quality sensors at locations in the water distribution network indicated by the optimized sensor location set that maximize the length of pipes where water quality variations are detectable.

US Pat. No. 10,366,180

COMPUTER-IMPLEMENTED LAND PLANNING SYSTEM AND METHOD WITH AUTOMATED PARKING AREA DESIGN TOOLS

Bentley Systems, Inc., E...

1. A computer-implemented land planning system designed to generate at least one conceptual fit and optimized solution to a user-defined land development problem, the solution comprising a conceptual site layout including at least one building pad and a vehicle parking area within an undeveloped land site, said system comprising:a processor configured to conceptually designing said vehicle parking area within the undeveloped land site, said vehicle parking area comprising a plurality of user defined constraints selected from a group consisting of a predetermined minimum size of said parking area, a predetermined minimum number of parking spaces within said parking area, a width of each parking space, a depth of each parking space, custom-sized parking spaces, aisle width, number of handicap parking spaces, and number of divided parking lots within said parking area;
said processor further configured to electronically generating at least one candidate solution to the land development problem given the user defined constraints of said vehicle parking area, said candidate solution comprising a plurality of interrelated engineering measurements applicable in development of the undeveloped land site, and said engineering measurements comprising site layout measurements selected from a group consisting of building pad location within said undeveloped land site, building pad orientation relative to said vehicle parking area, a paving surface measurement, curb length, and a sidewalk surface measurement;
an optimization engine comprising a heuristic problem-solving strategy utilizing nonlinear processes to manipulate said engineering measurements of said candidate solution given the user defined constraints of said vehicle parking area until at least one optimized fit solution to the land development problem is achieved, whereby a change relative to one of said plurality of engineering measurements for said candidate solution effects a change relative to another of said plurality of engineering measurements for that candidate solution; and
an output device configured to output to a user documentation illustrating said optimized fit solution to the land development problem, wherein the optimized fit solution comprises a site plan applicable for use in development of the land site.

US Pat. No. 10,311,051

STORING MODELING ALTERNATIVES WITH UNITIZED DATA

Bentley Systems, Incorpor...

1. A method comprising:accessing, in a relational database maintained in a memory of an electronic device, elements of a system model that models an engineered system, each element representing a portion of the engineered system and identified by an element identifier (ID) that uniquely identifies the respective element;
accessing, in the relational database, a selected scenario that references a plurality of alternatives that exist among a larger plurality of alternatives organized according to an alternative hierarchy, each alternative indicating parameter values for a single facet of a modeling problem embodied in the system model and identified by an alternative ID that uniquely identifies the alternative, each alternative further maintaining an explicit indication of a level in the alternative hierarchy to which the respective alternative belongs;
performing a bulk-data retrieval of parameter values for the elements from a unitized data store in the relational database, the bulk-data retrieval to include a database query that specifies at least a list of alternative IDs for one or more alternatives of the selected scenario used in an alternative ID-element ID pair that provides a direct reference into the unitized data store, the database query restricting results based on a maximum level of the alternative hierarchy such that retrieved parameter values are from child-most alternatives of the alternative hierarchy; and
using the retrieved parameter values, by a modeling application, to execute the system model.

US Pat. No. 10,311,167

HORIZONTAL AND VERTICAL GEOMETRY MANIPULATORS

Bentley Systems, Incorpor...

1. A method for manipulating the geometry of one or more elements that represent a generally linear unit of infrastructure in three-dimensional (3D) space in a computer aided design (CAD) application executing on an electronic device, comprising:displaying a view of the one or more elements in a graphical user interface (GUI) of the CAD application shown on a display device of the electronic device, the one or more elements having a two-dimensional (2D) horizontal geometry and a 2D vertical geometry;
generating one or more horizontal geometry manipulators attached along the one or more elements, each horizontal geometry manipulator visualized in the view and movable in 3D space;
generating one or more vertical geometry manipulators attached along the one or more elements, each horizontal geometry manipulator visualized in the view and movable in 3D space;
in response to user input in the GUI moving a horizontal geometry manipulator to a first new position in 3D space, determining a horizontal position along the one or more elements, recreating 2D horizontal geometry of the one or more elements to be tangent to the horizontal position, recreating 2D vertical geometry to maintain elevation, repositioning the one or more vertical geometry manipulators along the one or more elements, and updating the view of the one or more elements in the GUI of the CAD application shown on the display device; and
in response to user input in the GUI moving a vertical geometry manipulator to a second new position in 3D space, determining a vertical position along the one or more elements, recreating 2D vertical geometry of the one or more elements to adjust elevation based on the vertical position, and updating the view of the one or more elements in the GUI of the CAD application shown on the display device.

US Pat. No. 10,262,631

LARGE SCALE HIGHLY DETAILED MODEL REVIEW USING AUGMENTED REALITY

Bentley Systems, Incorpor...

1. A method for model review using augmented reality, comprising:selecting, by an augmented reality device of a user, an overview resolution and an overview size for displaying the model;
obtaining tiles from a remote computing device for the overview resolution;
augmenting the model at the overview resolution and the overview view size into a physical environment at a data location;
displaying, by the augmented reality device, the model augmented into the physical environment to the user disposed at a view location;
receiving input requesting a change to a new resolution for the model;
in response to the input requesting the change to the new resolution,
obtaining additional tiles from the remote computing device for the new resolution,
augmenting the model at the new resolution and a new view size into the physical environment at the data location, and
displaying, by the augmented reality device, the model augmented into the physical environment to the user disposed at the view location;
receiving input requesting navigation of the model; and
in response to the input requesting navigation of the model, changing at least one of the data location in the physical environment at which the model is augmented or the view location from which the user views the model.

US Pat. No. 10,162,471

TECHNIQUE TO DYNAMICALLY ENHANCE THE VISUALIZATION OF 3-D POINT CLOUDS

Bentley Systems, Incorpor...

6. A method for visualizing a three-dimensional (3-D) representation, comprising:displaying at least a part of the 3-D representation within a user interface of an application shown on a display screen of an electronic device;
determining a user-selected size based on input in the user interface of the application;
displaying a cursor within the user interface that is associated with a point within 3-D space of the 3-D representation, the cursor controlled by a pointing device of the electronic device;
imposing, by the application, a 3-D virtual region that is defined in reference to a cursor plane that extends through the point associated with the cursor and a normal vector that extends from the point associated with the cursor in a direction that determines the orientation of the 3-D virtual region, the 3-D virtual region having at least an on plane part that encompasses a threshold distance from the cursor plane, a forward part located to a forward side of the cursor plane in the direction of the normal vector and a backward part located to a backward side of the cursor plane away from the direction of the normal vector; and
highlighting, by the application, portions of the 3-D representation that fall within the 3-D virtual region, wherein the highlighting highlights portions of the 3-D representation that fall within the on plane part of the 3-D virtual region with respect to the cursor plane in a first manner, highlights portions of the 3-D representation that fall within the forward part of the 3-D virtual region with respect to the cursor plane in a second manner, the second manner different than the first manner, and highlights portions of the 3-D representation that fall within the backward part of the 3-D virtual region with respect to the cursor plane in a third manner, the third manner different than both the first manner and the second manner.

US Pat. No. 10,451,416

OPTIMIZING SENSOR PLACEMENT FOR STRUCTURAL HEALTH MONITORING BASED ON INFORMATION ENTROPY OR TOTAL MODAL ENERGY

Bentley Systems, Incorpor...

18. A method of optimizing sensor placement for structural health monitoring of a structure, comprising:selecting, in a user interface (UI) of an analysis application executing on the electronic device, a finite element (FE) model of the structure, the FE model having a plurality of elements connected at nodes, wherein possible sensor locations coincide with nodes of the FE model;
generating, by the analysis application, based on the FE model of the structure, an evaluation database that stores an information matrix usable to determine information entropy or mode shape for sensor placements;
optimizing, by an analysis application executing on an electronic device, placement of a number of sensors to produce an optimized sensor location set that minimizes information entropy or maximizes total modal energy, by
determining one or more candidate sensor location sets using a genetic algorithm of the analysis application,
computing performance indicators for the candidate sensor location sets by applying the candidate sensor location sets to the information matrix stored in the evaluation database, and
using of the performance indicators as fitness values to search for one or more subsequent sensor location sets, for a plurality of iterations and until the optimized sensor location set is produced that minimizes information entropy or maximizes total modal energy; and
applying sensors at locations in the structure indicated by the optimized sensor location set that minimizes information entropy or maximizes total modal energy.

US Pat. No. 10,395,419

NON-DESTRUCTIVE MULTI-RESOLUTION SURFACE CLIPPING

Bentley Systems, Incorpor...

1. A method for rendering on a display screen a clipped surface mesh, comprising:receiving a surface mesh file and one or more clip objects, the surface mesh file storing a surface mesh organized by a spatial index structured as a tree having a plurality of nodes, each clip object functioning as a mask where the surface mesh is to be hidden or a boundary within which the surface mesh is to be shown;
adding a unique identifier of a clip object to each node of the spatial index that intersects the clip object;
for any currently displayed nodes in a user interface on a display screen that intersect one or more clip objects, computing, and storing in a clip file separate from the surface mesh file, clip geometries and a series of meshes that partition the node into clipped regions;
for any non-currently displayed nodes, computing and updating the clip file in response to display of the respective node;
rendering a clipped surface mesh by assembling regions of the surface mesh from the surface mesh file that are not affected by clip objects together with meshes of clipped regions from the clip file; and
displaying the rendered clipped surface mesh on the display screen.

US Pat. No. 10,395,427

ON-SITE VISUALIZATION AND MODELING USING P AND ID DRAWINGS AND AUGMENTED REALITY

Bentley Systems, Incorpor...

1. An on-site method for locating a line or symbol in a functional drawing that represents a user-selected object in a physical environment using augmented reality, comprising:accessing, from a memory of an electronic device or a remote server, at least a portion of a three-dimensional (3-D) model and the functional drawing for a location of the electronic device, the functional drawing illustrating a process flow using lines and symbols that are independent of size and shape of objects in the physical environment;
aligning the 3-D model with a scene in the physical environment;
augmenting the scene based on the 3-D model;
displaying the augmented scene on a display of the electronic device;
receiving a user-selection of an object in the physical environment in the displayed augmented scene;
determining a 3-D element of the 3-D model that corresponds to the user-selected object;
determining a corresponding line or symbol of the functional drawing that corresponds to the 3-D element; and
displaying, on the display of the electronic device, a version of the functional drawing in which the corresponding line or symbol is highlighted.

US Pat. No. 10,295,435

MODEL-BASED DAMAGE DETECTION TECHNIQUE FOR A STRUCTURAL SYSTEM

Bentley Systems, Incorpor...

1. A method of detecting damage to a structure, comprising:accessing, by an analysis software package executing on an electronic device, a model of the structure that is stored on a non-transitory electronic device readable medium;
receiving, by the analyses software package, measured responses resulting from physical testing of the structure, the measured responses including responses measured under initial conditions and under damaged conditions;
searching, by the analysis software package, for a set of damaged elements that minimizes error produced by an error function that evaluates goodness-of-fit between the model and the structure under damaged conditions based on a discrepancy between a modeled response difference and a measured response difference, wherein the modeled response difference is a difference between modeled responses determined from the model configured to model initial conditions and configured to model conditions with selected damaged elements, and the measured response difference is a difference in measured responses determined from physical testing of the structure under the initial conditions and under damaged conditions; and
displaying, by the analysis software package on a display screen on the electronic device, indications of the set of damaged elements that minimizes the error produced by the error function that evaluates goodness-of-fit between the model and the structure under damaged conditions based on the discrepancy between the modeled response difference and the measured response difference.

US Pat. No. 10,380,270

COMPUTER-IMPLEMENTED LAND PLANNING SYSTEM AND METHOD

Bentley Systems, Inc., E...

1. A computer-implemented land planning system designed to generate at least one conceptual cost-optimized solution to a user-defined land development problem, said system comprising:a processor configured to electronically creating at least one candidate solution to the land development problem, said candidate solution comprising a plurality of interrelated engineering cost measurements applicable in development of a land site, and said plurality of engineering cost measurements being selected from a group consisting of grading, site layout, and utilities;
said processor further configured to employing a heuristic problem-solving strategy utilizing nonlinear processes to manipulate the engineering cost measurements of said candidate solution until at least one cost-optimized solution to the land development problem is achieved, whereby a change to one of said plurality of engineering cost measurements for said candidate solution effects a change to another of said plurality of engineering cost measurements for that candidate solution; and
an output device configured to transmit output data illustrating said cost-optimized solution to the land development problem, wherein said cost-optimized solution comprises a site plan applicable for use in development of the land site.