3D models utilizing 3D markers to indicate engineering requirements

Methods, devices, and systems are used for three-dimensional models for three-dimensional makers to indicate engineering requirements. In an example, operations may be effectuated that include displaying a graphical user interface including an object in a three-dimensional (3D) space and receiving first data that includes a link between a flag and a component of the object. The flag may be indicative of an engineering requirement associated with the component of the object. The flag in the 3D space approximate to the component of the object may be displayed based on the received data.

BACKGROUND

Engineering drawings are typically used as visual tools in the creation of homes, bridges, airplanes, and other structures. It is common in the field of manufacturing to make use of an electronic repository of design data such as computer aided design (CAD) software packages to generate a view of structures. These drawings can be challenging to read and update, even for individuals who are skilled in the field of engineering or architecture.

SUMMARY

Disclosed are methods, devices, and systems for 3D models utilizing 3D markers to indicate engineering requirements. For example, there may be a method that includes displaying a graphical user interface including an object in a three-dimensional (3D) space and receiving first data that includes a link between a flag and a component of the object. The flag may be indicative of an engineering requirement associated with the component of the object. The flag in the 3D space approximate to the component of the object may be displayed based on the received data.

In another example, there may be a system that includes a display, a processor communicatively connected with the display, and a memory coupled with the processor. The memory may have stored thereon executable instructions that when executed by the processor cause the processor to effectuate operations that include providing instructions to display a graphical user interface including an object in a 3D space; receiving first data, the first data comprising a link between a flag and a component of the object, the flag indicative of an engineering requirement associated with the component of the object; and responsive to receiving the first data, providing instructions to display the flag in the 3D space approximate to the component of the object.

In another example, there may be a device that includes a processor and a memory coupled with the processor. The memory may have stored thereon executable instructions that when executed by the processor cause the processor to effectuate operations that include providing instructions to display a graphical user interface including an object in a 3D space; receiving first data, the first data comprising a link between a flag and a component of the object, the flag indicative of an engineering requirement associated with the component of the object; and responsive to receiving the first data, providing instructions to display the flag in the 3D space approximate to the component of the object.

DETAILED DESCRIPTION OF ILLUSTRATIVE EXAMPLES

Disclosed herein are methods, devices, and systems for 3D models utilizing 3D markers to indicate engineering requirements. Conventionally, engineering drawings are made in a CAD system in an initial 3D format. The 3D engineering drawing is then put into a two-dimensional (2D) format for a 2D drawing tool. In other words, a snapshot is taken of the 3D CAD drawing and then annotations, callouts, and the like are manually put in the engineering drawing by the 2D drawing tool. Conventionally, someone manually picks a view and then decides what 2D view of an area will be shown. It usually takes several blown up views to show an area, each describing certain sections. If a view is not the “right” view, then there may be excessive time (e.g., several hours) and expense used in finding and creating a better view. As discussed in more detail herein, after a 3D design is created in a CAD-like tool, a flag (e.g., annotation) is added and updated in an automated way into a 3D portable document format (PDF). The use of the 3D PDF may assist in lowering the barrier for delivering 3D data.

Examples in this disclosure provide computer implemented display of information in a three-dimensional (3D) engineering drawing. As used herein, the term engineering drawing includes any drawing created with the aid of a computer, such as by a computer-aided design (CAD) program or other drafting or drawing program, hereinafter referred to as a drafting application. Such engineering drawings may be created for products or structures and are often used to aid in the creation, simulation, planning, construction, maintenance, manufacturing, management, or other aspect of interaction with the product or structure. A structure includes any man-made body such as for example, and not limitation, an airplane, a building, a bridge, a tunnel, a monument, or a dam. Engineering drawings also include survey layouts and maps created with the aid of a computer and that might indicate topography of a site, and locations of natural and man-made features, among a variety of other data elements.

Computer software applications are known in the art for generating engineering drawings. Applications include CAD programs such as AutoCad® from Autodesk® of Mill Valley, Calif., Microstation® from Bentley Systems, Inc. of Exton, Pa., or SolidWorks® from Dassault Systems S.A. of Concord, Mass., among a variety of others.

Engineering drawings can be created with either a two-dimensional or three-dimensional drawing space and utilize any available graphics technology such as raster graphics or vector graphics, among others. In some applications, two-dimensional engineering drawings can be rendered in three dimensions, surfaces can be rendered, drawings can be animated, and the engineering drawing can be manipulated in a three-dimensional drawing space.

Engineering drawings, as discussed herein, may include flags (e.g., markers) associated with a specific portion of the drawing, or with a specific component represented in the drawing. The drawings created in the drawing space are hereinafter referred to as objects. The flags are displayed with the objects in the engineering drawing to provide information about the engineering drawing or the illustrated components therein. The flags include annotations, notes, callouts, or other engineering information. The flags can describe the drawing or the specific product or structure represented therein. The flags might also include audio, video, or image files that portray or provide additional information to the drawing, such as engineering requirements. For example, a flag may include dimensions of a component in the drawing, include text that indicates a wire should be clamped at a particular point of an object, or include audio media or video media that provides a recorded observation for the flagged portion of the drawing. The flag can be automatically generated by a drafting application.

FIG. 1throughFIG. 2illustrate an exemplary engineering drawing100of different views of an interactive 3D model of object101.FIG. 1throughFIG. 2may be shown on a display of a computing device, such as a laptop or a tablet computer. InFIG. 1, flag102and flag103respectively refer to component112and component113. Flag102and flag103may be visible in display because their respective component112and component113are displayed.FIG. 2illustrates an exemplary changed orientation of the engineering drawing100ofFIG. 1with the location or orientation of the flags shifted as well. As described previously, the engineering drawing100may be generated or rendered in a three-dimensional drawing space. Object101may be rotated about one or more axis so as to view the engineering drawing100from a different perspective as depicted inFIG. 2, as opposed to the more broad, perspective depicted inFIG. 1.

Components and respective flags may be shown or hidden based on the perspective of the drawing, as shown by a comparison ofFIG. 1toFIG. 2. InFIG. 2, component113, component114, component115, and component116are shown and therefore (in this example) respective three-dimensional (3D) flags103,104,105and106are also shown. Component112is no longer shown inFIG. 2and therefore flag102is not shown. As discussed herein, a flag may be used to relay engineering information about a drawing or a component of the drawing, such as how wires should be run through or around components. Each flag may be linked with a respective component.FIG. 1throughFIG. 2may include any flag as described herein, such as annotations, notes, callouts, shortcuts, audio files, video files, and image files. Any number of flags can be generated for engineering drawing100.

FIG. 3illustrates an exemplary communication system140for interactive 3D models, as discussed herein. Database142, server144, and tablet146may be communicatively connected to each other via network141. Database142may include data such as engineering requirements information and engineering drawings, among other things. Server144may process data from database142that is associated with engineering requirements information and engineering drawings. Tablet146may display engineering drawing100by connecting to database142, server144, or an attached memory148. It is assumed that tablet146has a display with a graphical user interface.

FIG. 4illustrates an exemplary method150for an interactive 3D model with markers to indicate engineering requirements. At block151, engineering drawing100with object101may be received. Engineering drawing100can be a 3D CAD drawing that is able to be manipulated in 3D space. For example, engineering drawing100may be turned to show different perspectives as well as zoom in or out. Engineering drawing100may be created using any available application, program, or software useable to create or view an engineering drawing. Such drafting applications include CAD applications such as AutoCad®, Microstation®, and SolidWorks®, among others. At block153, portions of object101are flagged based on data associated with engineering requirements for object100. Flag103as well as the other flags may be 3D. At block155, engineering requirement data is provided to flag103of engineering drawing100. The engineering requirement data for the flag may be text or type searchable. For example, a search may be done for a flag that is a type “critical link.” The critical link flags may be highlighted or otherwise distinguished when the engineering drawing100is displayed.

At block157, a CAD drawing of engineering drawing100may be converted into a 3D PDF engineering drawing. The 3D PDF of engineering drawing100may be in a variety of standard formats, such as the Product Representation Compact (PRC-ISO 14739-1) and Universal 3D (U3D ECMA-363) formats. At block158, flag103and the engineering drawing100can be displayed on tablet146(FIG. 3) in the 3D PDF format. Engineering requirement data associated with flag103(and other flags) may be viewed after receiving an indication, such as a mouse-click, keyboard, or finger touch (e.g., touch-sensitive display) at a particular point on flag103in the engineering drawing100, which may indicate a user's desire for viewing the contents of the selected flag (e.g., flag103). At block159, flag103of engineering drawing100may be automatically updated based on periodic updates of the engineering requirement data. If a change is required to the engineering definition, the 3D model is updated in the CAD system. When this change is approved through an organization's change management process, the revised 3D model becomes the current approved definition. This can be the trigger for the generation of a new 3D PDF (e.g., engineering drawing100) that is derived from the newly revised 3D model.

As discussed herein, flags may be substantially updated in an automated way as compared to conventional methods of preparing and updating engineering drawings. The methods, systems, and devices herein may be used for engineering drawings applied in a variety of areas, such as wiring installations, manufacturing of devices, or building bridges, among other things.

FIG. 5and the following discussion are intended to provide a brief general description of a suitable computing environment in which the methods and systems disclosed herein and/or portions thereof may be implemented. Although not required, the methods and systems disclosed herein is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a client workstation, server, personal computer, or mobile computing device such as a smartphone. Generally, program modules include routines, programs, objects, components, data structures and the like that perform particular tasks or implement particular abstract data types. Moreover, it should be appreciated the methods and systems disclosed herein and/or portions thereof may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers and the like. A processor may be implemented on a single-chip, multiple chips or multiple electrical components with different architectures. The methods and systems disclosed herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

FIG. 5is a block diagram representing a general purpose computer system in which aspects of the methods and systems disclosed herein and/or portions thereof may be incorporated. For example,FIG. 3and disclosed devices, such as database142, server144, and tablet146. As shown, the example general purpose computing system includes a computer420or the like, including a processing unit421, a system memory422, and a system bus423that couples various system components including the system memory to the processing unit421. The system bus423may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read-only memory (ROM)424and random access memory (RAM)425. A basic input/output system426(BIOS), containing the basic routines that help to transfer information between elements within the computer420, such as during start-up, is stored in ROM424.

The computer420may further include a hard disk drive427for reading from and writing to a hard disk (not shown), a magnetic disk drive428for reading from or writing to a removable magnetic disk429, and an optical disk drive430for reading from or writing to a removable optical disk431such as a CD-ROM or other optical media. The hard disk drive427, magnetic disk drive428, and optical disk drive430are connected to the system bus423by a hard disk drive interface432, a magnetic disk drive interface433, and an optical drive interface434, respectively. The drives and their associated computer-readable media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the computer420. As described herein, computer-readable media is a tangible, physical, and concrete article of manufacture and thus not a signal per se.

Although the example environment described herein employs a hard disk, a removable magnetic disk429, and a removable optical disk431, it should be appreciated that other types of computer readable media which can store data that is accessible by a computer may also be used in the example operating environment. Such other types of media include, but are not limited to, a magnetic cassette, a flash memory card, a digital video or versatile disk, a Bernoulli cartridge, a random access memory (RAM), a read-only memory (ROM), and the like.

A number of program modules may be stored on the hard disk, magnetic disk429, optical disk431, ROM424or RAM425, including an operating system435, one or more application programs436, other program modules437and program data438. A user may enter commands and information into the computer420through input devices such as a keyboard440and pointing device442. Other input devices (not shown) may include a microphone, joystick, game pad, satellite disk, scanner, or the like. These and other input devices are often connected to the processing unit421through a serial port interface446that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or universal serial bus (USB). A monitor447or other type of display device is also connected to the system bus423via an interface, such as a video adapter448. In addition to the monitor447, a computer may include other peripheral output devices (not shown), such as speakers and printers. The example system ofFIG. 5also includes a host adapter455, a Small Computer System Interface (SCSI) bus456, and an external storage device462connected to the SCSI bus456.

The computer420may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer449. The remote computer449may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the computer420, although only a memory storage device450has been illustrated inFIG. 5. The logical connections depicted inFIG. 5include a local area network (LAN)451and a wide area network (WAN)452. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet.

When used in a LAN networking environment, the computer420is connected to the LAN451through a network interface or adapter453. When used in a WAN networking environment, the computer420may include a modem454or other means for establishing communications over the wide area network452, such as the Internet. The modem454, which may be internal or external, is connected to the system bus423via the serial port interface446. In a networked environment, program modules depicted relative to the computer420, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are example and other means of establishing a communications link between the computers may be used.

Computer420may include a variety of computer readable storage media. Computer readable storage media can be any available media that can be accessed by computer420and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer420. Combinations of any of the above should also be included within the scope of computer readable media that may be used to store source code for implementing the methods and systems described herein. Any combination of the features or elements disclosed herein may be used in one or more examples.

In describing preferred examples of the subject matter of the present disclosure, as illustrated in the FIG.'s, specific terminology is employed for the sake of clarity. The claimed subject matter, however, is not intended to be limited to the specific terminology so selected, and it is to be understood that each specific element includes all technical equivalents that operate in a similar manner to accomplish a similar purpose. The communications paths described herein may be wired or wireless. The systems and subsystems discussed herein may be distributed or integrated into one device.