Computer-based method for document version confirmation

By embedding QR codes in 2D drawings, using smart devices to read and check version information of remote network locations, the problem of end users' difficulty in confirming whether the drawing version is the latest, and fast and accurate version confirmation is achieved, avoiding errors and rework.

CN119884057APending Publication Date: 2025-04-25DASSAULT SYSTEMES SOLIDWORKS CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411486215.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-23
Filing Date
2024-10-23
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

The prior art is difficult to ensure that end users can easily confirm whether the 2D drawing they are viewing is the latest version, resulting in the possible use of incorrect rasterized 2D drawings, causing errors and rework.

Method used

By embedding QR codes in the document, the code reader of the smart device reads non-alphanumeric codes, including the document version information and the URL of the remote network location, check whether the document version is the latest version at the remote network location.

Benefits of technology

This enables quick and convenient confirmation of whether the 2D drawing version is the latest, avoiding errors and rework caused by incorrect drawings, and improving work efficiency and productivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119884057A_ABST
    Figure CN119884057A_ABST
Patent Text Reader

Abstract

A computer-based method for document version confirmation includes reading, with a code reader of a smart device, a non-alphanumeric (e.g., QR or quick response) code from a document, the non-alphanumeric code including substantive information that varies over time. The code includes a document identifier identifying the document and a version indicator associated with the document, and a uniform resource locator for a remote network location storing information about the document and any version. A request is initiated from a smart device to check, at a remote network location, whether a version of a document in question is a particular version of the document (e.g., a latest version of the document). The smart device receives the response and generates a notification on its display screen indicating whether the document is a particular (or latest) version of the document.
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 priority to U.S. Provisional Patent Application No. 63 / 592,228, entitled “Ensuring Remote Access by a Worker to a Correct Two-Dimensional (2D) Drawing,” filed on October 23, 2023. The disclosure in the prior application is incorporated herein by reference in its entirety. Technical Field

[0003] The present disclosure relates to the field of computer-implemented design and modeling, and more particularly, to a computer-based method for text version confirmation that ensures access to the correct two-dimensional (2D) drawing (eg, the latest version of the 2D drawing). Background Art

[0004] Computers are widely used to design and store various types of documents, such as computer-aided design (CAD) drawings and models, and geographic information systems (GIS) maps and related data files. These documents, which often change over time, can be used by end users (e.g., workers in the field) to perform any number of tasks related to manufacturing, construction, production, etc. It is critical to ensure that end users have access to and work according to the correct (e.g., latest) version of the document. Therefore, one question that such end users often ask before starting a task is whether the printed (or electronic) document the end user is viewing is the correct (or latest) version of the document. Finding the answer to this question has proven to be challenging. Summary of the invention

[0005] In one aspect, a computer-based method includes reading a non-alphanumeric (e.g., QR or Quick Response) code from a document using a code reader of a smart device, the non-alphanumeric code including substantive information that changes over time. The non-alphanumeric code includes a document identifier that identifies the document and a version indicator associated with the document, as well as a uniform resource locator of a remote network location for storing information about the document and any versions. A request is initiated from the smart device to check at the remote network location whether the version of the document in question is a specific version of the document (e.g., the latest version of the document). The smart device receives a response and generates a notification on its display screen indicating whether the document is a specific (or latest) version of the document.

[0006] Various implementations identify single documents and / or groups of 2D documents. In this regard, each single 2D document may contain all the information that needs to be interpreted to indicate or record a task, while grouped 2D documents may need to be interpreted simultaneously to indicate or record a task.

[0007] In some implementations, one or more of the following advantages are present.

[0008] For example, in various implementations, the systems and methods disclosed herein help end users confirm that the printed (or electronic) document (e.g., drawing or GIS map and related data files) that the end user is viewing is indeed the correct (or latest) version of the document. The end user can easily and conveniently accomplish this. The systems and techniques are generally applicable to many different entities, including, for example, products, assets, buildings, structures, and large infrastructures and maps, particularly networks, etc. In various implementations, the systems and techniques can be applied to 2D drawings on paper (or other physical substrates) and digital files containing 2D drawings (e.g., digital files that can be viewed on a display screen of a smartphone). The systems and techniques can be applied to facilitate version tracking throughout the life cycle of a document (from cradle to grave, including any and all iterations or revisions thereof).

[0009] In various implementations, the systems and techniques disclosed herein help avoid errors that may arise from using incorrectly rasterized 2D drawings and thus implementing incorrect designs. These errors often need to be corrected later through rework or during internal testing or debugging. Some errors may require the removal or rework of tasks that were implemented after the incorrect task. This may generate potential resupply requests and exacerbate delays in the many subtasks involved.

[0010] The systems and techniques disclosed herein generally create logical links back to revisions of 2D CAD drawings in a repository, providing a "master file" type of repository (e.g., when data has been replicated on different servers) or a single "source of truth" type of repository. The systems and techniques generally facilitate synchronizing a rasterized 2D drawing with each revision of a 2D CAD drawing prior to use, or alternatively, generating a rasterized 2D drawing on the fly from a newly revised 2D CAD drawing.

[0011] The systems and techniques help eliminate the time spent searching for a "master file" on a server and elsewhere to confirm access to the correct rasterized 2D drawing. In addition, the systems and techniques help eliminate the time spent by a worker figuring out how to find the latest version of the rasterized 2D drawing he or she should use for a task or project. In addition, the systems and techniques disclosed herein can help ensure that a worker receives the correct version of the rasterized 2D drawing.

[0012] The use of the systems and techniques disclosed herein will tend to generate user trust in the system. In addition, implementation of the systems and techniques disclosed herein can increase agility and productivity during the life cycle of projects involving collaborative design, outsourced tasks to suppliers, execution / construction, commissioning, maintenance, renovation and / or removal, etc.

[0013] QR codes are convenient to use because they are public and generally do not require a license. QR code detectors and readers are already incorporated into many consumer devices and are part of free applications included with the purchase of a device. In addition, QR code generators are already included in some consumer products (and QR code generators are generally accessible by any product). More sophisticated QR generators can automatically serialize QR codes and are available. The script can also be used in conjunction with existing libraries to generate a QR code from Excel, for example. TM Spreadsheet to generate serial numbers.

[0014] In addition, one of the problems that the systems and techniques disclosed herein can solve is to help users (e.g., construction workers) in the field easily confirm that they are working according to the latest set of drawings for a particular project. In this regard, the present application discloses the concept of applying QR codes to drawings, wherein the QR code includes a link to a network location that includes information about the version of the drawing. The QR code can be scanned in the field (e.g., using a user's mobile device) to access the stored information to determine whether the drawing being used is actually the correct (e.g., latest and most recent) version of the drawing. In some cases, if the system determines that the scanned drawing is not completely up to date, the system can enable the user to access or download the latest version.

[0015] Other features and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 is a schematic diagram of an example of a computer system for implementing and facilitating the techniques disclosed herein.

[0017] Figure 2A It means that you can Figure 1 A flowchart of an example of a process that occurs on the designer side of a computer system.

[0018] Figure 2B It means that you can Figure 1 A flow chart of an example of a process that occurs on the end-user side of a computer system.

[0019] Figure 3 is a schematic diagram illustrating various components in the context of an exemplary system and an exemplary set of interactions between the illustrated components for checking whether a particular paper drawing is the latest version of the drawing.

[0020] Figure 4 is a schematic diagram illustrating other various components in the context of the exemplary system and another exemplary set of interactions between the illustrated components for checking whether a particular paper drawing is the latest version of the drawing.

[0021] Figure 5 is a schematic diagram of at least a portion of a computer (eg, a computer workstation, a smart device (eg, a smart phone or tablet), a server, etc.).

[0022] Figure 6 is an example of a lookup table for 2D drawing that may be stored in computer memory.

[0023] Figure 7 is an example of a lookup table for a GIS map that may be stored in computer memory.

[0024] Like reference numerals refer to like elements.

[0025] Specific implementation method

[0026] This document uses various terms to describe its inventive concepts. The terms should be given their ordinary meanings and, unless otherwise specified, should be understood to have meanings consistent with the following.

[0027] For example, computer-aided design (CAD) software is software that, when executed on a computer, enables a user of the computer to perform design functions (e.g., design products, objects, assemblies, etc.) In some implementations, CAD software enables a user to construct and manipulate complex three-dimensional (3D) models. Computer software, Computer software, Computer software (each available from Dassault Systèmes SolidWorks Corporation, the applicant of the present application) is an example of CAD software that can be used, for example, to construct and manipulate complex three-dimensional (3D) models. A "designer" is a typical user of a 3D CAD system. More specifically, in a typical implementation, a "designer" is a member of a human document creator and / or a team that supports document creation, such as a CAD designer or a member of a design team (e.g., a manager, administrator, etc.). A designer generally designs the physical and aesthetic aspects of a 3D model and is proficient in 3D modeling techniques. Designers typically create parts and can assemble certain parts into subassemblies. A subassembly can also be composed of other subassemblies. Components can be designed using parts and subassemblies. Parts and subassemblies can be collectively referred to as components. The phrase "designer" used herein should be broadly interpreted as any one or more human users of a computer or computer system that creates a design. The design can be used for almost any real-world product that can be manufactured, assembled, constructed, etc. by a person. A 3D design is usually followed by one or more 2D drawings. Throughout the life cycle of a design, 2D drawings are used in most subsequent operations such as manufacturing, construction, commissioning, installation, maintenance, refurbishment, performance enhancement, etc.

[0028] A geographic information system (GIS) is a system that can be implemented at least in part with a computer and can be used to create, review, manage, analyze, and plot many different types of data. A GIS map connects data from one or more related data files to a geographic map, integrating location data with various descriptive information. GIS maps help users understand patterns and relationships in a geographic environment.

[0029] A QR (quick-response) code is a two-dimensional, non-alphanumeric, machine-readable optical image that contains encoded information specific to a tagged item (e.g., a document such as a drawing or GIS map). A QR code may contain data for a locator, an identifier, and a uniform resource locator (associated with a web page destination storing information associated with versioned data specific to the tagged item). In a typical implementation, a QR code consists of black squares arranged in a square grid on a white background, including a fiducial marker that can be read by an imaging device such as a camera and processed until the image can be properly interpreted. The desired data is then extracted from the pattern that is typically present in the horizontal and vertical components of the image. A QR code URL is a QR code that contains a uniform resource locator (i.e., a website address). Typically, a user can scan (or otherwise capture) a QR code URL with a smartphone (or any type of smart device, including a tablet) and access the corresponding URL link without having to manually enter (i.e., type) the URL into the smartphone's browser.

[0030] In a typical implementation, a lookup table is an array or matrix of data stored in a searchable manner in computer memory.

[0031] Rasterization refers to converting a computer image described, for example, in a vector graphics format into a raster image (e.g., a series of pixels, points, or lines that, when displayed together, create an image represented by a shape). The rasterized image can then be displayed on a computer monitor, or printed, or stored, for example, in a bitmap file format. In some implementations, a "2D rasterized drawing" or "2D drawing" has a format that uses geometric primitives (e.g., points, lines, curves) to store CAD entities and their attributes (e.g., dimensions, layers, and annotations). The format is scalable and editable. Examples of 2D drawings include DXF, DWG, DWF, SVG, and Adobe Illustrator, and can sometimes be referred to as "vector" drawings. In addition, the "2D rasterized drawing" format uses a resolution-dependent rasterized image. The functionality of a 2D rasterized drawing is limited to certain edits, such as cropping and contrast settings, but it can be annotated. For the same view from a user, the 2D rasterized drawing file size is a more compact format than the vector graphics file size that issues it.

[0032] As used herein, the phrase "end user" refers to a person who is typically in the "field" and whose role is to use a document (e.g., a drawing or GIS map) that is typically created by someone else (i.e., a designer). Examples of end users include contractors, manufacturers, production personnel, installers, maintenance personnel, etc.

[0033] A "smart device" is an electronic device that is typically capable of connecting to other devices or networks via one or more wireless protocols, such as Bluetooth, Zigbee, Near Field Communication, Wi-Fi, NearLink, LiFi, or 5G, which can typically operate interactively and autonomously. Examples of smart devices include smart phones, smart tablets, smart phablets, etc.

[0034] As used herein, "metadata" refers to data (e.g., certain types of data that provide information about other data). In the context of a document, "metadata" may refer to the title of the document, revision information for the document (including revision numbers, letters, characters, or other identifiers), the date of the drawing, QR code content, plan layer identifiers, drawing type identifiers, applicable work identifiers, elevation identifiers, and other project or map-specific information, such as site identifiers, asset identifiers, location and other geographic location identifiers, licensing information, primary format identifiers, format extensions, names of associated files and / or other metadata, commonly used or generic identifiers, map type identifiers, map symbol identifiers, etc.

[0035] The phrase "processor" (etc.) refers to any one or more computer-based processing devices. A computer-based processing device is a physical component (e.g., a CPU) that can perform computer functions by executing computer-readable instructions stored in a memory. If there is more than one computer-based processing device or processor core, they may be contained in a single physical device (e.g., in a single computer or server) or distributed across multiple physical devices that may be located, for example, in more than one physical location or facility.

[0036] The phrase "memory" (etc.) refers to any one or more computer-based memory devices. A computer-based memory device is a physical component that can store computer-readable instructions that, when executed by a processor, cause the processor to perform an associated computer function. If more than one computer-based memory device is present, they may be contained in a single physical device (e.g., a computer or server) or distributed across multiple physical devices that may be located in more than one physical location or facility.

[0037] The prior art is different.

[0038] However, each of these prior arts has shortcomings that can be addressed, for example, by one or more implementations of the systems and techniques disclosed herein.

[0039] For example, some organizations use information technology (IT) to layer business processes layer by layer. More specifically, in some IT environments, business processes have been implemented sequentially one on top of another. In those environments, some data repositories containing 2D CAD drawings and rasterized 2D drawings have been replicated on different servers for different business processes. In this case, the "master file" can be a file used by the initial business process. It maintains updates in each run of the business process. Unfortunately, the data entities on other servers that replicate these data entities are usually not synchronized correctly. If there is any, the synchronization between the "master files" on the original servers can be performed periodically (for example, on a weekly or monthly schedule), or even not at all through a schedule, but on demand, which also requires waiting time. The requester spends energy and time searching for the "master file" to respond to the user's question.

[0040] In some implementations, team members may be provided access to a single source of truth. More specifically, in some IT environments, there is one repository on which all business processes run. It constitutes a "single source of truth," but sometimes it is not easily accessible to workers through filters, keywords, and qualified queries (such as SQL), even using a smartphone or tablet.

[0041] In various implementations, the systems and techniques disclosed herein provide technical solutions to these limitations / problems and potentially other technical limitations / problems in existing CAD software (compared to existing systems).

[0042] Technical disclosure content

[0043] Figure 1 is a schematic diagram of an exemplary computer system 100 configured to implement the techniques disclosed herein. More specifically, in a particular implementation, the illustrated computer system 100 is configured to enable a human user to use his or her smart phone to check whether a particular physical document (e.g., a paper drawing showing a building plan or a Geographic Information System (GIS) map (which is subject to revision from time to time)) is the latest version (or some other specified version / revision) of the document. In a particular exemplary implementation, a user (see below) photographs (or otherwise captures) a QR code printed on or otherwise visually applied to a physical version of the document with his or her smart phone, the system will recognize that it is a QR code and will scan it, and the system 100, in response to the scan, confirms whether the physical document is the most recent (i.e., latest) version of the document, or whether a subsequent iteration (revision) of the document is available. Typically, the smart device 102 recognizes the QR code locally. It is also possible that the image can be sent to the system 100 by placing a scanning reader in a subsequent step in the process. If the scan reading is not done locally by the smart device, the metadata (e.g., metadata sent from the smart device) includes the image. Generally, if the system determines that the physical version of the document is not the latest version of the document (i.e., a subsequent version or revision of the document exists in the system), the system 100 can make the latest version of the document available in electronic form for viewing on the display screen of the user's smart phone.

[0044] Figure 1The system 100 in includes a user's smart device (e.g., a smart phone 102) connected via a network 104 to a web server 106, which has access to a computer memory 108, which is connected to be able to receive and store data (e.g., in the form of documents and associated metadata) from one or more computer workstations 110a...110n. The one or more computer workstations 110a...110n are themselves connected to one or more printers 112. The physical and organizational configuration of the system components shown can vary. In an exemplary implementation, the one or more computer workstations 110a-110n and the one or more printers 112 can be located in one physical facility or distributed among multiple physical facilities, but are subject to controls and / or access restrictions imposed by a single legal entity (e.g., a single company, enterprise, or other organization). The web server 106 and / or computer memory 108 may be located at any one or more of the physical facilities where one or more of the computer workstations 110a-110n or printers 112 are located, or at any other physical facility or facilities, and may be subject to control and / or access restrictions imposed by the same legal entity as the computer workstations 110a-110n and / or printers 112, or by a different legal entity. Regardless, the illustrated system components are configured to communicate and interact with one another to perform and / or facilitate the functionality described herein as attributable to the system 100.

[0045] The computer workstations 110a-110n can have a variety of different configurations, but each computer workstation is generally configured to perform the functions described herein as being attributable to a computer workstation. In a typical implementation, each computer workstation 110a-110n is configured to enable a human designer to create, edit, print, and / or save one or more documents (e.g., drawings, GIS maps, etc.). In addition, in a typical implementation, each computer workstation 110a...110n is also configured to enable a designer to use the computer workstation 110a...110n to generate a unique visual code (e.g., a quick response or "QR" code) at a certain point during the life cycle of the document and apply it to each corresponding document in the document. As an example, in some implementations, the system 100 applies the unique QR code to the document in response to some prompt from the designer, for example, if the designer believes that the document is complete (e.g., ready to be used by an end user in a real-world construction project, etc.). When the system 100 responds to the prompt from the user, the computer system 100 applies the unique QR code to the drawing. The system may then print and / or save the document (eg, a rasterized version of the document).

[0046] Typically, the system 100 is configured to apply a different unique code (e.g., QR code) to each document, including each version (or revision) of a particular document. For example, the system 100 may apply a first unique QR code to an original version of a document, then apply a second unique QR code (different from the first unique QR code) to a subsequent revised version of the drawing, and then apply a different unique QR code to each subsequent version (revision) of the drawing generated on the system and / or saved in the system. Each unique code (e.g., QR code) generated by the system 100 typically represents information identifying a uniform resource locator (URL) of a website and thus each unique code (e.g., QR code) generated by the system 100 can be generated by inputting the above information into one of the code generators 128, where the electronic version of the document will be stored for remote access (e.g., remote access from a user's smartphone (e.g., 102)). In addition, in some implementations, the QR code may represent information about the document to which the QR code is applied (and is generated using that information as input). For a particular document, this information may include, for example, the title of the document, the revision number of the document, and / or the date of the document.

[0047] In view of the foregoing, each computer workstation 110a-110n in the illustrated implementation has or has access to a design program 126 and a code generator 128. Of course, in various implementations, the computer workstations may also include various other components, software, hardware, or combinations thereof. In addition, each computer workstation 110a-110n in the illustrated implementation is connected to and is able to print to one or more printers 112, the one or more printers 112 being configured to print (e.g., on paper or other physical substrates) a real-world version of a document being processed or a completed document. In some cases, a 2D drawing must be interpreted in conjunction with other drawings or information such as annotations, schedules, details, in order to be correctly interpreted by a user on site. In these cases, the 2D drawings may be organized in groups to ensure correct interpretation by the user.

[0048] The design program 126 can be virtually any form of software (e.g., CAD software, etc.) that, when executed, for example, by a computer processor, enables a user to perform design functions to create, for example, virtual 2D or 3D models of real-world objects to be produced, manufactured, constructed, and / or virtual GIS maps, etc. For example, the resulting model / map can be, for example, rasterized and printed (at one or more of the printers 112) as a document for use by an end user in one or more real-world applications. Possible real-world applications include using the substantive content of the corresponding one or more printed documents as a guide to produce, manufacture, and construct one or more real-world objects, and / or otherwise using the one or more printed documents for other real-world, non-virtual applications (e.g., applications involving documents showing GIS maps). Examples of CAD software that can be the design program 126 (or part of a design program) include Computer software, Computer software, Computer software.

[0049] The code generator 128 is a computer application (e.g., software executed on computer hardware including a processor) capable of generating a QR code based on input data and typically in response to a prompt from a user. The input data that a user may provide or that the system 100 may extract from an appropriate source and apply to the code generator 128 may include, for example, any data that will cause the code generator 128 to generate a QR code that, when read, will direct a web browser (e.g., 118) on a smartphone (e.g., 102) to a web server (e.g., 106) to access data related to a corresponding document and / or a revision of the corresponding document. The input data may include, for example, an associated URL and, optionally, drawing identification information for the document to which the QR code has been or will be applied (e.g., document name, document revision number, and / or document date, etc.).

[0050] Each computer workstation 110a, 110n is capable of accessing and sending print instructions to one or more printers 112. Printer 112 may be virtually any type of computer printer or peripheral device configured to produce a persistent representation of graphics and / or text on a substrate such as paper. Each printer 112 is configured to receive data from one or more of the computer workstations 110a...110n and to react accordingly based on the received data (e.g., printing a version of a document (e.g., a drawing or GIS map) having its corresponding QR code on a sheet of paper or other physical substrate).

[0051] The computer workstations 110 a . . . 110 n in the illustrated implementation are connected to a computer memory 108 that is configured to (and does) store a drawing repository 122 and one or more lookup tables 124 .

[0052] The drawing repository 122 is a computer database that stores drawings (created and / or rasterized at one or more of the computer workstations 110a ... 110n) in a digital format. In certain implementations, the drawing repository 122 may provide a set of associated data management, search, and access functions to enable application-independent access to the drawings. The drawing repository 122 may include a plurality of different drawings (i.e., drawings showing different subjects) and one or more versions (or revisions) of each drawing. Thus, for example, for a particular building project (a residential house), the plurality of drawings in the drawing repository 122 may include a framing plan for the house, an electrical plan for the house, a plumbing plan for the house, and a heating, ventilating, and air conditioning (HVAC) plan for the house. In this example (a building project for a residential house), for each drawing, the drawing repository 122 would include at least an initial version of the drawing and possibly one or more other versions (revisions of the initial version). Continuing with the previous example, the drawing repository may include, for example, an initial version of a frame plan and its two revisions, an initial version of an electrical plan only without its revisions, an initial version of a plumbing plan and its four revisions, and an initial version of a mechanical (HVAC) plan and one revision of the mechanical (HVAC) plan. In this example, the drawing repository 122 would include three versions of the frame plan (original and two revisions), one version of the electrical plan (original only), five versions of the plumbing plan (original and four revisions), and two versions of the mechanical (HVAC) plan (original and one revision).

[0053] In a typical implementation, each drawing (or document) will have a title, which can be printed on the drawing itself. For drawings with multiple versions (e.g., revisions), each version of the drawing can have the same title. Thus, in an exemplary implementation, the original version, the first revision, and any subsequent revisions of the drawing can be assigned the same title (e.g., MirmarResidence_Level2FramingPlan). In addition, in a typical implementation, each version of a particular drawing (or document) can be assigned (and, for example, visually marked with) one or more text indicators (e.g., revision numbers) that are separate from the substantive (e.g., framing, electrical, or mechanical) information on the plan view, so that a user can distinguish between different versions (e.g., revisions) of the document. These text indicators can include, for example, version labels (such as "S_101", "S_111", or "S-112") to distinguish one version of a drawing from another version of the drawing. For example, a version tag "S_101" may be used to identify an initial or original version of a drawing, while a version tag "S_111" may be used to identify a first revision of a drawing, and a tag "S_112" may be used to identify a second revision of a drawing. Of course, any number of alternative tagging conventions may be employed to mark and distinguish different versions of a drawing. The textual indicators that enable a user to distinguish different versions (e.g., revisions) of a document may also (or alternatively) include, for example, the date of the document version, which, for an initial version of a document, may be the date the initial document was created, saved in the drawing repository 122 (or saved elsewhere and then moved to the drawing repository 122), rasterized, printed, and / or designated as "finished" or ready for use in computer memory. If subsequent versions (revisions) of the plan are later created, each version also receives a corresponding date. For each such revision, the date of the revision may be the date that particular revision was created, saved in the drawing repository 122 (or saved elsewhere and then moved to the drawing repository 122), rasterized, printed, and / or designated as "finished" or ready for use in computer memory. Each document in the drawing repository 122 may have a title box, for example, that includes a visible representation of any or all of the foregoing information (i.e., title, version label, and / or date) as well as potentially other or different types of drawing and / or version identification information.

[0054] Additionally, in a typical implementation, each version of a completed document in the drawing repository 122 has a unique non-alphanumeric code (e.g., a QR code) that includes information that, when decoded, identifies a drawing and / or a web page accessible location (e.g., a URL) associated with the stored version of the document in the drawing repository 122. Typically, the unique non-alphanumeric code appears as a visual marker on the drawing itself. The non-alphanumeric code may be a QR ("Quick Response") code. Alternatively, however, the non-alphanumeric code may be any other type of non-alphanumeric code (e.g., a barcode, etc.) that is capable of representing the foregoing information and that can be read and decoded / acted upon by a smartphone or other computer-enabled code reader in the manner described herein.

[0055] In implementations where the non-alphanumeric code is a QR code, for example, the QR code is typically configured such that when a QR reader (e.g., 116) on a user's smart device (e.g., smart phone 102) reads the QR code, the smart phone navigates, using its web browser (e.g., 118), to a web page hosted by a web server (e.g., 106) where information about an associated drawing and / or version thereof may be accessed (e.g., from a drawing repository 122 and / or a lookup table 124). Thus, in this example, the QR code may have been generated from a uniform resource location (URL) of a website (and include encoded data representing the URL of the website), and may include one or more pieces of identification information for an associated version of the drawing (including, for example, drawing title information and / or version identification information and / or drawing date information, and or alternatively other types of identification information).

[0056] For example, consider a construction project that includes a drawing (created at computer workstation 110a) showing a second-level framing plan of a residential facility referred to as Mirmar Residence and two subsequent iterations (revisions) of the drawing being produced. In this example, the drawing repository may include all three versions of the Mirmar Residence second-level framing plan—the initial (or original) version and two successive revisions. The initial or original version may be designated and visually marked by a drawing title that describes the substantive subject matter of the drawing (e.g., MirmarResidence_Level2FramingPlan), designated and visually marked or otherwise identified by a version indicator (e.g., S_101) indicating that this particular version of the Mirmar Residence second-level framing plan is the initial version of the plan, and designated and visually marked by a date (e.g., April 10, 2022) indicating that this particular version of the Mirmar Residence second-level framing plan was, for example, "completed" on that date. Similarly, a first revision (or second version) of a drawing may be designated and visually marked by the same drawing title (e.g., MirmarResidence_Level2FramingPlan), designated and visually marked or otherwise identified by a version indicator (e.g., S_111) indicating that this particular version of the Mirmar Residence second floor framing plan is the second version of the plan, and designated and visually marked by a date (e.g., September 5, 2022) indicating that this particular version of the Mirmar Residence second floor framing plan was designated as “completed” on that date, for example. Similarly, a second revision (or third version) of a drawing may be designated and visually marked by the same drawing title (e.g., MirmarResidence_Level2FramingPlan), designated and visually marked or otherwise identified by a version indicator (e.g., S_121) indicating that this particular version of the Mirmar Residence Level 2 Framing Plan is the third version of the plan, and designated and visually marked by a date (e.g., January 26, 2023) indicating that this particular version of the Mirmar Residence Level 2 Framing Plan was designated as "completed" on that date, for example. Each of these drawings will have a unique QR code associated with it and visually marked thereon. Each of these saved documents (all of which may be rasterized drawings) may be stored together in the drawing repository 122 using a file name to identify multiple documents, the file names being as follows:

[0057] MirmarResidence_Level2FramingPlan_S_101_2022-04-10_.DWG,

[0058] MirmarResidence_Level2FramingPlan_S_111_2022-09-05_.DWG, and

[0059] MirmarResidence_Level2FramingPlan_S_121_2023-01-26_.DWG.

[0060] Thus, in this example, the file name of each drawing provides an indication of the subject matter of that particular drawing (i.e., the drawing represents a 2nd floor frame plan of the Mirmar residence), revision information (e.g., S_101 (initial or original version), S_111 (first revision), and S_121 (second revision)), and the date of each revision (e.g., 2022-04-10, 2022-09-05, and 2023-01-26). In various implementations, more or less information (data or metadata) about the associated document may be expressed in the file name of the QR-encoded document stored in the drawing repository 122. However, in some implementations, it is preferred that the file naming convention employed enables the computer system (e.g., 100) to distinguish between multiple versions (e.g., iterations) of the same drawing based solely on the file name.

[0061] In a typical implementation, the lookup table 124 in the memory 108 stores the data of each document (e.g., metadata such as title, revision number, date, etc.) and each version of each document in the drawing repository 122 in a searchable manner. In this regard, each lookup table 124 may include an array or matrix of data entries. Thus, in the aforementioned Mirmar House construction example, the lookup table 124 may include a row for each of the aforementioned three versions of the Mirmar House 2nd Floor Frame Plan (Version S_101 (dated April 10, 2022), Version S_111 (dated September 5, 2022), and Version S_121 (dated January 26, 2023)). In some implementations, the entries in each row may correspond to the file name of the corresponding document (drawing). More specifically, in an exemplary implementation, a row in the lookup table 124 may be as follows:

[0062] MirmarResidence_Level2FramingPlan_S_101_2022-04-10_.DWG

[0063] Another row in the lookup table 124 may be as follows:

[0064] MirmarResidence_Level2FramingPlan_S_111_2022-09-05_.DWG

[0065] And another row on the lookup table 124 may be as follows:

[0066] MirmarResidence_Level2FramingPlan_S_121_2023-01-26_.DWG.

[0067] Each lookup table 124 entry in this example includes information identifying a drawing and a corresponding one of three revisions of the drawing. In various implementations, the specific arrangement and / or set of data in each entry may vary. However, typically, each entry includes sufficient data to uniquely identify each version of a particular drawing and distinguish between these versions. The identification and distinguishing data may be arranged in the lookup table in any of a number of possible ways. The date corresponding to each revision of a particular drawing (stored in the drawing repository 122 and represented by an entry / row in one of the lookup tables 124) may be the date that the drawing version was created, saved, printed, and / or assigned and marked with a unique QR code (corresponding to the particular drawing version).

[0068] Smart devices (e.g. Figure 1 The smart phone 102 in the embodiment is a portable computer device that combines mobile phone functions and certain personal computing functions into one unit. The smart phone 102 in the illustrated implementation has a camera 114, a QR ("Quick Response") code reader 116, a web browser 118, a display screen, and an agent 120. Of course, in various implementations, the smart phone 102 may include various other computer components, and in some implementations, the smart phone 102 may be a different type of mobile device that includes the components and functions disclosed herein related to drawing version confirmation, etc.

[0069] Camera 114 is built into smartphone 102 and is capable of capturing photographs and often recording video. The smartphone's display screen 119 typically displays a visual depiction of any scene being photographed or video recorded and / or any objects in the scene.

[0070] The code reader 116 is built into the smart phone 102 and is capable of recognizing an image of a code (e.g., a QR code) in a scene captured, for example, by the camera 114 of the smart phone. The code reader 116 is capable of converting the recognized image of the QR code into a format useful to the smart phone 102, such as a standard uniform resource locator ("URL") for a website, thereby eliminating the need for the user to type the URL into a web browser. The QR code in this example would contain encoded data representing the URL of a website associated with the web server 106. Once read, the web browser 118 can use the URL to access the website corresponding to the URL at the web server. The code reader 116 can be implemented at least in part by a computer processor in the smart phone 102 executing computer-readable instructions in a computer memory to interact with the camera and / or display screen on the smart phone 102.

[0071] The smartphone's web browser 118 is an application on the smartphone 102 for accessing websites. Typically, when a user requests a web page from a particular website (e.g., by entering the URL of the website into the web browser 118 or by activating a QR code reader to read the URL from the QR code), the web browser 118 is able to retrieve the website's files from a web server (e.g., the web server 106) and display the web page on the display screen 119 of the smartphone 102 based on the retrieved files. In some implementations, the web browser 118 may be able to retrieve different files for different websites from the web server 106 (or from multiple different web servers), depending on the URL obtained from the QR code. The web browser may be implemented at least in part by a computer processor in the smartphone 102 executing computer-readable instructions in a computer memory to perform functions associated with the browser. Some examples of web browsers include Google Chrome, TM Web browser, Apple Safari TM Web browsers and Microsoft Edge TM A web browser.

[0072] The smartphone's display screen 119 may be virtually any type of display screen and may be integrated into the smartphone 102. In a typical implementation, the display screen 119 is configured to display any scene being photographed or scanned (e.g., for a QR code), and may present a user-selectable visual indication of a URL associated with, for example, the scanned QR code, selection of which causes the smartphone's web browser 118 to navigate to a website associated with the web server 106 to access information about the drawing associated with the scanned QR code.

[0073] The agent 120 is an application on the smartphone 102 that supports or performs one or more functions described herein that may be attributed to the smartphone, which enables or facilitates checking from the smartphone 102 whether a physical drawing (e.g., in the user's hands) is the expected (e.g., latest) version of the drawing, and if not, enables the user to access the correct version of the drawing, at least in electronic form, and view it on the display screen 119 of the smartphone 102.

[0074] Smartphone 102 in the illustrated implementation is connected to web server 106 via network 104. Network 104 can be any type of network through which the indicated system components can communicate and interact. In a typical implementation, network 104 includes computers, computer devices, and / or computer resources located at various nodes on network 104 that communicate and interact with each other through wired or wireless communication channels. In an exemplary implementation, network 104 is or includes the Internet.

[0075] In the illustrated implementation, the web server 106 is located remotely from the smartphone 102 on the network 104 and is connected to the smartphone 102 via the network 104. The web server 106 is a computer executing software that is capable of transmitting web pages and / or other documents to the web browser 118 using an application layer protocol (e.g., Hypertext Transfer Protocol (HTTP)). The web server 106 includes computer software that executes on underlying computer hardware to perform its functions. In an exemplary implementation, the web server 106 is capable of accepting requests (e.g., from the smartphone 102 and / or other devices) via HTTP over the network 104. Specifically, in a typical implementation, the smartphone's web browser 118 can initiate communication with the web server 106 by making a request for a web page or other resource using HTTP, and the web server 106 responds to the request by sending content corresponding to the requested web page or other resource over the network 104. If the web server 106 cannot satisfy the web browser's request, the web server 106 can instead return an error message. The web browser 118 of the smartphone is capable of generating a rendering of a web page or other message on the display screen 119 of the smartphone 102 based on the content provided by the web server 106. In some implementations, the agent 120 affects the content of any message that may appear on the display screen 119 of the smartphone 102 based on the content provided by the web server 106. As described above, the web server 106 is connected to the computer memory 108, which contains the mapping repository 122 and one or more lookup tables 124.

[0076] The system 100 operates with the aid of multiple parties (e.g., designers and end users) that interact with system components in different ways. For example, designers typically create and revise documents (e.g., drawings and / or maps) at one or more of the computer workstations 110a-110n and save them in the memory 108. The documents can be printed on the printer 112 and then used by the end user in the field (e.g., at a work location, such as a construction site), for example, to guide the construction or other manufacturing activities in the field. On the other hand, the end user may want to use the printed document in the field, for example, to guide their construction or other manufacturing activities. The end user can use the system 100 to check from the end user's smart phone 102 whether the printed document he or she has is the correct (e.g., latest) version of the drawing, and if not, at least obtain the correct (e.g., latest) version of the drawing in an electronic form that can be viewed on the end user's smart phone 102. Therefore, the system 100 has two different sides that work together to provide various benefits that help projects run smoothly.

[0077] Figure 2A is a flowchart representing steps performed on the designer side of the system 100 to populate the drawing repository 122 and the lookup table 124 with documents and document-related data to support system functionality. The flowchart is organized into two columns—one column representing actions performed by the designer (labeled “Designer Actions”) and the other representing actions performed by the computer system 100 (labeled “Computer System Actions”). In a typical implementation, the designer steps would occur with the aid of one or more humans interacting with one of the computer workstations 110a...110n, while the computer system steps may be performed by one or more hardware and / or software components of the computer system 100 (including, for example, one or more computer processors executing computer-readable instructions stored in a computer memory). The particular process represented in the illustrated flowchart would populate the drawing repository 122 with three versions (revisions) of a first drawing (e.g., a 2nd floor framing plan of the Mirmar residence) and one version of a second drawing (e.g., a 2nd floor electrical plan of the Mirmar residence), and would populate the lookup table 124 with data associated with all three versions (revisions) of the first drawing and the single version of the second drawing.

[0078] According to the illustrated flow chart, a designer (at 202) creates an initial version of a first drawing, and a computer system (at 204) facilitates the creation of the initial version of the first drawing. Typically, these steps include the designer working with a design program 126 (e.g., CAD software) on one of the computer workstations 110a ... 110n to create a design. Eventually, the designer is satisfied that the initial version of the first drawing is complete, i.e., ready to be used by an end user in a real-world application (e.g., for constructing, manufacturing, etc., one or more real-world objects based on the details represented in the initial version of the first drawing). At this point or some point thereafter, the designer (at 206) performs an action at one of the computer workstations 110a ... 110n that causes the computer system 100 to apply a unique identification code (e.g., a visual depiction of a QR code) to the initial version of the first drawing. The specific actions taken by the designer to cause the computer system 100 to apply the unique code can vary and can include, for example, selecting a graphical widget (e.g., a button, etc.) on a display screen of one of the computer workstations 110a...110n, or otherwise triggering the computer system 100 to apply the code (e.g., by, for example, specifying in computer memory that an initial version of the first drawing is ready for use in a real-world action and that the designer has, at least temporarily, completed modifications to the initial version of the first drawing, etc.).

[0079] In response to the designer's action (at 206), the computer system 100 generates (at 208) a unique code (e.g., a QR code) and applies the unique code to the initial version of the first drawing. In a typical implementation, the computer system 100 utilizes the functionality of the code generator 128 to generate the unique code. Further, in a typical implementation, the unique code may be generated by applying a URL and possibly other drawing-specific metadata as input to the code generator 128. The URL in this example would be for a website where the initial version of the first drawing (and any other versions of the first drawing) and associated metadata (e.g., title, revision number, date, etc.) in a tabular form may be accessed. Thus, if the URL is read by the camera 114 and / or code reader 116 of the end user's smartphone 102 and then selected by the end user on the smartphone's display screen 119, the URL will cause the smartphone's web browser 118 to navigate to a website hosted by the web server 106 that provides access to the contents of the drawing repository 122 (which will include a representative rasterized version of the initial version of the first drawing) and the lookup table 124 (which will include metadata associated with the initial version of the first drawing (e.g., in the form of a title, version number, and / or date information)).

[0080] After the computer system generates (at 208) the unique code and applies the unique code to the initial version of the first drawing, the computer system 100 saves (at 210) the initial version of the first drawing in the drawing repository 122 according to the illustrated flow chart and populates the lookup table 124 with data and / or metadata about the initial version of the first drawing (at 212). In some implementations, these steps (210 and 212) occur automatically after the unique code is applied to the initial version of the first drawing. In other implementations, the designer prompts steps 210 and 212 by taking some action, such as selecting a graphic widget on a display screen of one of the computer workstations 110a...110n. In some implementations, the initial version of the first drawing is saved (at 210) in the drawing repository 122 in a rasterized format.

[0081] At this point or at any time thereafter, the designer or any other person may print the initial version of the first drawing (e.g., onto paper or other physical substrate) via one of the printers 112, for example. The printed initial version of the first drawing will of course include: the substantive information associated with the initial version of the first drawing; optional metadata associated with the drawing (e.g., title, version number, date, etc.) that may be presented in a title box on the drawing; and the code (e.g., QR code) applied to the drawing at step 208. The printed initial version of the first drawing may then be retrieved and used (e.g., in the field) to guide construction and / or manufacturing activities, etc., intended to be associated with the design represented by the substantive information in the initial version of the first drawing.

[0082] Subsequently, the first drawing is updated according to the process represented in the illustrated flowchart. More specifically, the designer (at 214) edits the initial version of the first drawing to create a first revision of the first drawing, and the computer system (at 216) facilitates the editing to create the first revision of the first drawing. Although the substantive details of the first revision of the first drawing may differ from the substantive details of the initial version of the first drawing, the two versions of the first drawing may address the same overall subject matter. For example, although some substantive details may differ between the two versions, both may point to (and display) a frame plan of the second floor of the Mirmar residence. However, in this example, once the editing is complete, some substantive details of the first revised version of the frame plan may differ from some substantive details of the initial version of the frame plan.

[0083] Typically, the editing step includes the designer working using a design program 126 (e.g., CAD software) on one of the computer workstations 110a...110n to edit the pre-existing initial design to produce a first revision thereof. Eventually, the designer is satisfied that the edited version of the first drawing is complete, i.e., ready for use by an end user in a real-world application (e.g., for constructing, manufacturing, modifying, etc., one or more real-world objects based on the details represented in the edited version of the first drawing). At this point or some point thereafter, the designer (at 218) performs an action at one of the computer workstations 110a...110n that causes the computer system 100 to apply a unique identification code (e.g., a visual depiction of a QR code) to the first revision of the first drawing.

[0084] In response to the designer's action (at 218), the computer system 100 generates a unique code (e.g., a QR code) and applies the unique code to the initial version of the first drawing (at 220). Again, in a typical implementation, the unique code represents a URL of a website where the initial version of the first drawing, the first revision of the first drawing, and associated data / metadata in tabular form (e.g., title, revision number, date, etc.) are accessible. After the computer system generates the unique code (at 220) and applies the unique code to the first revision of the first drawing, the computer system 100 saves the first revision of the first drawing (at 210) in the drawing repository 122 according to the illustrated flowchart, and adds data and / or metadata about the first revision of the first drawing to the lookup table 124 (at 212), which is accessible at a website hosted by the web server 106.

[0085] At this point or at any time thereafter, for example, the designer or any other person may print the first revision of the first drawing via one of the printers 112 (e.g., onto paper or other physical substrate). The printed first revision of the first drawing will of course include: substantive information associated with the first revision of the first drawing; optional metadata associated with the first revision of the first drawing (e.g., title, version number, date, etc.) that may be presented in a title box on the drawing; and a code (e.g., a QR code) applied to the drawing at step 220. The printed initial version of the first drawing may then be retrieved and used (e.g., in the field) to guide construction and / or manufacturing activities, etc., intended to be associated with the design represented by the substantive information in the initial version of the first drawing.

[0086] Of course, in the case where there are multiple different versions of the same drawing, without the system disclosed herein, it would be difficult for those skilled in the art to determine whether a particular drawing in their hands (e.g., in the field) is the latest version of the drawing. This may lead to uncertainty, confusion, errors, wasted time, increased costs, etc. In a typical implementation, the computer system 100 disclosed herein avoids or at least minimizes such problems.

[0087] Subsequently, the first revision of the first drawing is updated according to the process represented in the illustrated flowchart. More specifically, the designer (at 222) edits the first revision of the first drawing to create a second revision of the first drawing, and the computer system (at 224) facilitates the editing to create the second revision of the first drawing. Ultimately, the designer is satisfied that the second revision of the first drawing is complete. At this point or at some point thereafter, the designer (at 226) performs an action at one of the computer workstations 110a...110n that causes the computer system 100 to apply a unique identification code (e.g., a visual depiction of a QR code) to the second revision of the first drawing. In response to the designer's action (at 226), the computer system 100 (at 228) generates a unique code (e.g., a QR code) and applies the unique code to the second revision of the first drawing. After the computer system generates (at 228) the unique code and applies the unique code to the second revision of the first drawing, the computer system 100 saves (at 210) the second revision of the first drawing in the drawing repository 122 and adds (at 212) data and / or metadata about the second revision of the first drawing to the lookup table 124. At this time or at any time thereafter, for example, the designer or any other person may print the second revision of the first drawing via one of the printers 112 (e.g., onto paper or other physical substrate). Of course, this exacerbates the aforementioned problem of multiple different versions of the same drawing, in which case it would be difficult for a person skilled in the art to determine whether a particular drawing in their hands (e.g., in the field) is the latest version of the drawing without the system disclosed herein.

[0088] Finally, the illustrated flowchart also shows that the designer creates an initial version of a second drawing. The second drawing will typically show a completely different subject matter than the first drawing. For example, if the first drawing and its new version show a 2nd floor frame plan of the Mirmar residence, the second drawing may show a 2nd floor electrical plan of the Mirmar residence. The process involving the initial version of the second drawing is similar to the process involving the initial version of the first drawing. For example, according to the illustrated flowchart, the designer (at 230) creates an initial version of the second drawing, and the computer system (at 232) facilitates the creation of the initial version of the second drawing. At some point thereafter, the designer (at 234) performs an action at one of the computer workstations 110a...110n that causes the computer system 100 to apply a unique identification code (e.g., a visual depiction of a QR code) to the initial version of the second drawing. In response, the computer system 100 (at 236) generates a unique code (e.g., a QR code) and applies the unique code to the initial version of the second drawing. The computer system 100 then saves (at 210) the initial version of the second drawing (at 210) in the drawing repository 122 and populates the lookup table 124 with data and / or metadata about the initial version of the second drawing (at 212). The initial version of the second drawing and the applied code may then be printed for field use.

[0089] Figure 2B is a flow chart representing an example of steps that may be taken on the end-user side of the system 100 to check whether a particular drawing (in paper form) is the correct (e.g., latest) version of that particular drawing. The flow chart is organized into three columns—one column representing actions performed by a human end-user (labeled “Designer Actions”), one column representing actions performed by the end-user’s smartphone (labeled “Smartphone Actions”), and another column representing actions performed by other parts of the computer system 100 (labeled “Other System Actions”). In a typical implementation, the end-user actions would occur by virtue of the end-user using his or her smartphone 102 to check whether a paper version of a document (e.g., a drawing) is the latest version of the drawing (or whether the paper version of the document may have been superseded by a later revision thereof). In addition, in the event that a later version of the document has superseded the version that the end-user is checking, the end-user is able to access the latest version of the drawing in electronic form from his or her smartphone 102 using his or her phone, as shown in the flow chart. Figure 2B The steps in the flowchart of assume that the computer system 100 has information about the paper drawing and any revisions thereof stored in the drawing repository 122 and the lookup table 124. The end user will know this information, at least because the paper version of the drawing will have a visual non-alphanumeric code (e.g., a QR code) on the drawing.

[0090] The process represented in the illustrated flow chart begins (at 252) with the end user scanning a QR code on a paper drawing by pointing the smartphone's camera 114 toward the QR code. In a typical implementation, when the camera 114 focuses on the portion of the paper drawing having the QR code, the code reader 116 in the smartphone 102 identifies and reads the QR code (at 254). In a typical implementation, the QR code on the paper drawing is encoded with a URL of a website hosted by the web server 106 that enables the smartphone 102 to access information stored in the memory 108, including, for example, information in the lookup table 124 and / or any drawing versions stored in the drawing repository 122. Additionally, in a typical implementation, the QR code on the paper drawing may be encoded with information identifying metadata about the drawing, including a drawing title, revision information, and / or a date.

[0091] The smartphone 102 presents the end user with an option to activate a subsequent step in the version checking process (at 256). In this regard, the smartphone 102 may present the end user with a link selectable by the end user on the display screen 119 of the smartphone 102, which the end user may select to trigger the next step in the version checking process. The link may appear on or next to the QR code on the display screen 119 and may be displayed and presented as a URL associated with the drawing. The end user may activate the subsequent step in the version checking process by selecting (e.g., touching the display screen 119 at the link) the link.

[0092] The end user in the illustrated process actually activates the subsequent steps of the version checking process by selecting a link (at 258). In this example, selecting the link on the display screen 119 causes the web browser 118 of the smart phone 102 to navigate (at 260) to a website hosted by the web server 106, which provides access to information about the drawing in question and any revisions thereof (e.g., in 122 and / or 124). According to the illustrated implementation, the web server 106 provides the information about the drawing in question (e.g., from 122 and / or 124) by providing the smart phone 102 with access to the website (at 262). In a typical implementation, the information includes at least information about the drawing and any revisions thereof from the lookup table 124. In some implementations, the web server 106 can utilize the drawing information (e.g., title, etc.) obtained at 254 to identify a specific drawing whose information should be provided on the website.

[0093] According to the illustrated implementation, the smart phone 102 receives information from the web server 106 (e.g., from the lookup table 124) and compares (at 264) the drawing information with the drawing information (e.g., revision information and / or date information) read from the paper drawing (at 254). In an exemplary implementation, the system 100 may include a function that can be called to return the latest (or any other requested) version of a particular drawing from the lookup table 124 (e.g., Mirmar Residence 2nd Floor Frame Plan with version S_121 dated 2023-01-26). The smart phone 102 compares (at 254) the information of the latest drawing from the lookup table 124 with the corresponding information (e.g., title, version information, and / or date) read from the QR code. If the smart phone 102 (at 266) (e.g., based on the comparison at 264) determines that the paper version of the drawing is the same as the latest version of the drawing in the lookup table 124, the system 100 (at 268) confirms the determination to the end user. In a typical implementation, the system 100 performs this function by presenting a confirmation message (e.g., “The drawing you are reviewing is the latest version”) to the end user on the display screen 119 of the smart phone 102. At this point, and as indicated in the illustrated flow chart, the end user (at 270) continues to rely on the paper drawing he or she is reviewing (which has now been confirmed as the latest version of the drawing) and performs any real-world tasks (e.g., construction, construction, manufacturing, etc.) that rely on the drawing being the latest version thereof. However, if the smart phone 102 (at 266) determines that the paper version of the drawing is not the latest version of the drawing (e.g., based on a comparison of the differences in the paper form of the drawing and the metadata of the latest version represented by the lookup table data at 264), the system 100 presents a message (e.g., “The drawing you are reviewing is not the latest version”) to the end user on the display screen 119 of the smart phone 102 (at 272). In this case, the system 100 also presents (at 274) to the end user a function (e.g., a user-selectable widget on the display screen 119 of the smart phone 102) that enables the end user to request the latest version of the drawing from his or her smart phone 102. In this regard, the system 100 can present the user-selectable widget to the end user on the display screen 119 of the smart phone 102, selection of which causes the smart phone 102 to request (e.g., from the web server 106) a copy of the latest version of the drawing (e.g., from the drawing repository 122). For example, once the web server 106 obtains the latest version of the drawing from the drawing repository 122 (at 278), the web server 106 makes the latest version of the drawing available for viewing on the display screen 119 of the smart phone 102 (e.g., via the web browser 118). The smart phone 102 displays (at 280) the latest version of the drawing in electronic form on its display screen.At this point, according to the illustrated implementation, the end user (at 270) continues to rely on the latest version of the drawing on the display screen 119 of his or her smartphone 102 to perform any real-world tasks (e.g., building, constructing, manufacturing, etc.) that rely on the drawing being its latest version.

[0094] Alternatively, in some implementations, once the end user activates the QR code checker (at 258), the smart phone 102 invokes a function that causes the computer system 100 to automatically return to the latest version of the corresponding document. In this implementation, once the QR code is read, the QR code will display a URL for accessing information about the drawing and information identifying the drawing and its version (e.g., title and / or revision, date, etc.). In this example, the smart phone 102 can invoke the aforementioned function, and the system will respond by identifying whether there are any updated versions of the drawing (e.g., by comparing the drawing information from the scanned QR code with the drawing information in the lookup table 124), and depending on the result, notifying the end user (on his or her smart phone) that the version of the drawing he or she already has is its latest version (e.g., if the call returns the same drawing information as the drawing information in the scanned QR code), or providing a copy of its latest version on his or her smart phone (or tablet) (e.g., if the call returns different drawing information than the drawing information in the scanned QR code).

[0095] Figure 3 1 is a schematic diagram illustrating various components in the context of an exemplary system 100 and a set of exemplary interactions between the illustrated components for checking whether a particular paper drawing 301 is the latest version of the drawing. The illustrated components include portions of the computer system 100, such as an end user's smartphone 102 (illustrated at different points in time), a network 104 (e.g., the Internet), a computer memory 108 containing a drawing repository 122 and a corresponding lookup table (LUT) 124, and a printer 112. The drawing repository 122 in the illustrated example includes three drawings, which may have the following file names:

[0096] MirmarResidence_Level2FramingPlan_S_101_2022-04-10_.DWG,

[0097] MirmarResidence_Level2FramingPlan_S_111_2022-09-05_.DWG, and

[0098] MirmarResidence_Level2FramingPlan_S_121_2023-01-26_.DWG.

[0099] The lookup table 124 includes the aforementioned information about the drawings organized into a searchable table format (see 303). As indicated by arrow "A", the printer 112 has printed one of the drawings, specifically MirmarResidence_Level2FramingPlan_S_121_2023-01-26_.DWG. The end user has a printed (paper) version of the drawing 301 in hand, but does not know whether he or she is viewing the latest version of the drawing, or whether there may be an updated version that includes substantive information (perhaps important details (e.g., important details about construction, manufacturing, etc.) that he or she is unaware of (because these details are not reflected in the version of the drawing 301 that he or she has). The drawing 301 has a portion that includes the substantive information (i.e., a title box that identifies the drawing name, version information of the drawing, and the date of the drawing). The drawing 301 also has a unique code (e.g., a QR code 305) printed on its surface. As indicated elsewhere herein, the QR code 305 may include an encoded URL for a website where information about available versions of the drawing 301 can be accessed and examined, as well as other information, such as some or all of the information in the title box of the drawing 301.

[0100] As shown, the end user focuses the camera of the smartphone 102 on a portion of the drawing 301 having a QR code 305. The QR code 305 appears on the display screen of the smartphone, and the QR reader recognizes and responds to the QR code 305. Specifically, the smartphone generates a link selectable by the end user on its display screen, as shown, being touched by the end user's hand 307. This enables the smartphone 102 to access remote information from the lookup table 124 via the network 104, particularly the information at 303. This information is referenced to determine whether the drawing 301 is the latest version of the drawing in the system 100. In the example shown, the system 100 determines that the drawing 301 is in fact the latest version of the drawing in the system 100, and therefore generates a message 309 on the smartphone 102 confirming that "S_121 is the latest version of the Mirmar House 2nd Floor Frame Plan". Therefore, the user can then rely on the drawing 301 with confidence to continue his work with any real-world product that relies on the latest version of the drawing 301.

[0101] Figure 4 is a schematic diagram illustrating various components in the context of the exemplary system 100 and a set of exemplary interactions between the illustrated components for checking whether a particular paper drawing 301 is the most recent version of the drawing. Figure 4 The components in are basically similar to Figure 3 However, in Figure 4 In the example of FIG. 3 , drawing 301 a is not the latest version of the drawing in system 100 .

[0102] As shown in the figure, Figure 4 The end user in focuses the camera of the smartphone 102 on a portion of the drawing 301a having the QR code 305. The QR code 305 appears on the display screen of the smartphone, and the QR reader recognizes and responds to the QR code 305. Specifically, the smartphone generates an end-user selectable link on its display screen, which is touched by the end user's hand 307 as shown. This causes the smartphone 102 to access remote information from the lookup table 124 via the network 104, specifically the information at 303. This information is referenced to determine whether the drawing 301a is the latest version of the drawing in the system 100. In the illustrated example, the system 100 determines that the drawing 301 is not the latest version of the drawing in the system 100, and therefore generates a message 309a on the smart phone 102 indicating that "S_111 is not the latest version of the Mirmar House 2nd Floor Framing Plan" and provides the end user with the option to "click here to get the latest version", where the term "here" is a hyperlink to a website hosted by the web server 106, which website can provide access to the latest version of the drawing, namely the drawing in the drawing repository 122 with the following file name:

[0103] MirmarResidence_Level2FramingPlan_S_121_2023-01-26_.DWG.

[0104] At this point in the process, the end user knows that the paper version of drawing 301a is not the latest version of drawing 301a, and can choose to touch "here" in message 309a to access the latest version of the drawing on the display screen of smartphone 102. In this example, the end user does choose to touch the "here" link (as indicated by hand 307a), and system 100 responds by generating an electronic version of the drawing on the display screen of the end user's smartphone 102. Thus, the user can then rely on the electronic version of the drawing on the display screen of smartphone 102 but discard, or at least not rely solely on, the paper version of drawing 301, and proceed with their work with confidence using whatever real-world product that relies on the latest version of drawing 301.

[0105] In view of the foregoing, it can be seen that in an exemplary implementation of the systems and techniques disclosed herein, in order to prepare a drawing repository, a QR code is added to each 2D CAD drawing, such as a DWG drawing, of the 2D repository. In a typical implementation, the QR code identifies the 2D CAD drawing (e.g., by title) and its specific revision (e.g., by revision number and / or date). A corresponding rasterized 2D drawing, such as a TIFF or PDF, can be generated each time a new revision of the drawing is verified, or on the fly upon a request (e.g., issued by a designer). For example, a drawing file titled ABCa.DWG, ABCb.DWG, ABCc.DWG, and ABCd.DWG can be four consecutive versions of a particular 2D CAD drawing. As each version is created, a corresponding rasterized 2D PDF can be generated: ABCa.PDF, ABCb.PDF, ABCc.PDF, ABCd.PDF (each corresponding pdf file in the pdf file has a unique QR code applied to it). In this example, the end user has in hand or (electronically) views a rasterized 2D drawing ABCb.PDF. If the end user wants to verify that it is the correct version to use, the end user captures the QR code of the PDF with the camera of his mobile device (e.g., a smartphone). The computer system receives the QR code of ABCb.PDF and, if ABCb is correct (e.g., the latest version of the drawing), returns a message like "Correct 2D Drawing" or, for example, provides the end user with a message like "Incorrect 2D Drawing" and / or provides the latest version of the drawing in PDF form, i.e., ABCd.PDF. In this example, the computer system provides the rasterized 2D drawing ABCd.PDF to the end user.

[0106] In various implementations, any one or more of the certain components described herein (e.g., computer workstations, servers, etc.) may be implemented as a computer (e.g., system 500), an example of which is shown in FIG. Figure 5 . In some implementations, the system may be implemented at least partially in the cloud. System 500 includes a processor 502, a storage device 504, a memory 506 in which software 508 defining the above functions is stored, an input / output (I / O) device 510 (or peripheral device), and a local bus or local interface 512 that allows communication within the system 500. The local interface 512 may be, for example, but not limited to, one or more buses or other wired or wireless connections. The local interface 512 may have additional elements omitted for simplicity, such as controllers, buffers (cache), drivers, repeaters, and receivers to enable communication. In addition, the local interface 512 may include addresses, controls, and / or data connections to enable appropriate communication between the aforementioned components.

[0107] Processor 502 is a hardware device for executing software, particularly software stored in memory 506. Processor 502 can be any custom or commercially available single-core or multi-core processor, a central processing unit (CPU), a secondary processor among several processors associated with the present system 500, a semiconductor-based microprocessor (in the form of a microchip or chipset), a microprocessor, or generally any device for executing software instructions.

[0108] The memory 506 may include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.) and non-volatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). In addition, the memory 506 may incorporate electronic, magnetic, optical and / or other types of storage media. Note that the memory 506 may have a distributed architecture in which various components are remote from each other but can be accessed by the processor 502. Likewise, the processor 502 may be a single processor or a distributed system of multiple processors, such as two or more servers.

[0109] According to the present invention, software 508 defines the functions performed by system 500. Software 508 in memory 506 may include one or more separate programs, each of which contains an ordered listing of executable instructions for implementing the logical functions of system 500, as described below. Memory 506 may contain an operating system (O / S) 520. The operating system essentially controls the execution of programs within system 500 and provides scheduling, input-output control, file and data management, memory management, communication control, and related services.

[0110] I / O devices 510 may include input devices such as, but not limited to, keyboards, mice, scanners, microphones, etc. In addition, I / O devices 510 may also include output devices such as, but not limited to, printers, displays, etc. Finally, I / O devices 510 may also include devices that communicate via both input and output, such as, but not limited to, modulators / demodulators (modems; used to access another device, system, or network), radio frequency (RF) or other transceivers, telephone interfaces, bridges, routers, or other devices.

[0111] When the system 500 is in operation, the processor 502 is configured to execute software 508 stored within the memory 506, transfer data to and from the memory 506, and generally control the operation of the system 500 according to the software 508, as described above.

[0112] When the functionality of system 500 is in operation, processor 502 is configured to execute software 508 stored in memory 506, transfer data to and from memory 506, and generally control the operation of system 500 according to software 508. Operating system 520 is read by processor 502, possibly buffered within processor 502, and then executed.

[0113] In an implementation where the system 500 (or portions thereof) is implemented in software 508, it should be noted that the instructions for implementing the system 500 may be stored on any computer-readable medium for use by or in conjunction with any computer-related device, system, or method. In some embodiments, such a computer-readable medium may correspond to either or both of the memory 506 or the storage device 504. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or apparatus that may contain or store a computer program for use by or in conjunction with a computer-related device, system, or method. The instructions for implementing the system may be embodied in any computer-readable medium (including, for example, non-transitory media) for use by or in conjunction with a processor or other such instruction execution system, device, or device. Although the processor 502 has been mentioned by way of example, in some embodiments, such an instruction execution system, device, or apparatus may be any computer-based system, a system containing a processor, or other system that may obtain instructions from an instruction execution system, device, or apparatus and execute instructions. In the context of this document, a "computer readable medium" can be any means that can store, communicate, propagate, or transport the program for use by or in connection with a processor or other such instruction execution system, apparatus, or device.

[0114] Such a computer readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples of computer readable media (a non-exhaustive list) would include the following: an electrical connection having one or more conductors (electronic), a portable computer floppy disk (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or flash memory) (electronic), optical fiber (optical), and a portable compact disk read-only memory (CDROM) (optical). Note that the computer readable medium may even be paper or another suitable medium on which the program is printed, as the program may be captured electronically, for example, via an optical scan of the paper or other medium, and then compiled, interpreted, or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

[0115] In an implementation in which the system 500 (or portions thereof) is implemented in hardware, the system 500 may be implemented using any one or a combination of the following technologies: a discrete logic circuit having logic gates for implementing logic functions based on data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.

[0116] The following is an example of using computer system 100 .

[0117] Assume that a field worker wants to verify that he or she has the correct (e.g., the latest) 2D drawing of a particular project. The field worker or any authorized user has a printed version of the drawing in hand or has the 2D drawing on the display of his or her device. The field worker operates his or her smartphone to capture a QR code of the drawing (e.g., by opening the smartphone's camera and positioning to capture the QR code). The field worker causes the smartphone to initiate a call based on the QR code, wherein the call contains a reference to the current (i.e., latest) version of the 2D drawing (e.g., according to the reference in the QR code).

[0118] This activates the computer system to respond to the on-site worker. In this regard, upon receiving the content of the QR code of a document that is printed and available to the worker or as a digital file, the system searches the repository content from the file format using a lookup table. Other searches can be performed in different formats. The QR code URL and identifier are received by the system. It can be used as an input in a DWG table, where the identifier is contained in the QR code. This table lists all revisions made to each DWG 2D CAD drawing. The system typically selects the latest version of the 2D CAD drawing as the correct version. The system checks in the table (e.g., ABCb.DWG) and either returns a message like "correct 2D drawing" or provides the worker with the latest version of, for example, PDF (optionally with a message indicating that the version at hand is not the latest version). In this example, the system provides the worker with a 2D rasterized drawing ABCd.PDF. Specifically, for example, the worker receives the information "the correct 2D drawing in hand" or receives the correct version of the rasterized 2D drawing on his or her smartphone (or tablet).

[0119] As another example, the use of the system for GIS maps or data is similar to the use for one in a 2D CAD drawing. In this example, the field worker wants to verify whether he has the correct GIS map or data file. The field worker or any authorized user has a printed version of the GIS map and / or data file on hand or views the data file on the display of his or her device (e.g., a smart phone). The field worker activates a QR code reader on a smartphone (e.g., by turning on the camera of his smartphone and positioning it so that it can grab a QR code of a (e.g., printed) map) or otherwise reads from a digital file. The field worker takes action to initiate a call based on the QR code containing a reference to the current GIS map and / or data file.

[0120] In this example, upon receiving the contents of a QR code of a document available to a worker in print or as a digital file, the system searches the repository content from that file format using a lookup table. In some cases, additional searches may be performed in other formats. The QR code URL and identifier are received by the system. It is used as input in a GIS map or data file lookup table, where the identifier is contained in the QR code. This table lists all revisions that occurred on each GIS map or data file. The system typically selects the latest version of the GIS map or data file as the correct version.

[0121] Using the example above, the user has printouts or files like:

[0122] Basename_LayerName_V2_Date2.shp

[0123] Basename_LayerName_V2_Date2.shx

[0124] Basename_LayerName_V2_Date2.dbf

[0125] The field worker’s device communicates the contents of the QR code to the system. The system receives the corresponding QR code. The system checks the lookup table and returns a message like “correct GIS map or data file” on the field worker’s smartphone or tablet, or provides the field worker with the latest version of the GIS map and data file.

[0126] In this example, the system provides the worker with the following GIS map or data file:

[0127] Basename_LayerName_V3_Date3.shp

[0128] Basename_LayerName_V3_Date3.shx, and / or

[0129] Basename_LayerName_V3_Date3.dbf,

[0130] These represent the latest versions.

[0131] Figure 6 is an example of a lookup table for 2D drawing that may be stored in computer memory. In the example shown, the lookup table includes a site identifier (Miami, Florida), an asset identifier (Miramar Residences), location and other geographic location identifiers (e.g., UTM zone 17 and corner coordinates of UTM X and UTM Y), permit information (e.g., "Cover: (SD, CD, DD) - Issued for permits and construction?"), QR code content (e.g., basename, version, date concatenated in DWG file name format), plan layer identifiers (e.g., lowest layer, layer 1, layer 2, next layer, top layer of the asset), drawing type identifiers (e.g., site plan, existing conditions, layout, demolition, sub-board, building, life safety, structure, fire protection, plumbing, mechanical, electrical, interior, fire alarm, food service, telecommunications, etc.), applicable trade identifiers (e.g., symbols EX, L, D, SS, A, LS, S FP, PH, E, I, FA, K, T, and S), 2D drawing numbers for available drawings to identify versions (e.g., 101, 111, 121), level and elevation identifiers, etc. The top portion of the diagram indicates that the diagram involves creating a lookup table for a 2D drawing contained in a repository of assets. Of course, various variations are possible.

[0132] Figure 7is an example of a lookup table for a GIS map that can be stored in computer memory. In the example shown, the lookup table includes location information (e.g., Miami, Florida), more geographic location information (e.g., northeast of Miami), QR code content (e.g., a concatenation of the base name, version and date, and file extension), common major formats (e.g., shapefile, keyhole markup language, web map service layer, vector data, Esri file geodatabase, grid cell data (rasterized data), shape index file, dBase attribute file, etc.), format extensions (e.g., .shp, .shx, .dbf, .prj, .shp.xml, .sbn, .kml, GeoJSON, GDB, .tif, etc.), related files (e.g., shape index file, dBase attribute file, planning file, additional data, query using ArcGIS, Xple layers / features, managed from server, data type, resolution, etc.), common (F) vs. usual (c) and TN, map type (e.g., administrative / political boundaries, census data , culture (historical sites, monuments, ...), digital elevation models, seismic zones, hydrology (rivers, lakes, etc.), land use, parcels and ownership, population, rail network, soil types or soil characteristics, transportation network, topography, utilities (power lines, fiber optics, etc.), vegetation, zoning areas, etc.), map symbols (e.g., BND, CENSUS, CULT, DEM, EQZ, HYDRO, LU, PARCEL, POP, RAIL, SOIL, TN, TOPO, UTIL, VEG, ZONING), etc. The diagram shown also indicates at the top of the page that the information contained therein relates to the creation of a lookup table for the GIS and data files contained in the repository for the project or geographic area. The content in this example is first sorted by the main format and its associated files (if any). Then, within the main format, the content is sorted alphabetically (e.g., from A to Z) by map type using their map symbols. As shown, the next step is to sort the content by version and date. Of course, various variations are possible.

[0133] A number of embodiments of the present invention have been described, however, it will be appreciated that various modifications can be made without departing from the spirit and scope of the invention.

[0134] For example, the systems and techniques disclosed herein can be applied to confirm the versioning of nearly any type of document (e.g., drawings, GIS maps, etc.) that contains some substantive information, changes over time, and for which it is important to understand that the "correct" version is being used or referenced (e.g., the expected version and / or the latest version).

[0135] The systems and techniques disclosed herein can be applied to check electronic (as well as real-world physical) versions of documents. In those cases, the electronic version of the document in question can be positioned so that a QR code thereon appears on the display screen of a smartphone, and the smartphone's QR reader can recognize the presence of the QR code and react accordingly, as described herein.

[0136] Users often do not have access to CAD or GIS design software, which needs to be installed on or accessed on smartphones. They do not have the knowledge and training to interact with such design software. In fact, they are not allowed to edit it. They tend to use rasterized drawings as they are more compact in drawing file size and annotate these drawings only when needed.

[0137] The system and technology disclosed herein can be applied to tracking and managing document versions, regardless of the naming convention adopted for naming the document files in a specific computer system. In this respect, any one or more of the various different naming conventions can be adopted. Naming the successive versions of 2D drawings, GIS maps, data files, etc. is certainly very important for keeping organization, clarity and easier reference in many fields. On-site or field workers usually only use paper printing or digital files to work. They need to verify whether the documents in their hands are correct, if not correct, then access the correct documents.

[0138] 2D CAD drawings in asset environments such as buildings, structures, and plants tend to undergo many changes throughout their lifecycle from construction to demolition. There are many possible ways to name successive versions of such drawings. Two examples are discussed below. The first example would be to attach a version identifier to the base name of the 2D CAD drawing using, for example, letters or numbers to represent different versions. The first approach also typically involves adding a date or time stamp. For example:

[0139] MiramarResidence_Level2FramingPlan_A_2022-04-10

[0140] MiramarResidence_Level2FramingPlan_B_2022-09-05

[0141] MiramarResidence_Level2FramingPlan_C_2023-01-26

[0142] This example retains the base name and increments the 2D CAD drawing number. The base name is a unique identifier. Each base name contains the trade of the 2D CAD drawing, such as S for structural, E for electrical, and M for mechanical. The sequence of identical base names is usually 100 to 999.

[0143] Another example, and the example described above, would be to append an available number in the sequence. For example, if 2D CAD drawings 100, 101, 102, 103 already exist, 111 could be a newer version that deprecates the initial version 101. The next available number for another new version is a grouping containing 2D documents 121, 122, and 123. In some cases, when needed, the number of sequence numbers can be increased by creating derivative numbers such as 102.1, 102.2, 102.3, etc. In all cases, even deprecated 2D CAD drawings due to change orders, performance improvements, or revisions are maintained in the digital repository.

[0144] Naming conventions for GIS (Geographic Information System) maps (and / or other data files) may vary by organization, project, format, and company preference. Some practices may include elements in the naming convention to ensure consistency, clarity, and ease of organization. In some such practices, the base name may include, for example, the name or identifier of the project, the primary location or geographic area, the type of map, and / or the scale of the map. Successive versions of a map include a version number (A, B, C... or 1, 2, 3) and the date the map was created or updated. Additional information such as a reference number, author, or any other relevant metadata may be included, depending on the specific requirements of the organization or project.

[0145] In some cases, the type of map identifies the purpose of the map. Some common examples include: BND: administrative or political boundaries; CENSUS: census data; CULT: cultural features (monuments, ruins, etc.); DEM: digital elevation model; EQZ: seismic zones; HYDRO: hydrology (water features such as rivers, lakes, etc.); LU: land use; PARCEL: parcel information (parcels and ownership); POP: population; RAIL: rail network; SOIL: soil type or soil properties; TN: transportation network; TOPO: topography; UTIL: utilities (utility infrastructure: pipelines, power lines, fiber optics, etc.); VEG: vegetation; and ZONING: zoning area.

[0146] When a map consists of different layers or datasets, you can include a brief description of the main layers in the map name, or describe each of them individually.

[0147] The principles of naming conventions can be applied to a variety of GIS data formats, such as shapefiles, Keyhole Markup Language (KML) files, Web Map Service (WMS) layers, vector data, and grid cell data. There are some format-specific considerations to keep in mind. For example, naming a shapefile and its associated files (.shx, .dbf, etc.), it may be important to keep all associated files in a shapefile dataset consistent.

[0148] For example:

[0149] Basename_LayerName_Version.shp

[0150] Basename_LayerName_Version.shx

[0151] Basename_LayerName_Version.dbf

[0152] Keyhole Markup Language (KML) files are usually self-contained and can contain multiple layers or features. For example, the naming convention of the KML file can focus on describing the content or purpose of the KML. For example:

[0153] BaseName_LayerName.kml

[0154] Location_FeatureType.kml

[0155] Web Map Service (WMS) layers are typically accessed via URLs and service endpoints. Naming conventions may not be very relevant for WMS layers, as naming is typically managed on the server side. However, when saving local references to WMS layers, you can use a naming convention like the following:

[0156] BaseName_WMSLayerName

[0157] For vector data formats such as GeoJSON or the Esri File Geodatabase (GDB), the naming convention can be adapted to that format while maintaining the same principles. For example:

[0158] BaseName_LayerName_Version.geojson

[0159] BaseName_LayerName_Version.gdb

[0160] The naming convention used for grid cell data (such as rasterized datasets) can focus on describing the content of the data, its resolution, and any relevant metadata. For example:

[0161] BaseName_dataType_Resolution_Date.tif

[0162] Location_ElevationModel_30m_2022.tif

[0163] QR codes for 2D CAD drawings or GIS maps and data files can be generated in any of a variety of ways. In such an implementation, each 2D CAD drawing (e.g., DWG file) of a 2D repository can be provided with a QR code identifier, and / or each GIS map and other repository data files (such as shapefiles) can be provided with a QR code identifier. In some implementations, the minimum number of pixels that can be read for a QR code depends on several factors, including the size of the QR code, the error correction level used, and the reading conditions. The larger the QR code, the more information it can hold, and the more it can be read from a farther distance. A standard-sized QR code can contain up to about 3,000 alphanumeric characters. In some implementations, it may be desirable to have a resolution of at least 21×21 black and white squares, modules, to ensure correct reading. This means that a QR code typically has a minimum size of 21 pixels wide and 21 pixels high. The content of the QR code may vary depending on the repository type, CAD or GIS, format extensions, etc. It may be appropriate to include a base name, its letter or number revision identifier, date, and / or format extension type. For better readability and greater reading reliability, a higher resolution may be desired. For example, for a medium-sized QR code with approximately 100 alphanumeric characters, a resolution of 33×33 modules or more may be preferred.

[0164] In some implementations, a serialized QR code generator can be used to create multiple QR codes with sequential or incremental data. Here, such a serialized QR code generator can be used to uniquely identify each of successive revisions of a 2D CAD drawing or GIS map and data file.

[0165] As described above, a corresponding rasterized 2D drawing (such as a PDF) can be generated with each validation of a new drawing (or new drawing revision) and / or generation and / or application of a corresponding QR code to the drawing, or on the fly upon request (e.g., by a designer at one of the computer workstations). For example, if ABCa.DWG, ABCb.DWG, ABCc.DWG, ABCd.DWG are the file names of four consecutive versions of a particular 2D CAD drawing, then after each version is created, a corresponding rasterized 2D PDF can be generated immediately (e.g., upon validation or saving) or dynamically upon request. These corresponding rasterized 2D PDFs can be named ABCa.PDF, ABCb.PDF, ABCc.PDF, ABCd.PDF. In the case of GIS maps and data files, each additional component can be updated as necessary:

[0166] Basename_LayerName_V3_Date3.shp

[0167] Basename_LayerName_V3_Date3.shx

[0168] Basename_LayerName_V3_Date3.dbf

[0169] In various implementations, if a new drawing has been created, or an existing drawing has been edited, the drawing may be considered validated (and processed as such) in response to the designer having published the new or edited drawing to the repository (and when the designer has published the new or edited drawing to the repository) (and processed as such by the system), which in turn pushes the new or edited drawing (e.g., associated metadata) into the lookup table. The designer may use the same mechanism for grouping 2D drawings.

[0170] In various implementations, QR codes can be added to new documents (e.g., 2D drawings) as they are created or modified. Alternatively, for pre-existing documents (e.g., 2D drawings), QR codes can be created and applied to 2D drawings already in an existing repository. In this case, QR codes for each 2D drawing in an existing repository can be easily automatically created by implementing, for example, one or more of the aforementioned naming schemes and / or a serial QR code generator.

[0171] In a typical implementation of collaborative systems, these systems ensure that only one designer can create or edit a drawing at a time. The designer reserves the drawing (checks it in), modifies it, and then puts it back into the repository (checks it out). At the same time, all drawings are kept in the repository during their lifecycle, so traceability and auditing are possible. This is easier to do when you are in a "single source of truth" but can also use a master file process.

[0172] In some implementations, a lookup table may be created using a QR code link for a 2D drawing. In some such implementations, the base name (BaseName) of the 2D drawing may include one or more (or all) of the following: the name of the asset, the layer (elevation) of the drawing, the type of the 2D drawing (e.g., A, S, E, I..), the ordinal number of the 2D drawing within the type of the 2D drawing, the revision number or letter of the 2D drawing, and / or the creation date or revision date. In addition, a reference may be included, such as Reference (LOOKUP TABLE QR 2D CAD v.0.4.0.xlsx).

[0173] For a repository of GIS maps and related data files, QR codes may be added to new maps and related data files as they are created or modified. Alternatively, QR codes may be added to existing assets / documents (e.g., GIS maps and related data files). In this case, the creation of QR codes for each of the maps and associated data files for the existing repository assets / documents may be automated, for example, by implementing one or more of the aforementioned naming schemes and / or by using a serial QR code generator. Similarly, in various implementations, the creation of QR codes for each of the maps and associated data files for the existing repository may be automated, for example, by implementing one or more of the aforementioned naming schemes and / or by using a serial QR code generator.

[0174] For example, using a GIS and related data files, a lookup table can be created with a QR code link, where the base name of each map and related data file includes one or more (or all) of the following: project name or identifier, primary location or geographic area, map type, and / or scale of the map. These attributes can be concatenated to create the base name. As described above, additional attributes can be included in the base name. Although the format varies for each type, in this example, the link from the QR code can be:

[0175] BaseName_LayerName_Version_Date.FormatExtension

[0176] To create a lookup table for the GIS and data files contained in a repository for a project or geographic area, the following steps can be taken: 1) the contents of the repository can be sorted first by master format and its associated files (if any), 2) then, within each master format, they can be sorted alphabetically by map type (e.g., A to Z) using their map symbols, 3) when a master format requires associated files, they are sorted as a group with the master format files, and 4) then they are sorted by version and date. This may result in a reference (LOOKUP TABLE QR GISv.0.4.0.xlsx).

[0177] There are a variety of devices that can be used as smart phones as described herein. These can include, for example, smartphones and / or tablets that can capture QR codes and link to URLs. Some non-limiting examples include Apple iPhones and iPads running iOS 11 or higher, Android smartphones and tablets (e.g., some may require downloading a separate QR code scanning application from the Google e-store), and devices from Samsung, Huawei, and Xiaomi (which typically have built-in QR code scanners that can be accessed through a camera application or a native scanner application).

[0178] The phrase computer-aided design and the like should be broadly interpreted to include or relate to any computer-based system or technology for designing, engineering, simulating or viewing a design utilizing one or more computers or computer-based components.

[0179] In various implementations, certain computer components disclosed herein (e.g., applications, design tools, etc.) may be implemented by one or more computer-based processors (referred to herein as processors) that execute computer-readable instructions stored on non-transitory computer-readable media to perform associated computer-based functions (e.g., functions represented in the flowchart and attributable to the computer). The one or more computer-based processors may be virtually any type of computer-based processor and may be contained in one housing or distributed at different locations, and the non-transitory computer-readable media may be or include any one or more of a variety of different computer-based hardware memory / storage devices contained in one housing or distributed at different locations.

[0180] Certain functionality is described herein as being accessible or activatable by a user selecting a screen button or the like. This should be interpreted broadly to include any kind of visible, user-selectable element or other user interactive element.

[0181] The systems and techniques disclosed herein can be implemented in a variety of different ways. In one exemplary implementation, the systems and techniques disclosed herein can be incorporated into a In various implementations, the systems and techniques may be deployed in other ways.

[0182] Various aspects of the subject matter disclosed herein can be implemented in digital electronic circuits or computer-based software, firmware or hardware (including the structure disclosed in this specification and / or its structural equivalent and / or its combination). In some embodiments, the subject matter disclosed herein can be implemented in one or more computer programs, and one or more computer programs are one or more modules of computer program instructions for executing or controlling the operation of one or more data processing devices (e.g., processors) on a computer storage medium. Alternatively or additionally, program instructions can be encoded on artificially generated propagation signals, for example, machine-generated electrical, optical or electromagnetic signals, which are generated to encode information for transmission to suitable receiver devices for execution by data processing devices. Computer storage media can be computer-readable storage devices, computer-readable storage substrates, random or serial access memory arrays or devices, or combinations thereof or can be included in computer-readable storage devices, computer-readable storage substrates, random or serial access memory arrays or devices, or combinations thereof. Although computer storage media should not be considered to be merely propagation signals, computer storage media can be the source or destination of computer program instructions encoded in artificially generated propagation signals. The computer storage media may also be or be included in one or more separate physical components or media, such as multiple CDs, computer disks, and / or other storage devices.

[0183] Certain operations described in this specification (e.g., aspects of those operations represented in the flowcharts and attributable to a computer system and / or its components) may be implemented as operations performed by a data processing device (e.g., a processor / specially programmed processor / computer) on data stored on one or more computer-readable storage devices or received from other sources (such as the computer system and / or network environment described herein). The term "processor" (or the like) encompasses all types of devices, equipment, and machines for processing data, including, for example, programmable processors, computers, systems on a chip, or multiple or combinations of the foregoing. The device may include dedicated logic circuits, such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). In addition to hardware, the device may also include code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The device and execution environment may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures.

[0184] Although this specification contains many specific implementation details, these should not be interpreted as limitations on the scope of any invention or what may be claimed, but rather as descriptions of specific features of specific embodiments of specific inventions. Certain features described in the context of separate embodiments in this specification may also be implemented in combination in a single embodiment. On the contrary, the various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any suitable sub-combination. In addition, although features may be described above as working in certain combinations and even initially claimed as such, one or more features from the claimed combination may be cut out from the combination in some cases, and the claimed combination may be directed to a sub-combination or a variation of the sub-combination.

[0185] Similarly, although operations may be described herein as occurring in a particular order or manner, this should not be understood as requiring such operations to be performed in the particular order shown or in a sequential order, or requiring the execution of all illustrated operations to achieve desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of the various system components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can be integrated together in a single software product or encapsulated in multiple software products. Some steps (e.g., 264 and / or 266) may occur at a smart phone or at a web server or other system location.

[0186] Finally, what follows is a discussion of some additional considerations, advantages, and details of certain implementations.

[0187] For example, on a typical construction project, team members who design and manage the project may make up about 15% of the workforce. These team members may create and edit CAD files, 3D models, 2D drawings, and / or GIS maps. The drawings and maps they work with are typically vector representations of data entities. They can be edited by the CAD or GIS application software in its native vector format (such as DWG or Shapefile) or converted into another format. Some team members may create and manage GIS maps. Typically, about 85% of the team members who make up the workforce are assigned tasks related to their skills. They work in the field and on site. They typically receive instructions and references through one or more rasterized 2D documents derived from CAD drawings and / or GIS maps. Some of these rasterized 2D drawings or maps also contain other data attributes. Other users of these documents may be clients, contractors, suppliers, and regulators.

[0188] Rasterized 2D drawings are typically used (and intended to be used) as instructions, or as references to guide users through tasks. They can be annotated, but are not typically substantially modified or edited by the recipient (e.g., end user). Rasterized 2D drawings and / or GIS maps can be images in formats such as JPEG, TIFF, PDF, and PNG. The image typically represents an original vector 2D CAD drawing, such as one from which the image was generated. TIFF and PDF formats are lossless and generally support saving and storing large files. For example, a rasterized 2D drawing containing other data such as schedules, notes, and legends can be an image of the original 2D vector CAD drawing. Similarly, GIS data can have vector entities and raster data, such as grid cells.

[0189] The number of rasterized drawings and / or maps used in a particular project or activity is often many times the number of 2D CAD drawings and / or GIS maps with digital entities used in that particular project or activity. This may be due to one or more of a number of potential root causes, including, for example, considerations related to digital and printed documentation, legacy or existing drawings, non-technical users, visualization and communication, collaborative markup and review, full sizing, and compatibility. Each of these categories is discussed in turn below.

[0190] Digital and printed documents: Most companies want to move to digital. The problem is that today most field workers and on-site workers are still working with paper that is a rasterized image from CAD or GIS. Once a document is in paper form, it loses its connection to the original content.

[0191] Old or existing drawings: In some cases, projects / activities may involve the use of old or existing drawings that were created in raster format. These drawings may not have been originally created using CAD software, or the original CAD files may not be available. Therefore, the project team may have to rely on images or hand-drawn versions of these drawings to reference or modify. There are several ways to reconstruct these files into 2D CAD drawings, either through software applications when rasterized 2D drawings exist, or by creating them through photogrammetry or LiDAR to capture the current state of the asset, or a combination of both.

[0192] Non-technical users : Projects often involve a variety of users who may not have technical expertise or access to CAD software. Rasterized 2D drawings (such as image files) are more accessible and easier to share with non-technical team members, clients, contractors, suppliers, and regulators. Rasterized 2D drawings can be viewed using widely available software, while CAD drawings require specialized software to properly access and edit, which is inaccessible to many users.

[0193] Visualization and communication : For some purposes, rasterized drawings are more visually appealing and easier to understand. They can effectively communicate design intent, aesthetic details, or graphical representations. On the other hand, CAD drawings may be more technical in nature, representing precise measurements, dimensions, and specifications. Rasterized 2D drawings are used in presentations, marketing materials, or public communications where visual impact may be more important than technical accuracy. Reading and correctly interpreting 2D raster drawings still requires care. An interesting lesson is that in countries where many workers have little or no literacy, with practice they can still gain some correct understanding and interpretation of images in 2D rasterized drawings.

[0194] Collaborative marking and review : Rasterized 2D drawings allow for easier annotation, markup, and review processes. Team members can add comments, highlights, or sketches directly on the drawing using a variety of software tools. While CAD software also supports markup, they may require the recipient to have access to the same CAD software or require additional training to effectively use the markup feature.

[0195] File size and compatibility: Rasterized 2D drawings tend to have smaller file sizes than CAD drawings, especially for complex or large projects. This makes them easier to handle, store, and share, especially in situations where bandwidth is limited or when working with collaborators with hardware or software limitations. Multiple team members use the same 2D rasterized drawing for illustration or reference: Different workers can work on the same rasterized 2D drawing synchronously or asynchronously, but at different locations depicted on the rasterized 2D drawing. Multiple users can also use rasterized 2D drawings as references, illustrations, rather than as instructions.

[0196] There are many reasons why 2D CAD drawings and rasterized 2D drawings may experience multiple revisions. One such reason is that a project may be subject to one or more change orders (e.g., in a construction project, etc.). In large projects and / or projects involving large assets, design changes may be frequent, and the frequency of changes may increase with the complexity of the project. For example, large commercial buildings, infrastructure, factories, and shipbuilding tend to require more detailed and specialized drawings, which may result in more change order requirements. This may be due to, for example, design errors, late improvements requested or agreed to by the owner, material substitution due to shortages due to supply chain issues, costs, potential delays, and / or increases in performance levels in the quality or quantity of the initial output produced by the asset.

[0197] Design changes may occur during the design phase of a project, as well as during the construction phase of a project, which can significantly impact the number of 2D CAD drawing changes that may be required, for example. These may arise from owner requirements, engineering requirements, site constraints and / or regulatory conditions that arise during the construction phase. They may occur in any of a variety of different trade skill areas such as architectural, structural, mechanical, plumbing and safety.

[0198] Additionally, the design process is sometimes iterative, with multiple revisions and refinements as the design evolves during design or construction. The initial project contract can be modified through change orders. Some types of change orders involve changes in the scope of the project (e.g., the owner or tenant agency requests a design change), the occurrence of unforeseen circumstances (e.g., site conditions are different than expected, and / or a subcontractor or contractor requests a change), professional errors and omissions (e.g., a contractor or subcontractor requests a change), other errors (e.g., errors in the construction design plans and specifications), and / or other omissions (e.g., the omission of items or elements from the plans).

[0199] For example, in the U.S. residential construction industry, the number and average change value of change orders (COs) tend to vary with contract size. In 2020, change orders in the U.S. accounted for approximately 5% of original residential construction contracts. The amounts tend to vary by region, with coastal areas tending to have higher prices and larger total change order amounts. There is great potential for implementing these technologies.

[0200] Other implementations are within the scope of the following claims.

Claims

1. A computer-based method for document version confirmation, comprising: capturing, with a smart device, an image of a non-alphanumeric code from a document including substantive information that changes over time, wherein the non-alphanumeric code includes a document identifier and a uniform resource locator (URL) to a remote network location at which information about the document and, if available, about the version of the document is stored; initiating a request from the smart device to check at the remote network location defined by the URL whether the version of the document whose non-alphanumeric code is read by a code reader is a specific version of the document; receiving a response from the server at the remote network location; and A notification is generated on a display screen of the smart device, the notification indicating whether the document whose non-alphanumeric code is captured in the image is the particular version of the document.

2. The computer-based method of claim 1 , further comprising: In response to the request and based on information about the document stored at the remote network location defined by the URL and information about a version of the document, determining whether the document whose non-alphanumeric code is read by the code reader is the particular version of the document.

3. The computer-based method of claim 1 , further comprising: In response to the computer determining that the version of the document whose non-alphanumeric code is read by the code reader is not the particular version of the document, the particular version of the document is received in electronic form at the smart device.

4. The computer-based method of claim 1 , further comprising: storing information about the document and, if the information about the version of the document exists, also storing information about the version of the document at the remote network location defined by the URL, wherein the information about the document and the information about the version of the document include: a drawing repository containing at least an initial version of the document; and A lookup table comprising an array or matrix of metadata about at least an initial drawing stored in a computer memory in a searchable manner.

5. The computer-based method of claim 4, wherein: The information about the document and the information about the version of the document include: a drawing repository containing the initial version of the document and one or more revisions of the document; and A lookup table stored in computer memory, the lookup table containing an array or matrix of metadata regarding the initial drawing of the document and the one or more revisions stored in a searchable manner in the computer memory.

6. The computer-based method of claim 4, further comprising: Prior to performing the steps of claim 1, the drawing repository is populated with at least the initial version of the document and the lookup table is populated with metadata about at least the initial version of the drawing from one or more computer workstations.

7. The computer-based method of claim 6, further comprising: A unique non-alphanumeric code is applied to each respective version of the drawing created at one or more of the computer workstations.

8. The computer-based method of claim 7, further comprising: Generate each unique non-alphanumeric code using the Quick Response QR Code Generator.

9. The computer-based method of claim 8, wherein: Generating each unique QR code includes: Enter the following into the QR code generator: a document identifier that identifies a corresponding one of the documents and a version represented by the corresponding document, and A URL for a remote network location at which information about the document and, if any, a version of the document is stored is stored.

10. The computer-based method of claim 1, wherein: The document with the non-alphanumeric code is a real-world physical substrate.

11. The computer-based method of claim 10, wherein: Reading the non-alphanumeric code from the document includes directing a camera of the smart device to focus on the non-alphanumeric code on the real-world physical substrate and activating a web browser in the smart device to navigate to the remote network location on a network.

12. The computer-based method of claim 1, wherein: The document having the non-alphanumeric code is in electronic form.

13. The computer-based method of claim 12, wherein: Reading the non-alphanumeric code from the document includes causing the non-alphanumeric code on the document to appear on the display screen of the smart device and activating a web browser in the smart device to navigate to the remote network location on a network.

14. The computer-based method of claim 1, wherein: The smart device includes: case; a camera coupled to the housing, Display screen; a reader for said non-alphanumeric code; and A web browser.

15. The computer-based method of claim 1, wherein: The non-alphanumeric code is a Quick Response QR code.

16. The computer-based method of claim 1, wherein: The documents are rasterized 2D drawings or Geographic Information System (GIS) maps and related data files.

17. The computer-based method of claim 1, wherein: The image is captured using a camera integrated into the smart device.

18. The computer-based method of claim 1, further comprising: The non-alphanumeric code is read from the document using a code reader integrated into the smart device.

19. The computer-based method of claim 18, wherein: The document identifier identifies the document and the version of the document, as well as the uniform resource locator URL for the remote network location, where information about the document and, if any, the version of the document are stored are also stored.

20. The computer-based method of claim 1, further comprising: The non-alphanumeric code is read from the document using a code reader at the remote network location.

21. The computer-based method of claim 1, further comprising: Upon receipt of the request at the remote network location, the document is checked to see whether it is a single self-contained document or is part of a group of documents to be interpreted simultaneously by the originator of the request.