Design lazy loading system and server for views

Through lazy loading technology, the rendering software components and properties of large 3D models are loaded only when needed, solving the problems of long loading time and large resource occupancy, achieving faster file loading and a better user experience.

CN113366429BActive Publication Date: 2025-04-11AVEVA SOFTWARE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080011455.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-01-29
Filing Date
2020-01-28
Publication Date
2025-04-11
Estimated Expiration
2040-01-28

AI Technical Summary

Technical Problem

The prior art is difficult to effectively solve the problem of excessive computer resources required for large 3D models when loading and visualizing large 3D models, especially when it is necessary to quickly view file content.

Method used

Using lazy loading technology, by loading only the necessary rendering software components and model properties after selecting the model file, delaying the loading of pictures representing 2D and/or 3D models to reduce memory usage and improve loading speed.

Benefits of technology

It significantly reduces the use of computer resources, improves file loading speed, enables users to view file content more quickly, and improves user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113366429B_ABST
    Figure CN113366429B_ABST
Patent Text Reader

Abstract

A system and method for improving 2D and / or 3D model execution in a runtime environment is disclosed. The system uses a novel form of lazy loading to limit the amount of computer resources used when initially viewing a model or drawing. The system also allows for settings to be made for which components of the rendering software are loaded / not loaded when a model file is selected. The system provides a picture of a 2D and / or 3D model view in place of the full model after a model file is selected, and calls additional properties and / or rendering software components as needed as part of lazy loading execution when the model is loaded into the runtime environment.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of and priority to U.S. Provisional Application No. 62 / 798,350, filed on January 29, 2019, entitled “LAZY LOADING FOR DESIGN VIEWS SYSTEM AND SERVER,” the entire contents of which are incorporated herein by reference. Background Art

[0003] 3D models generated by industrial control and monitoring software platforms are becoming larger and more complex, leading to an increase in hardware requirements for any device attempting to access, load and visualize the data. For example, ship and plant design engineers often create large drawings with multiple views, sometimes containing an entire ship or process plant. In many cases, these are larger than A0 (typically 841 × 1189 mm or 33.11 × 46.81 inches), which often requires a lot of machine resources and long loading times because the full model must be loaded from a database.

[0004] Therefore, for 3D design data and annotations including labels, dimensions and other 2D elements, an enhanced file loading and display method is needed to minimize memory usage and allow faster loading of larger files while allowing users to quickly view the contents of the file. Summary of the invention

[0005] Some embodiments of the system relate to minimizing computer resources such as memory and processor bandwidth when executing processor executable code including two-dimensional (2D) and / or three-dimensional (3D) rendering software (collectively referred to herein as rendering software). In some embodiments, the rendering software can create 2D and / or 3D models. In some embodiments, the 2D model is a 2D drawing model representing a 3D model. In some embodiments, the 2D model is a 2D drawing model representing one or more structures. In some embodiments, as a non-limiting example, the structure represents a part of an industrial facility such as a manufacturing plant, an engine room, a hull, a pump, a pipeline, a walkway, a wire and / or a conduit. In some embodiments, the rendering software includes processor executable code (i.e., instructions) that allows manipulation of one or more model attributes. In some embodiments, the model attributes include one or more annotations, geometric manipulations, dimensions, proportions, measurements and / or manipulations of one or more views of the 2D and / or 3D model. For simplicity, components (i.e., modules) of the rendering software that facilitate manipulation of these attributes will be referenced by their root names and functions (e.g., annotators, scalers, measurers, manipulators, etc.). One of ordinary skill will recognize that rendering software includes many more features than listed in this disclosure, and will recognize that the system can be integrated into any rendering software.

[0006] In some embodiments, after selecting the model file, the 2D and / or 3D model is loaded into memory together with at least a portion of the rendering software. In some embodiments, it takes a considerable amount of time for the 2D and / or 3D model to appear in the display. In some embodiments, the delay is due to the amount of computer resources required to execute the instructions that cause the rendering software to be loaded into memory and executed using the processor. In some embodiments, the 2D and / or 3D model includes a large amount of data (e.g., gigabytes), and the model itself takes time to load into memory. In some embodiments, this can be problematic because the user may not know the contents of the file (or files) just by looking at the extension: in the face of time-sensitive situations according to some embodiments, this makes opening each model file to view its contents a time-consuming and frustrating task.

[0007] Some embodiments of the present disclosure attempt to improve computer resource usage and user experience by limiting the amount of rendering software components and model properties that are loaded after file selection according to some embodiments. In some embodiments, the system has a significant improvement in system performance, at least in part, evidenced by a reduction in memory required to view the contents of a model file. In some embodiments, the system implements a unique system commonly referred to as lazy loading. In general, according to some embodiments, lazy loading refers to hiding or not executing a portion of a program or file until that portion is needed. In some embodiments, this is contrasted with eager loading, in which all model data and rendering software components are loaded after a model file is selected. Although lazy loading is a general term used in the software field, its implementation is specific to each software application, and according to some embodiments, the impact on computer performance is a product of the developer's skills.

[0008] Some embodiments of the lazy loading configuration enable a user to view the model file contents without the system loading all software, aspects and / or properties associated with the 2D or 3D model. In some embodiments, after selecting the model file, the system is configured and arranged to load a 2D drawing model including at least one model structure. In some embodiments, the system may be configured not to generate a 2D drawing model after executing the model file. Instead, in some embodiments, the system may be configured to load a picture representing the 2D drawing model after selecting the model file. In some embodiments, the system is also configured not to load some or all rendering software components after selecting the model file. For example, in some embodiments, the system may be configured not to load rendering software or 2D and / or 3D models, but to load pictures representing the 2D and / or 3D models. In some embodiments, after selecting the model file, the system may be configured to display pictures of the 2D and / or 3D models while loading the rendering software and / or 2D and / or 3D models. In some embodiments, the pictures appear in a new window and / or appear in a portion of the display that is different from the portion in which the 2D and / or 3D models are configured to appear. In some embodiments, the picture appears in the same portion of the display that the 2D and / or 3D model is set to appear in. In some embodiments, the picture only shows a "lightweight" representation of the 2D and / or 3D model view. In some embodiments, as non-limiting examples, the picture can be one or more of a row or line picture, a solid picture, a color picture, and / or a picture that does not display attributes associated with the model. In some embodiments, the picture is indistinguishable from a view of the 2D and / or 3D model. In some embodiments, one or more attributes shown in the last saved 2D and / or 3D model view are shown in the picture. In some embodiments, the picture is the first 2D and / or 3D model view that would normally be displayed if the lazy loading feature of the present disclosure was set to off.

[0009] In some embodiments, the system is configured to load one or more parts and / or components of the rendering software after selecting the model file. In some embodiments, the system is configured not to load one or more parts of the rendering software after selecting the model file. Instead, in some embodiments, the system is configured to load only one or more components of the rendering software after having interacted with the picture in some aspect. In some embodiments, the system is configured to load only one or more components of the rendering software after a preset time period. In some embodiments, the system loads only those components of the rendering software that satisfy the user's interaction request. In some embodiments, the interaction with the picture causes the picture to be removed from the memory and replaced by the 2D and / or 3D model. In some embodiments, some model attributes and rendering software components are loaded with the replaced model, while other model attributes (e.g., annotations, measurements, etc.) and rendering software components (e.g., annotators, measurers, etc.) are not loaded. In some embodiments, the picture is not loaded after selecting the model file or view, and the 2D and / or 3D model is loaded without one or more components of the rendering software and / or without one or more model attributes.

[0010] In some embodiments, a 2D drawing may have multiple views. In some embodiments, multiple views may all be part of the same model file. According to some embodiments, one or more of the multiple views are not loaded until selected. In some embodiments, lazy loading is applied to each open view.

[0011] In some embodiments, the lazy loading feature is fully customizable. In some embodiments, customizing the lazy loading feature requires manipulation of code. In some embodiments, customizing the lazy loading feature involves manipulation of a toggle switch, a checkbox, a voice command, or any other user executable input. For example, in some embodiments, a user can select which attribute (if any) is displayed with a picture. In some embodiments, a user can select which components of the rendering software are loaded after a model file selection. In some embodiments, a user can configure the system to apply a certain arrangement of lazy loading to each view of a model.

[0012] In some embodiments, the system is configured to make all models, pictures and / or videos Figure 1 Once opened, it is saved in the memory. In some embodiments, the system deletes one or more 3D and / or 2D models, pictures and / or views stored in the memory after selecting a new model file. In some embodiments, the system deletes one or more models, pictures and / or views stored in the memory after selecting a new view. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1A computer system is shown that enables or includes systems and methods according to some embodiments of the present invention. DETAILED DESCRIPTION

[0014] Before describing in detail any embodiment of the present invention, it will be understood that the present invention is not limited to its application to the construction details and component arrangements set forth in the following description or shown in the following drawings. The present invention can have other embodiments and can be practiced or executed in various ways. In addition, it will be understood that the words and terms used herein are for descriptive purposes and should not be considered restrictive. The use of "including", "comprising" or "having" and its variants herein is intended to cover the items listed thereafter and their equivalents and additional items. Unless otherwise specified or limited, the terms "mounting", "connecting", "supporting" and "coupling" and their variants are widely used and cover direct and indirect mounting, connection, support and coupling. In addition, "connecting" and "coupling" are not limited to physical or mechanical connections or couplings. The term "substantially" includes a range of ±10% of the measurement unit and / or ratio as the relevant limitation.

[0015] The following discussion is given to enable those skilled in the art to make and use embodiments of the present invention. Various modifications to the illustrated embodiments will be apparent to those skilled in the art, and the general principles herein may be applied to other embodiments and applications without departing from embodiments of the present invention. Therefore, embodiments of the present invention are not intended to be limited to the illustrated embodiments, but to the widest scope consistent with the principles and features disclosed herein. The following detailed description will be read with reference to the accompanying drawings, in which similar elements in different figures have similar reference numerals. The drawings, which are not necessarily to scale, depict selected embodiments and are not intended to limit the scope of embodiments of the present invention. The skilled person will recognize that the examples provided herein have many useful alternatives and fall within the scope of embodiments of the present invention.

[0016] Some embodiments include a system for managing access to a computer-readable recording medium storing data, including but not limited to computer-aided design ("CAD") data. In some embodiments, the system may include a memory in the form of a non-transitory computer-readable medium and one or more processors coupled to an online network and / or an internal network. In some embodiments, the memory may include computer-executable instructions that, when executed by one or more processors, control the exchange (e.g., loading and / or saving) of CAD data and / or rendering software. Some embodiments include a system that controls access and loading of one or more data files, which include or are related to CAD data, including but not limited to part data and assembly data. In some embodiments, the data may include data or code that can be used to change and / or manipulate the properties of a 3D (three-dimensional) and / or 2D (two-dimensional) model. In other embodiments, the data or code may be used to encode color, texture, material type into the model. In some embodiments, the encoded data may include information about light sources, cameras, peripheral objects, scene information, animation information, and / or version information. In some embodiments, the CAD data may be used to render a 2D (two-dimensional) drawing of a 3D model. In some embodiments, the CAD data may be used to render multiple drawing views of a model. In some embodiments, the CAD data includes model attributes and drawing attributes. In some embodiments, the attributes include size, annotation, geometry, color, texture, material type, scaling animation, calculation, etc.

[0017] In some embodiments, the user's design or project can be stored or maintained in multiple model files. In some embodiments, the system can control access to multiple files and / or control the saving of multiple files, while managing the location of the model files, their structure, content and / or interrelationships, and managing one or more model files based on one or more displays in the model files.

[0018] Some embodiments enable a user to preview a portion of a drawing and / or model and view the drawing and / or model with limited or reduced resolution and / or file size. In some embodiments, the system can save time accessing and / or opening a drawing and / or one or more drawing files associated with a model while saving computer machine resources. In some embodiments, lazy loading is used to achieve reduced file size and / or resolution. In some embodiments, lazy loading includes first presenting a picture of a 2D drawing, 2D drawing view, or 3D model view after selecting a model file. In some embodiments, lazy loading or eager loading is a selectable option. In some embodiments, one or more of the 2D drawings, 2D drawing views, or 3D model views can be assigned to perform lazy loading or eager loading after selection and configuration.

[0019] In some embodiments, eager loading calls for all components of the system required to execute all CAD data associated with the 2D and / or 3D models. In some embodiments, lazy loading is a term used to postpone the execution of parts of the system until they are needed. In some embodiments, lazy loading includes loading a picture representing the 2D and / or 3D model on a display before the rendering software is loaded into the system's memory and / or used by one or more processors of the system.

[0020] In some embodiments, the system may enable a user to load portions of a model, drawing, and / or drawing file in stages. For example, in some embodiments, the system may enable a user to load a portion of a model, design drawing, drawing, and / or drawing file at a first specific time or within a first time period, and then load another portion of a model, design drawing, drawing, and / or drawing file at a second specific time or within a second time period.

[0021] In some embodiments, when a user opens a model file, drawing file, drawing or graphic file including information from a 2D and / or 3D model, a "lightweight" version of the drawing file, drawing or graphic file or the 2D and / or 3D model can be presented to the system. In some embodiments, the "lightweight" version may include one or more of the geometry, color, texture, material type, light source, camera, peripheral object, scene information, animation information and / or version attributes of the 2D and / or 3D model. In some embodiments, once at least a portion of the information is processed into a display image or a partial image, the user can determine whether the model is the correct model, drawing file, drawing or graphic file before loading the "full intelligence". In some embodiments, the "full intelligence" includes all rendering software components and model attributes. In some embodiments, the rendering software is part of a system that allows rotation, annotation, calculation, measurement and / or assignment of one or more attributes of the model and / or drawing and other functions. In some embodiments, the system displays a "lightweight" version of a 2D and / or 3D model, drawing file, drawing or graphic file. In some embodiments, the system implements lightweight representation by using "delayed loading". In some embodiments, using lazy loading techniques, drawings, models, and / or other data can be loaded more quickly while using fewer machine resources than when all the data for a scene or image is loaded (i.e., eager loading). In some embodiments, a pictorial representation of the drawing and / or model is displayed to the user as it is loaded.

[0022] In some embodiments, when the model file is initially opened, the system may display one or more bitmaps (i.e., pictures, images) representing the drawing. In some embodiments, an image format including a lower resolution than the actual model view may be used. In some embodiments, when the model file is initially opened, the system may display one or more bitmaps without any system resources required to work with the model file, thereby reducing the amount of data required. In some embodiments, the bitmap does not include annotations or dimensions associated with the drawing view. In some embodiments, the bitmap does include annotations or dimensions associated with the drawing view, but does not include drawing manipulation capabilities. In some embodiments, when the bitmap is manipulated (e.g., by a user interacting with an interface such as a mouse or touch screen), at least a portion of the rendering software is loaded. In some embodiments, when a portion of the rendering software is loaded, the bitmap picture is replaced by the complete drawing and / or model. In some embodiments, a zoom feature allows a portion of the bitmap picture to fill the borders of the display. In some embodiments, a bitmap picture of annotations, dimensions, or other attributes of the drawing and / or model may be displayed as part of the picture before or after the zoom feature is executed. In some embodiments, the attributes may be overlaid or integrated into the picture. In some embodiments, loading the 2D and / or 3D model properties as a bitmap image allows each property to be selected (ie, "toggled") on and off in the bitmap (or other file type) image.

[0023] In some embodiments, the system may load all drawing views when a drawing and / or model is selected. In some embodiments, the system may access and load one or more drawing views while keeping other drawing views unloaded. In some embodiments, when a user begins working on one or more drawings and / or models, the user may choose to load one or more additional views at any time, and the application may be configured in such a way that only one view may be opened at a time before the most recently loaded view is unloaded from memory. In some embodiments, this allows memory usage and processor burden to be kept to a minimum.

[0024] In some embodiments, when a drawing or model is loaded and a different view is selected, the system first presents a bitmap picture of the view. In some embodiments, displaying a picture of the view allows the user to verify the view without loading the rendering software as described above. In some embodiments, displaying a picture of the view saves memory and processor resources. In some embodiments, a bitmap picture of annotations, dimensions, or other attributes can be displayed as part of the view. In some embodiments, overlapping and / or integrated portions of the picture of the attributes can be turned on and off without loading components of the rendering software.

[0025] It should be understood that in some embodiments where an uncompressed image file is desired, (BMP) can be used for image display. However, in some embodiments, any other image format can be used to display pictures of drawings and / or models. As non-limiting examples according to some embodiments, example image formats compatible with the system include Joint Photographic Experts Group (JPEG), Exchangeable Image File Format (EXIT), Tagged Image File Format (TIFF), Graphics Interchange Format (GIF), Portable Network Graphics (PNG), Better Portable Graphics (BPG). It should also be understood that according to some embodiments, the system can be executed using any type of 3D file format. In some embodiments, non-limiting examples of 3D file formats include Standard Tessellation Language (STL), Object (OBJ), Filmbox (FBX), Collaborative Design Activity (COLLADA), Three-Dimensional Screen (3DS), Initial Graphics Exchange Specification (IGES) and Standard for Exchange of Product Data (STEP).

[0026] In some embodiments, delayed loading can be configurable. In some embodiments, delayed loading technology can be activated and deactivated by the user at any time. In some embodiments, 2D and / or 3D models and / or drawings including complete intelligence can be fully loaded together.

[0027] In some embodiments, the system including all processors, processor executable instructions, and memory (i.e., non-transitory computer readable media) disclosed herein can be accessed by hardware and software located at a field facility. In some embodiments, the system can be accessed from a remote location (i.e., the cloud). In some embodiments, the system can be run in a hybrid configuration at a field location and from the cloud. In some embodiments, the field or cloud hybrid locations can run independently and / or in coordination with each other. In some embodiments, after the connection between the field and cloud locations is lost, changes to the model and system settings made at one location are copied to another location so that both locations have synchronized and matching data after communication has been restored.

[0028] In some embodiments, configuring the system as a hybrid system provides multiple solutions to problems faced in industry today. In some embodiments, the ability to access the same system tools from both an on-site server and a cloud-based server increases process robustness. In some embodiments, the hybrid configuration has the benefit of bandwidth savings. For example, in some embodiments, a local server may store a copy of the latest model and / or drawing, and changes to the model / drawing are stored on the local server and then uploaded to the cloud for permanent storage. In some embodiments, the local server may store model data and trickle the information to the cloud server when bandwidth becomes available. In some embodiments, the system includes redundant files for critical models where data loss would be catastrophic. In some embodiments, the system includes redundancy to protect users' model changes by storing information both on-site and in the cloud.

[0029] In some embodiments, the user can take commands graphically in a user-friendly and intuitive interface. In some embodiments, the system allows the user to create 2D and / or 3D models and dynamically rotate images using custom rotation points. In some embodiments, animation options include assigning colors and / or adjusting the scale of objects. In some embodiments, the system animation tools may include, as non-limiting examples, one or more interfaces (for touch, keyboard, and / or mouse interaction), hyperlinks, text data links, colors, resizing, transparency, and position.

[0030] In some embodiments, the system includes an import wizard. In some embodiments, the system can convert a third-party application to a system application. In some embodiments, the third-party application includes the ability to convert a file type to a file type that is best suited for a particular application of the system. In some embodiments, the import wizard allows a user to save time converting from a previously third-party designed application to one or more modeling applications in the system's modeling applications.

[0031] In some embodiments, the system includes the ability to create clear, concise reports. In some embodiments, the reports include one or more of plain text, Rich Text Format (RTF), Extensible Markup Language (XML), Portable Document Format (PDF), Hypertext Markup Language (HTML), and Comma Separated Values ​​(CSV), and / or Microsoft Program integration. In some embodiments, Microsoft Non-limiting examples of programs include and

[0032] In some embodiments, the system includes the ability to design projects using the same development environment and deploy them to a wide range of platforms. In some embodiments, as non-limiting examples, the platforms may include Linux, VxWorks, Windows Embedded 7 / 8, Windows 7 / 8 / 10, Windows 10 IoT Enterprise (LTSB / LTSC), and Windows Server 2012 / 2016.

[0033] In some embodiments, the system includes mobile access. In some embodiments, mobile access includes an interface that allows a user to access the graphical interface (e.g., HMI) of the system from any device with a browser. In some embodiments, devices with a browser that can be used by the system include, as non-limiting examples, iPads, iPhones, Android devices, and / or Windows devices. In some embodiments, the system includes support for integrating third-party web-based controls.

[0034] In some embodiments, the system includes a symbol library. In some embodiments, the library includes one or more of buttons, indicator lights, tanks, sliders, meters, motors, pipes, valves, and other common objects. In some embodiments, existing symbols can be modified to meet the needs of the user. In some embodiments, the user can create symbols from scratch. In some embodiments, the system also supports third-party symbol libraries and graphics tools.

[0035] In some embodiments, the system includes a process model simulator. In some embodiments, the simulator optimizes 2D and / or 3D model component performance. In some embodiments, the simulator improves 2D and / or 3D model design and provides operational analysis and / or performs engineering studies. For example, in some embodiments, the simulator is designed to perform rigorous heat and material balance calculations for a wide range of processes.

[0036] In some embodiments, the system allows a user to perform one or more of the following operations: design new processes; evaluate alternative model configurations; modernize or retrofit existing models; evaluate and document compliance within environmental regulations; troubleshoot and eliminate bottlenecks in plant processes; monitor, optimize and / or improve plant output and / or profitability; all of which are non-limiting examples of system capabilities.

[0037] In some embodiments, the system includes cost estimation modeling. In some embodiments, the system includes providing estimates at any stage of development. In some embodiments, the system can provide early stage conceptual estimates. In some embodiments, the system can provide definitive detailed estimates that provide comprehensive and accurate cost assessments along the life cycle of a project.

[0038] In some embodiments, the system includes the ability to add-on modules. In some embodiments, the additional modules include modules designed to be integrated into the system. In some embodiments, the system includes the ability to create an application programming interface (i.e., API) to work with third-party software. In some embodiments, the third-party software includes licensable additional components. In some embodiments, the additional modules extend the functionality of the system in various ways.

[0039] In some embodiments, the system includes operational training. In some embodiments, a copy of the entire model can be used to run the process using a simulator. In some embodiments, process changes can be made in the simulation without affecting the real process model. In some embodiments, the system can be used for one or more of the following: training operators on a user interface, running drills, providing training for new equipment and / or system upgrades, and / or any other type of training needs. In some embodiments, the training simulation model can be integrated into the system as an actual control interface for the plant process.

[0040] Figure 1 210 is a computer system that enables or includes systems and methods according to some embodiments of the present invention. In some embodiments, the computer system 210 may include and / or operate and / or process computer executable code for one or more of the above-mentioned software modules and / or systems. In addition, in some embodiments, the computer system 210 may be configured to operate in a computer system such as Figure 1 The computer system 210 may be configured to operate and / or display information within one or more graphical user interfaces such as a GUI. In some embodiments, the computer system 210 may include a cloud and / or may be coupled to one or more cloud-based server systems.

[0041] In some embodiments, the system 210 may include at least one computing device including at least one processor 232. In some embodiments, the at least one processor 232 may include a processor resident in or coupled to one or more server platforms. In some embodiments, the system 210 may include a network interface 235a and an application interface 235b coupled to at least one processor 232 capable of processing at least one operating system 234. Additionally, in some embodiments, the interfaces 235a, 235b coupled to the at least one processor 232 may be configured to process one or more of the software modules (e.g., such as enterprise applications 238). In some embodiments, the software module 238 may include server-based software and may be operable to host at least one user account and / or at least one client account and to transfer data between one or more of these accounts using the at least one processor 232.

[0042] In view of the above embodiments, it should be understood that the present invention can employ various computer-implemented operations involving data stored in a computer system. In addition, the above databases and models described throughout the text can store analytical models and other data on a computer-readable storage medium within the system 210 and on a computer-readable storage medium coupled to the system 210. In addition, the above applications of the system can be stored on a computer-readable storage medium within the system 210 and on a computer-readable storage medium coupled to the system 210. These operations are those operations that require physical manipulation of physical quantities. Typically, although not necessarily, these quantities are in the form of electrical, electromagnetic or magnetic signals that can be stored, transmitted, combined, compared and otherwise manipulated, optical or magneto-optical forms. In some embodiments of the present invention, the system 210 may include at least one computer-readable medium 236, which is coupled to at least one data source 237a and / or at least one data storage device 237b and / or at least one input / output device 237c. In some embodiments, the present invention may be embodied as a computer-readable code on a computer-readable medium 236. In some embodiments, the computer-readable medium 236 may be any data storage device that can store data, which can then be read by a computer system (such as the system 210). In some embodiments, the computer readable medium 236 can be any physical medium or material medium that can be used to tangibly store the required information or data or instructions and can be accessed by the computer or processor 232. In some embodiments, the computer readable medium 236 can include a hard drive, a network attached storage (NAS), a read-only memory, a random access memory, a flash-based memory, a CD-ROM, a CD-R, a CD-RW, a DVD, a tape, other optical and non-optical data storage devices. In some embodiments, various other forms of computer readable media 236 can transmit or carry instructions to the computer 240 and / or at least one user 231, including routers, private networks or public networks, or other transmission devices or channels of wired and wireless. In some embodiments, the software module 238 can be configured to send and receive data from a database (e.g., from a computer readable medium 236 including a data storage 237b and a data source 237a that can include a database), and the data can be received by the software module 238 from at least one other source. In some embodiments, at least one of the software modules 238 can be configured within the system to output data to at least one user 231 via at least one graphical user interface presented on at least one digital display.

[0043] In some embodiments of the present invention, the computer-readable medium 236 can be distributed over a conventional computer network via a network interface 235a, where a system embodied by computer-readable code can be stored and executed in a distributed manner. For example, in some embodiments, one or more components of the system 210 can be coupled to send and / or receive data via a local area network ("LAN") 239a and / or an Internet-coupled network 239b (e.g., such as wireless Internet). In some further embodiments, the network 239a, 239b can include a wide area network ("WAN"), a direct connection (e.g., via a universal serial bus port), or other forms of computer-readable medium 236, or any combination thereof.

[0044] In some embodiments, the components of the networks 239a, 239b may include any number of user devices, such as personal computers including, for example, desktop computers and / or laptop computers, or any fixed, typically non-mobile Internet devices coupled via the LAN 239a. For example, some embodiments include a personal computer 240a coupled via the LAN 239a, which may be configured for any type of user, including an administrator. Other embodiments may include a personal computer coupled via the network 239b. In some further embodiments, one or more components of the system 210 may be coupled to send or receive data via an Internet network (e.g., such as the network 239b). For example, some embodiments include at least one user 231, which is wirelessly coupled and accesses one or more software modules of the system including at least one enterprise application 238 via an input and output ("I / O") device 237c. In some other embodiments, the system 210 may enable at least one user 231 to be coupled to access the enterprise application 238 via the I / O device 237c via the LAN 239a. In some embodiments, user 231 may include user 231a coupled to system 210 using a desktop and / or laptop computer or any fixed, typically non-mobile Internet device coupled via Internet 239b. In some further embodiments, user 231 may include mobile user 231b coupled to system 210. In some embodiments, user 231b may wirelessly couple to system 210 using any mobile computing device 231c, including but not limited to a personal digital assistant, and / or a cellular, mobile or smart phone, and / or a pager, and / or a digital tablet, and / or a fixed or mobile Internet device.

[0045] Any operation forming part of the present invention described herein is a useful machine operation. The present invention also relates to equipment or devices for performing these operations. The device may be specially constructed for the desired purpose, such as a special-purpose computer. When defined as a special-purpose computer, the computer may also perform other processing, program execution or routines that are not part of the special purpose, while still being able to run for the special purpose. Alternatively, the operation may be processed by a general-purpose computer, which is selectively activated or configured by one or more computer programs stored in a computer memory, cache or obtained through a network. When data is obtained through a network, the data may be processed by other computers on the network (e.g., a cloud of computing resources).

[0046] Embodiments of the present invention can also be defined as machines that convert data from one state to another. Data can represent articles that can be represented as electronic signals and electrically operate data. In some cases, the converted data can be visually depicted on a display, thereby representing a physical object generated by the data conversion. The converted data can usually be saved in a storage device, or saved in a specific format that enables the construction or depiction of physical and tangible objects. In some embodiments, the manipulation can be performed by a processor. In such an example, the processor thus converts data from one thing to another. Further, some embodiments include methods that can be processed by one or more machines or processors that can be connected through a network. Each machine can convert data from one state or thing to another state or thing, and can also process data, save data to a storage device, transmit data through a network, display results, or transmit results to another machine. Computer-readable storage media used herein refers to physical or tangible storage (relative to signals), and includes but is not limited to volatile and non-volatile, removable and non-removable storage media implemented by any method or technology for tangible storage of information such as computer-readable instructions, data structures, program modules or other data.

[0047] Although the method operations may be described in a particular order, it should be understood that other housekeeping operations may be performed between the operations, or the operations may be adjusted so that they occur at slightly different times, or may be distributed throughout the system, which allows the processing operations to occur at various intervals associated with the processing, so long as the processing of the covering operations is performed in the desired manner.

[0048] Those skilled in the art will appreciate that although the present invention has been described above in conjunction with specific embodiments and examples, the invention is not necessarily so limited, and the description herein is intended to encompass many other embodiments, examples, uses, modifications and deviations from these embodiments, examples and uses.

Claims

1. A rendering software system, comprising: One or more computers, including one or more processors and one or more non-transitory computer-readable media, the one or more non-transitory computer-readable media including instructions stored thereon, the instructions, when executed, causing the one or more computers to implement: a model file comprising a model that can be manipulated by rendering software that is part of the rendering software system, which allows for rotation, annotation, calculation, measurement and / or assignment of one or more properties of the model; as well as a graphical user interface (GUI) configured to enable a user to open the model file; Wherein, in response to the model file being initially selected to open and display the model, the rendering software system at least: displaying one or more pictures of a model view of the model without loading the rendering software in response to a user selection of the model file, each of the one or more pictures being associated with a last saved model view and individually selected to be displayed before the model file is initially opened, the model file being initially opened in response to a user action received after display of the one or more pictures, the initial opening of the model file comprising: removing the one or more pictures from a memory and replacing the one or more pictures in the memory with the model file, load at least one model property or rendering software component, and not loading at least one of additional rendering software components and additional properties associated with the model; and displaying an option to enable at least one of the additional rendering software component and the additional properties associated with the model to be loaded by the rendering software; and In response to user selection of a new model file subsequent to initial opening of the model file, one or more new images of a new model view of the new model file are displayed, the user selection of the new model file causing the model file to be deleted from the memory and replaced with the one or more new images of the new model view.

2. The rendering software system according to claim 1, in, The rendering software system is configured to render a two-dimensional image and / or a three-dimensional image of the model after selecting the model file.

3. The rendering software system according to claim 1, in, The rendering software system is configured and arranged to not load the model but to load the one or more images after selecting the model file.

4. The rendering software system according to claim 1, in, One or more properties of the model are not loaded with the one or more images.

5. The rendering software system according to claim 3, in, The rendering software system is configured and arranged to load the model after interacting with the one or more images.

6. The rendering software system according to claim 5, in, The rendering software system is configured and arranged to not load at least a portion of the rendering software after loading the model after interacting with the one or more images.

7. A rendering software system, comprising: One or more computers, including one or more processors and one or more non-transitory computer-readable media, the one or more non-transitory computer-readable media including instructions stored thereon, the instructions, when executed, causing the one or more computers to implement: a model file comprising a model capable of being manipulated by rendering software that is part of the rendering software system and that enables manipulation capabilities that allow one or more properties of the model to be rotated, annotated, calculated, measured, and / or assigned; as well as a graphical user interface (GUI) configured to enable a user to open the model file; Wherein, in response to the model file being initially selected to open and display the model, the rendering software system at least: displaying one or more images of a model view of the model, the one or more images including annotations or dimensions associated with the model view that have been individually selected to be displayed before the model file is initially opened, but not including the manipulation capabilities, the model file being initially opened in response to a user action received after display of the one or more images, the initial opening of the model file comprising: removing the one or more pictures from a memory and replacing the one or more pictures in the memory with the model file, load at least one model property or rendering software component, and not loading at least one of additional rendering software components and additional properties associated with the model; and displaying an option to enable at least one of the additional rendering software component and the properties associated with the model to be loaded by the rendering software; and In response to user selection of a new model file subsequent to initial opening of the model file, one or more new images of a new model view of the new model file are displayed, the user selection of the new model file causing the model file to be deleted from the memory and replaced with the one or more new images of the new model view.

8. The rendering software system according to claim 7, in, The rendering software system is configured to render a two-dimensional image and / or a three-dimensional image of the model after selecting the model file.

9. The rendering software system according to claim 8, in, The rendering software system is configured and arranged to not load the model but to load the one or more images after selecting the model file.

10. The rendering software system according to claim 9, in, One or more properties of the model are not loaded with the one or more images.

11. The rendering software system according to claim 10, in, The rendering software system is configured and arranged to load the model after interacting with the one or more images.

12. The rendering software system according to claim 11, in, The rendering software system is configured and arranged to not load at least a portion of the rendering software after loading the model after interacting with the one or more images.

13. A rendering software system, comprising: One or more computers, including one or more processors and one or more non-transitory computer-readable media, the one or more non-transitory computer-readable media including instructions stored thereon, the instructions, when executed, causing the one or more computers to implement: a model file comprising a model capable of being manipulated by rendering software that is part of the rendering software system and that enables manipulation capabilities that allow one or more properties of the model to be rotated, annotated, calculated, measured, and / or assigned; as well as a graphical user interface (GUI) configured to enable a user to open the model file; wherein: In response to the model file being opened, the model is loaded and displayed with options enabling at least one of different views of the model and properties associated with the model to be loaded by the rendering software; In response to the different view of the model being selected, the rendering software system first presents a picture of the different view without loading the rendering software, the picture being selected before the different view was selected; and In response to user selection of a new model file following initial opening of the model file, one or more new images of a new model view of the new model file are displayed, the user selection of the new model file causing the model file to be deleted from memory and replaced with the one or more new images of the new model view.

14. The rendering software system according to claim 13, in, The rendering software system is configured to render two-dimensional pictures and / or three-dimensional pictures of the different views.

15. The rendering software system of claim 13, in, The rendering software system is configured and arranged to not load the model but to load the picture after selecting the different view.

16. The rendering software system of claim 13, in, One or more properties of the model are not loaded with the image of the different view.

17. The rendering software system of claim 13, in, The rendering software system is configured and arranged to load the model after interacting with the image.

18. The rendering software system of claim 13, in, The rendering software system is configured and arranged to not load at least a portion of the rendering software after loading the model after interacting with the image of the different view.

Citation Information

Patent Citations

  • Three-dimensional model look-at-point rotation and viewport modes

    US20180315238A1