Techniques for providing proprietary solid modeling to an open-source infrastructure modeling platform
Inventors
Assignees
Interested in licensing this patent?
MTEC can help explore whether this patent might be available for licensing for your application.
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
Interested in licensing this patent?