Techniques for providing proprietary solid modeling to an open-source infrastructure modeling platform

Inventors

Connelly, Paul

Assignees

Bentley Systems Inc

Interested in licensing this patent?

MTEC can help explore whether this patent might be available for licensing for your application.

Publication Number

US-12380642-B1

Patent

Publication Date

2025-08-05

Expiration Date


Abstract

In example embodiments, a proprietary implementation of solid modeling is provided at run-time as a binary to an open-source infrastructure modeling platform. The binary includes functionality of a solid modeling module that manipulates and uses BReps that represent geometry of elements of an infrastructure model. When an application that utilizes the open-source infrastructure modeling platform requires solid modeling, it may have a backend module call an exposed function of a DLL that returns a pointer to the binary. The backend module uses the pointer to create a session, which may be divided into a number of individual partitions that each correspond to one of its individual threads. BReps may be assigned to individual partitions. When a thread requires BReps to be manipulated and/or used, the corresponding partition may be used to acquire the needed BReps, perform the solid modeling operations, and either return results or an error.

Core Innovation

The invention provides solid modeling within an open-source infrastructure modeling platform by calling, by a backend module of the platform, a function of a dynamically loaded module (DLL) to obtain a pointer to an implementation of a solid modeling module built from a private repository. The solid modeling module implements functionality to manipulate and use boundary representation bodies (BReps) that represent geometry of elements of an infrastructure model.

Initialization includes creating a session of the solid modeling module, dividing the session into a number of individual partitions, and assigning BReps to the respective individual partitions. The backend module then uses an interface of the solid modeling module to request one or more partitions of the session to perform solid modeling operations on one or more BReps assigned to the requested partitions and to return results.

After receiving results from the partitioned solid modeling operations, the invention causes a frontend module of the open-source infrastructure modeling platform to update a display to a user. The platform is described as using separate primary and supporting solid modeling module interfaces that define operations for session control, restore and save BReps, conversion to curves and facets, property computations, comparisons and equality, coordinate transforms, material attachments, cloning, and changing partitions.

Claims Coverage

The independent claims are directed to a method, a non-transitory device-readable medium, and a computing device, each centered on a dynamically loaded DLL obtaining a pointer to a private-repository solid modeling module, initializing a partitioned solid modeling session, performing solid modeling operations on partition-assigned BReps, and updating a user display with returned results. The inventive features across the independent claims emphasize partitioned execution and the use of structured interfaces for solid modeling operations on BReps.

Dynamically loaded module pointer to private-repository solid modeling module

Calling, by a backend module of the open-source infrastructure modeling platform, a function of a dynamically loaded module (DLL) to obtain a pointer to an implementation of a solid modeling module built from a private repository that implements functionality to manipulate and use boundary representation bodies (BReps) that represent geometry of elements of an infrastructure model.

Partitioned solid modeling module session with BReps assigned to partitions

Utilizing, by the backend module, the pointer to initialize the solid modeling module, wherein initialization includes creating a session of the solid modeling module, the session is divided into a number of individual partitions, and BReps are each assigned to one of the individual partitions.

Request partition operations via solid modeling module interface and return results

Utilizing, by the backend module, an interface of the solid modeling module to request one or more partitions of the session of the solid modeling module to perform solid modeling operations on one or more BReps assigned to the respective partitions and return results.

Frontend display update based on partition results

Receiving the results produced by the partitions and causing a frontend module of the open-source infrastructure modeling platform to update a display to a user.

Instructions on non-transitory electronic device-readable medium to perform partitioned solid modeling

Instructions stored thereon for an open-source infrastructure modeling platform that, when executed by one or more processors, are operable to call a function of a dynamically loaded module (DLL) to obtain a pointer to an implementation of a solid modeling module built from a private repository; utilize the pointer to initialize the solid modeling module including creating a session divided into individual partitions with BReps assigned to the partitions; utilize an interface of the solid modeling module to request one or more partitions to perform solid modeling operations on partition-assigned BReps and return results; and receive the results produced by the partitions and cause update a display to a user.

Computing device backend software that performs dynamically loaded partitioned solid modeling

A memory coupled to the processor, wherein the memory is configured to maintain software for a backend module of the open-source infrastructure modeling platform that when executed on the processor is operable to call a function of a dynamically loaded module (DLL) to obtain a pointer to an implementation of a solid modeling module built from a private repository; utilize the pointer to initialize the solid modeling module including creating a session divided into a number of individual partitions and BReps assigned to the partitions; utilize an interface of the solid modeling module to request one or more partitions to perform solid modeling operations on partition-assigned BReps and return results; and receive the results produced by the partitions and cause update a display to a user.

Across the independent claims, the core inventive coverage is the same: dynamically loading a DLL to obtain a pointer to a private-repository solid modeling module, initializing a session partitioned so BReps are assigned to partitions, requesting partition-specific solid modeling operations via an interface and returning results, and updating a user display based on those results. Dependent claims further specify partition-to-thread mapping and structured primary and supporting interfaces with defined data types and operations for BRep representation, property computation, comparison, transforms and material attachments, cloning, partition changes, and facet and graphics generation.

Stated Advantages

Documented Applications

No documented applications found

JOIN OUR MAILING LIST

Stay Connected with MTEC

Keep up with active and upcoming solicitations, MTEC news and other valuable information.