Accurate identification of objects from a subset of features in triangulated mesh representations

By decomposing and analyzing triangulated mesh representations to identify critical geometric features, the method effectively prevents the 3D printing of illegal firearm components like MCDs, ensuring compliance with legal regulations and enhancing public safety.

WO2026161765A1PCT designated stage Publication Date: 2026-07-30TRUSTEES OF DARTMOUTH COLLEGE THE
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
TRUSTEES OF DARTMOUTH COLLEGE THE
Filing Date
2026-01-23
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

The accessibility of 3D printing technology has led to the proliferation of machine gun conversion devices (MCDs), which are illegal and pose significant public safety risks, as users can easily print these parts from widely available design files, evading legal restrictions.

Method used

A method and system that decompose triangulated mesh representations of objects into surface primitives, calculate dimensionless geometric properties, and apply classification thresholds to identify critical geometric features, enabling the detection and prevention of illegal components like MCDs by comparing them to a library of candidate objects.

Benefits of technology

This approach accurately identifies and blocks the 3D printing of illegal components by focusing on specific geometric features, reducing false positives and negatives, and ensuring compliance with legal regulations, while being robust to variations and modifications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2026012450_30072026_PF_FP_ABST
    Figure US2026012450_30072026_PF_FP_ABST
Patent Text Reader

Abstract

A triangulated mesh representation of a target object is decomposed into surface primitives bounded by edges and vertices. Critical geometric surfaces of a desired object used to identify the desired object are specified. Then a set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships are determined. Functional surfaces of the target object to the critical geometric surfaces of the desired object are compared and differences are determined. A classification threshold is applied to the differences to detect the target objects and the desired objects that share specified functional surface characteristics. An additive manufacturing tool can be blocked from building a component when the target object and the desired object share the specified functional surface characteristics above the classification threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No.: 094219.00084ACCURATE TDENTIFTCATTON OF OBJECTS FROM A SUBSET OF FEATURES IN TRIANGULATED MESH REPRESENTATIONS CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to the provisional patent application filed January 23, 2025 and assigned U.S. App. No. 63 / 748,607, the disclosure of which is hereby incorporated by reference.FIELD OF THE DISCLOSURE

[0002] This disclosure relates to additive manufacturing and, more particularly, to identifying objects during additive manufacturing.BACKGROUND OF THE DISCLOSURE

[0003] Gun violence is a major issue in the United States, manifesting through homicides and mass shootings. Gun violence is a leading cause of premature death in the U.S. with over 39,000 related deaths in the United States. The prevalence of gun violence in the United States is a serious threat to public safety and health.

[0004] Over the past decade, 3D printers have become household machines. The user-friendly interface makes it easy for beginners to learn how to print. Additionally, if a user does not have computer design skills, the user can easily pull from online libraries of parts already designed. A user only needs to download the part, and then the user can print it. This eliminates the need for users to create their own designs, and they can begin printing what they find online immediately. Overall, the combination of affordable hardware, an intuitive interface, and a library of available models online makes 3D printing incredibly accessible.

[0005] 3D printing technology has rapidly evolved over recent years. Accessibility to 3D printing technology allows users to be creative by bringing their ideas to life. However, the ability to print whatever you want at the click of a button has public safety and legal implications. People discovered how they can leverage 3D printing to manufacture machinegun conversion devices (MCDs), such as “Glock switches” and ARI 5 auto sears. These MCDs are small parts that convert common semiautomatic firearms into fully automatic machine guns capable of firing up to 20 rounds per second (1,200 rounds per minute). Simply put, any person with minimal 3D printing skills can pull MCD part files off the internet, send them to their 3D printer, and have the federally-prohibited part in a matter of minutes.

[0006] The emergence of 3D-printed MCDs presents a multifaceted challenge, notably in legal, ethical, and public safety realms. Machine guns are illegal under federal law, primarily the National Firearms Act (NF A) of 1934 and Gun Control Act (GCA) of 1968, especially those manufactured after May 19, 1986, with strict regulations (18 U.S.C. § 922(o)) prohibiting civilian transfer or possession, though pre- 1986 legal holdings and government use are exceptions. State laws add further restrictions and penalties. MCDs are legally defined as machine guns under U.S. federal law (the National Firearms Act) because they are parts designed to convert a semi-automatic firearm into a fully automatic one, allowing for continuous firing with a single trigger pull. Possessing, manufacturing, or selling an MCD is a federal crime, carrying severe penalties, as these devices enable high rates of fire, increasing public safety risks, especially when used in crimes. This issue is underscored by alarming statistics, such as those in a recent report revealing a spike in the use of fully automatic firearms in street crimes that was largely facilitated by 3D printing technology. Law enforcement has discovered a concerning trend of 3D-printed Glock switches being used in various crimes, highlighting the accessibility and misuse of such technology. In Chicago, police officials have discovered 1,100 guns with 3D printed Glock switches. In Houston, the number of Glock switch modifications confiscated went from 33 in 2020 to 145 in 2021. Prosecutors have taken action, filing charges related to Glock switches, with the US Attorney’s office in Massachusetts alone charging 11 individuals with possession of a machine gun, each case involving a switch. In fact, a Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) report shows a 784% increase over 4 years: 5,816 MCDs were recovered by police in 2023 versus 658 recovered in 2019. This surge in charges underscores the urgency of addressing the proliferation of 3D printed MCDs to advance public safety and enforce firearm regulations. Improved systems and techniques are needed.BRIEF SUMMARY OF THE DISCLOSURE

[0007] A method for defining critical geometries of a target object is provided in a first embodiment. A triangulated mesh representation of the target object is decomposed into surface primitives bounded by edges and vertices using a processor. Critical geometric surfaces of a desired object that are used to identify the desired object are specified using the processor. A set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships independent of measurement units and coordinate frames are calculated using the processor. Functional surfaces of the target object are compared to the critical geometricsurfaces of the desired object using the processor. One or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object are determined using the processor. A classification threshold is applied to the differences to detect the target objects and the desired objects that share specified functional surface characteristics using the processor.

[0008] The method may further include imaging the desired object with an imaging system.

[0009] The method may further include receiving an image of the desired object at the processor.

[0010] The critical geometric surfaces include a surface perimeter, a surface area, a surface center of mass, a surface curvature measured as the inverse area-weighted sum of angles between surface normal, an area weighted standard deviation of distance from surface center-of-mass to faces, a number of triangular faces that comprise a surface, and / or a number of line segments that comprise an edge.

[0011] The method may further include combining pairs of geometric properties to yield non-dimensional characteristics using the processor. The non-dimensional characteristics may include a ratio of surface perimeter to square root of surface area, a ratio of surface distance standard deviations to the surface distance center-of-mass, a ratio of surface perimeters to surface distance center-of-mass, and / or a ratio of surface distance standard deviation to square roof of surface area. For each non-dimensional characteristic, a tolerance may be specified as a threshold for identification of a target feature.

[0012] The method may include processing a library of candidate objects. The method may further include calculating differences between the target object’s specified functional surface characteristics and those of all geometric feature sets of the library of candidate objects.

[0013] The method may include blocking an additive manufacturing tool from building a component when the target objects and the desired objects share the specified functional surface characteristics above the classification threshold.

[0014] A non-transitory computer readable medium can store a program configured to instruct the processor to execute the method of the first embodiment.

[0015] A system is provided in a second embodiment. The system includes an additive manufacturing tool and a processor in electronic communication with the additive manufacturingtool. The processor is configured to: decompose a triangulated mesh representation of the target object into surface primitives bounded by edges and vertices; specify critical geometric surfaces of a desired object to be used to identify the desired object; calculate a set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships independent of measurement units and coordinate frames; compare functional surfaces of the target object to the critical geometric surfaces of the desired object; determine one or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object; and apply a classification threshold to the differences to detect the target objects and the desired objects that share specified functional surface characteristics.

[0016] The additive manufacturing tool may be a 3D printing device, a casting device, a computer numerical control (CNC) machining device, or a scanner.

[0017] The system may include an imaging system configured to image the desired object and to transmit a resulting image to the processor.

[0018] The critical geometric surfaces may include a surface perimeter, a surface area, a surface center of mass, a surface curvature measured as the inverse area-weighted sum of angles between surface normal, an area weighted standard deviation of distance from surface center-of-mass to faces, a number of triangular faces that comprise a surface, and / or a number of line segments that comprise an edge.

[0019] The processor may be further configured to combine pairs of geometric properties to yield non-dimensional characteristics. The non-dimensional characteristics may include a ratio of surface perimeter to square root of surface area, a ratio of surface distance standard deviations to the surface distance center-of-mass, a ratio of surface perimeters to surface distance center-of-mass, and / or a ratio of surface distance standard deviation to square roof of surface area. For each non-dimensional characteristic, a tolerance may be specified as a threshold for identification of a target feature.

[0020] The processor may be further configured to block an additive manufacturing tool from building a component when the target objects and the desired objects share the specified functional surface characteristics above the classification threshold.

[0021] The processor may be in electronic communication with a library of candidate objects. The processor may be further configured to calculate differences between the targetobject’s specified functional surface characteristics and those of all geometric feature sets of the library of candidate objects.DESCRIPTION OF THE DRAWINGS

[0022] For a fuller understanding of the nature and objects of the disclosure, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:FIG. 1 shows a single triangular face that is used to represent complex geometries in a stereolithography (STL) file with many small triangles;FIG. 2 shows an exemplary data flow in accordance with the present disclosure;FIG. 3 shows an exemplary STL file composition with a list of vertices and faces;FIG. 4 shows an exemplary system in accordance with the present disclosure;FIG. 5 shows an exemplary method in accordance with the present disclosure;FIG. 6 is a flowchart of an exemplary implementation that blocks 3D printing;FIG. 7 is a 3D printable triangulated mesh representation of a magazine extension for a handgun that is not an MCD, but is used as a “stand-in” to illustrate the method in place of an actual MCD part;FIG. 8 is a view of the surfaces of the MCD stand-in part in FIG. 7;FIG. 9 is a view of the MCD stand-in part of FIG. 8 transformed into 16 separate surfaces;FIG. 10 is a view of an exemplary critical surface of the MCD stand-in part of FIG. 9;FIG. 11 is a view of the exemplary critical surface of FIG. 10 indicating features that can be used for determination of a geometric and statistical “fingerprint;”FIG. 12 illustrates 35 variations of the MCD stand-in part of FIG. 7 used for validation;FIG. 13 illustrates exemplary critical surfaces that were correctly identified using an embodiment disclosed herein;FIG. 14 illustrates an exemplary critical surface that was not correctly identified using an embodiment disclosed herein; andFIG. 15 illustrates exemplary parts that were used during the testing of Example 3.DETAILED DESCRIPTION OF THE DISCLOSURE

[0023] Although claimed subject matter will be described in terms of certain embodiments, other embodiments, including embodiments that do not provide all of the benefitsand features set forth herein, are also within the scope of this disclosure. Various structural, logical, process step, and electronic changes may be made without departing from the scope of the disclosure. Accordingly, the scope of the disclosure is defined only by reference to the appended claims.

[0024] The steps of the method described in the various embodiments and examples disclosed herein are sufficient to carry out the methods of the present invention. Thus, in an embodiment, the method consists essentially of a combination of the steps of the methods disclosed herein. In another embodiment, the method consists of such steps.

[0025] The present disclosure provides a method of identifying objects based on the characteristics of selected surfaces. Only a subset of geometric features is used to identify the object instead of the overall geometry. Identifying an object from a subset of geometric features is particularly useful when the selected geometric features serve as the interface between two objects because the method can be used to identify the objects that mate at the selected interface.

[0026] Embodiments of the present disclosure may be useful for identifying objects from incomplete data like accident reconstruction. For example, identification from incomplete data may be used when only a subset of features is deemed important, such as protecting image / likeness of a person’s face on an otherwise generic doll, or when only a subset of features enable critical functions, such as the internal features of a gun receiver.

[0027] Embodiments of the present disclosure are accurate. In an embodiment, a positive detection readout indicates that the object is likely to be the specific item sought when the search is performed using critical geometric features for a specific function. Objects will match based on critical features regardless of the other geometric properties of the object, which is especially useful when bad actors are attempting to conceal the function of an illegal object by adding cosmetic variations to the non-critical regions of an object.

[0028] In an embodiment, the method can be trained on a single example of the critical features, like one or more critical surfaces, and then used to identify all objects in a library that contain those critical features. Furthermore, the method allows for specification of normalized geometric tolerances on the characteristics of the specified critical features so that the method can be made robust to small geometric variations that still permit objects to perform desired functions. For example, certain triggering mechanisms for guns that vary in shape within aspecified geometric tolerance zone will still correctly function as triggering mechanisms and would be included as matches.

[0029] Embodiments of the present disclosure may be within the broad field of geometry -based searches. Geometry-based searches can be used with mechanical parts in industrial settings to identify and classify parts, to compare models, and find alternatives.Whereas a geometric search considers all the shape characteristics of mechanical parts, embodiments of the present disclosure detect if a part has a specific subset of geometric features that, for example, allow it to functionally interface with another part. In other words, the invention enables the user to determine what parts have these critical geometric features rather than determining which parts are geometrically similar to this part.

[0030] For example, there is a need to prevent 3D printing of MCDs that can be inserted into the back of popular handguns. The MCD has specific geometric surfaces that allow it to attach to the gun and protruding geometries that modify the gun’s trigger mechanism action to convert a normally semi-automatic handgun that fires one bullet per trigger pull into an automatic gun that fires bullets in rapid succession for as long as the trigger is pulled. These MCD parts are illegal to buy, own, or make, but the geometry files for them are widely available on the internet and functional MCD parts are printed on low cost and easy-to-buy 3D printers. Embodiments of the present disclosure could be used to identify and block the 3D printing of these illegal parts based on detection of the presence of specific geometric features regardless of the stylistic shape of the other regions and with high confidence so that legal parts are not blocked.

[0031] In an embodiment, the present disclosure may include first defining the target object’s critical features and then comparing them to the features of objects in a library. Critical features may include surfaces. Surfaces have edges and vertices. Parameters can be extracted from edges and vertices within the surfaces (e.g., perimeter), but these properties are defined on the extracted surface. The data type for the algorithm is typically a triangulated mesh representation but could also be applied to other geometric representations such as parametric computer-aided design (CAD) formats.

[0032] In an embodiment, a method for defining a target’s critical geometries may include decomposing a triangulated mesh representation (or other CAD format) of the target object into surface primitives (e.g., bounded planes, cylinders, or discs) that are bounded byedges and vertices. For example, FIG. 1 shows a single triangular face that is used to represent complex geometries in an STL with many small triangles. The critical geometric surfaces that are to be used to identify the desired objects may then be specified, for example, by a user. While surfaces are disclosed, other parameters like edges or vertices also may be used. A set of dimensionless geometric properties that characterize the surfaces and their interrelationships in ways that are independent of measurement units and coordinate frames may then be calculated. A coordinate frame describes the coordinate system of a physical part or CAD representation of a part. The coordinate frame or coordinate system can specify the origin and orientation of the axes (typically x, y, z) to define the location of features (like part edges and holes). The target object’s functional surfaces may be compared with the objects in a library. For example, this comparison may be performed by processing a library of candidate objects then calculating the differences between the target’s characteristics and those of all geometric feature sets of the library objects. Next, a classification threshold may be applied to the differences in the geometric characteristics to detect the objects that share the specified functional surface characteristics.

[0033] The classification threshold may be set by tuning with a training data set until an acceptable false positive rate is achieved. For example, an illicit object might be compared to a training data set of 1,000, 10,000, or more benign objects with diverse geometric characteristics representing commonly manufactured parts. If the classification threshold is set to be large, then many of the benign objects will be falsely classified as similar to the illicit object. The threshold can then be reduced to the point where none of the benign parts are classified as similar. For a training data set of 10,000 benign parts, that threshold may correspond to the 0.01% false positive rate (less than 1 in 10,000) for the considered non-dimensional characteristic, though other values are possible.

[0034] There can be multiple classification thresholds. There may be a classification threshold for each non-dimensional characteristic. By combining the results of multiple non-dimensional characteristics with an AND logical operator, low false positive rates can be achieved while preserving a high true positive rate for detecting similar objects.

[0035] A decomposition of a triangulated mesh into sub-meshes can be fit to surface primitives (e.g., sections of planes, cylinders, cones, spheres, etc.). An analysis of the submeshes can proceed directly without fitting to the geometric primitives.

[0036] In an embodiment, the triangulated meshes are STL fdes that are exported from CAD. FIG. 3 shows an exemplary STL fde composition with a list of vertices (v) and faces. These STL files may have low noise and sharp feature edges that are usually meaningful.Methods used specifically for the initial CAD-like region segmentation of a triangulated mesh without fitting primitives are mostly “boundary finding + patch grouping” methods. An objective of the embodiments disclosed herein is to partition triangles into patches that are each likely to correspond to a single analytic CAD face (e.g., plane, cylinder, cone, sphere, torus, ruled, etc.).

[0037] In an instance, sharp feature and / or crease-edge detection may be used to decompose the triangulated mesh into surface primitives or otherwise determine connected components. A signal in this instance may be a dihedral angle between adjacent triangles. Mesh edges can be marked as feature edges if dihedral angle is greater than a threshold, which can include additional filters for short edges or inconsistent normals. This is then segmented into patches as connected components of triangles when segmenting along feature edges. Adaptive thresholds (e.g., based on local triangle size and quality (e.g., skewness) may be used. Boundary cleanup may be performed, which can remove isolated feature edges, close small gaps, and / or enforce manifold patch boundaries.

[0038] In another instance, curvature-based boundary detection may be used to decompose the triangulated mesh into surface primitives or otherwise determine connected components. This may be used for smooth transitions and / or blends. A signal in this instance is curvature magnitude and curvature discontinuities. A per-vertex or per-face mean curvature, Gaussian curvature, or a principal curvature via variation in the surface normals or quadric fitting of neighborhoods may be determined. High-curvature ridges / valleys and curvature discontinuity curves can be identified as likely boundaries. Segmentation can be performed by cutting along those curves. Segmentation may be performed after thinning / skeletonizing the boundary candidates.

[0039] In another instance, normal-space clustering and region growing may be used to decompose the triangulated mesh into surface primitives or otherwise determine connected components. This may be used for piecewise constant normal behavior. A signal in this instance may be normals on a CAD face that follow a structured distribution. Triangles can be clustered in normal space (e.g., on the unit sphere), such as using k-means clustering to grow regions onthe mesh. Post-processing can be performed to split disconnected components and clean boundaries.

[0040] In another instance, triangulated mesh may be decomposed or components may be otherwise determined by over-segmentation into super-faces using watershed and / or graph methods and then merging by similarity. An oversegmentation can be created that respects geometry. This is merged to obtain CAD-face-sized patches. A scalar field is determined, such as dihedral angle, curvature magnitude, normal variation, or edge saliency. Watershed or similar contour partitioning can be applied to get many small patches (i.e., “super-faces”). Adjacent patches can be merged based on low boundary cost, such as small normal jump, consistent curvature.

[0041] In another instance, a CAD-derived triangulated mesh can be segmented by starting with dihedral angle (feature edge) segmentation. Curvature-ridge boundaries can be added to capture smooth face transitions (fillets) where dihedral angle is small. Graph / watershed oversegmentation can be used. This can include merging if additional robustness and control over patch size is needed.

[0042] While decomposing a triangulated mesh representation is disclosed, other analysis functions are possible. For example, parametric geometry, non-uniform rational basis spline (NURBS), or point cloud data may be used. Thus, other techniques used for 3D printing file sharing besides triangulated mesh representations can be used or analyzed. Some of these other geometries also can be converted to triangulated mesh representations for processing to use the embodiments disclosed herein. A conversion program or artificial intelligence module can be used to convert the geometry to a triangulated mesh representation.

[0043] Artificial intelligence also can be used to generate the geometry of new parts that will be 3D printed. For example, the embodiments disclosed herein can be used in conjunction with artificial intelligence to generate parts that interface at the critical surfaces of other components subject to other constraints. For example, a user may request that an artificial intelligence module design something that joins part A and part B on their mounting surfaces a certain distance apart while meeting other design or manufacturing constraints. This technique can be coupled with other embodiments disclosed herein.

[0044] The calculating step may use a diversity of geometric properties to characterize the features and thereby achieve high accuracy. These geometric properties of surfaces mayinclude for example, the surface perimeter (edge property), the surface area (surface property), the surface center of mass, the surface curvature measured as the inverse area-weighted sum of angles between surface (or edge) normal, the area weighted average distance from a surface center-of-mass (or specified vertex) to faces, area weighted standard deviation of distance from surface center-of-mass (or specified vertex) to faces, the number of triangular faces that comprise a surface, and / or the number of line segments that comprise an edge.

[0045] Embodiments of the present disclosure may further include combining pairs of geometric properties to yield non-dimensional characteristics such as, the ratio of surface perimeter to square root of surface area, the ratio of surface distance standard deviations to the surface distance center-of-mass, the ratio of surface perimeters to surface distance center-of-mass, and / or the ratio of surface distance standard deviation to square root of surface area.

[0046] Other properties are non-dimensional and may be used directly such as, the average surface curvature in radians and / or the number of triangular faces that comprise the surface. For each non-dimensional geometric characteristic, a tolerance is specified by the user as a threshold for identification of the target features. The classification is then performed by identifying only those objects that contain a subset of features that match the target features within specified tolerances.

[0047] The present disclosure provides the non-dimensional characterization of critical geometric features for identification of functional parts. This is important because most triangulated mesh geometries for 3D printing are in STL format without units (e.g., mm, inch, or other units) and the coordinate systems may be irrelevant to the part geometry.

[0048] The achievement of highly accurate classification results is unusual. This is motivated by the need to prevent criminal use while permitting legal use. The present disclosure differs from existing geometric search because it is designed to detect specific geometric features that may appear on any object, whereas other search algorithms are designed to find whole objects. The present disclosure solves the problem of criminals concealing gun modification parts on the side of objects that have nothing to do with the gun, such as an object labeled as a coffee mug handle that is intended to be deconstructed into a machinegun conversion device. The present disclosure also confers an advantage in non-criminal use, for example, where a user has one part and needs to find the things that it interfaces with without any prior knowledge of what the mating parts look like.

[0049] Embodiments of the present disclosure can be used in the additive manufacturing industry. Currently manufacturers search through their databases of existing design files by using “hashes” or “tags.” In other words, they search by part name or use. This is time consuming and sometimes misses critical geometric shapes that the user is searching for. This means that the user then has to design the file again, even if it already exists in their database, which costs time and money. Embodiments disclosed herein would provide a new way for manufacturers to more efficiently and accurately search, which may increase efficiency of database use. For example, in the aerospace industry, there are hundreds of parts that need to fit and connect with high accuracy, and embodiments of the present disclosure may aid in this.

[0050] Prototyping and services of the additive manufacturing industry is expected to see the most growth in the future and is another area where embodiments disclosed herein can be applied. Additive manufacturing is common in the healthcare industry, particularly orthopedic and reconstructive surgery. Embodiments of the present disclosure could aid in identifying existing parts that have interface surfaces that match patient-specific requirements.

[0051] Additionally, there is also potential for embodiments of the present disclosure to aid in additive manufacturing itself where there is a commercial need for automated detection of the critical functional surfaces that require specific orientations with respect to the build bed. The embodiments disclosed herein can address this problem.

[0052] Embodiments of the present disclosure can be used in the entertainment, toy, game, and merchandise sectors. A 2017 study of the U.S. 3D printed toy and game industry market found that just one 3D printing repository website, among many, had saved consumers over $60 million a year in purchases. These prints are currently a violation of the Digital Millennium Copyright Act (DMCA) and corporations spend time and money mitigating home printers and battling to protect the quality of their brand. Additionally, current small business or individual 3D printers and additive manufacturers have no pathway to receive compensation for their designs. Embodiments disclosed herein can provide copyright protection that can be used by both large corporations and individual / small businesses who can now detect and request payment when their designs are recognized by the embodiments of the present disclosure, thus protecting and benefiting monetarily from their copyright.

[0053] Embodiments of the present disclosure may aid law enforcement in reducing investigation times and combating the proliferation of MCDs or other illegal or imitationcomponents. Embodiments of the present disclosure may also have commercial potential in law enforcement and additive manufacturing industry (products, services and prototyping).Embodiments may be distributed in the form of a web-based application that may decrease local police department investigation time because they can quickly scan evidence and verify if there were any illegal MCDs at the scene. This may decrease training for officers and, thus, save costs on pre-investigation work as well. Like local police departments, federal agents at points of US entry can scan and secure borders by scanning for illegal parts entering the country.Embodiments also can be used by law enforcement to identify components at accident scenes, which has the potential to aid in forensic reconstruction investigations.

[0054] It will be understood that, while exemplary features of a method have been described, such an arrangement is not to be construed as limiting the invention to such features. The method may be implemented in software, firmware, hardware, or a combination thereof. In one mode, the method is implemented in software, as an executable program, and is executed by one or more special or general purpose digital computer(s), such as a personal computer (PC; IBM-compatible, Apple-compatible, or otherwise), personal digital assistant, workstation, minicomputer, or mainframe computer. The steps of the method may be implemented by a server or computer in which the software modules reside or partially reside.

[0055] Generally, in terms of hardware architecture, such a computer will include, as will be well understood by the person skilled in the art, a processor, memory, and one or more input and / or output (I / O) devices (or peripherals) that are communicatively coupled via a local interface. The local interface can be, for example, but not limited to, one or more buses or other wired or wireless connections, as is known in the art. The local interface may have additional elements, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and / or data connections to enable appropriate communications among the other computer components.

[0056] The processor(s), i.e. of the control system, may be programmed to perform the functions of embodiments of the method disclosed herein. The processor(s) is a hardware device for executing software, particularly software stored in memory. Processor(s) can be any custom made or commercially available processor, a primary processing unit (CPU), a graphics processing unit (GPU), an auxiliary processor among several processors associated with acomputer, a semiconductor-based microprocessor (in the form of a microchip or chip set), a macro-processor, or generally any device for executing software instructions.

[0057] Memory is associated with processor(s) and can include any one or a 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.). Moreover, memory may incorporate electronic, magnetic, optical, and / or other types of storage media. Memory can have a distributed architecture where various components are situated remote from one another, but are still accessed by processor(s).

[0058] The software in memory may include one or more separate programs. The separate programs comprise ordered listings of executable instructions for implementing logical functions in order to implement the functions of the modules. In the example of heretofore described, the software in memory includes the one or more components of the method and is executable on a suitable operating system (O / S).

[0059] The present disclosure may include components provided as a source program executable program (object code), script, or any other entity comprising a set of instructions to be performed. When a source program, the program needs to be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory, so as to operate properly in connection with the O / S. Furthermore, a methodology implemented according to the teaching may be expressed as (a) an object-oriented programming language, which has classes of data and methods, or (b) a procedural programming language, which has routines, subroutines, and / or functions, for example but not limited to, C, C++, Pascal, Basic, Fortran, Cobol, Ped, Java, and Ada.

[0060] FIG. 4 illustrates an exemplary system 100. The system includes an additive manufacturing tool 101. The additive manufacturing tool 101 may be a 3D printing device, a casting device, a CNC machining device, or a scanner. The additive manufacturing tool 101 is in electronic communication with a processor 102, possible specifications of which are further described herein. The processor is configured to decompose a triangulated mesh representation of the target object into surface primitives bounded by edges and vertices; specify critical geometric surfaces of a desired object to be used to identify the desired object; calculate a set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships independent of measurement units and coordinate frames; compare functionalsurfaces of the target object to the critical geometric surfaces of the desired object; determine one or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object; and apply a classification threshold to the differences to detect the target objects and the desired objects that share specified functional surface characteristics.

[0061] The processor 102 also is in electronic communication with an imaging system 103. The imaging system 103 is configured to image a desired object and to transmit a resulting image to the processor 102. The imaging system 103 and / or the processor 102 may be part of the additive manufacturing tool 101 or may be separate or standalone from the additive manufacturing tool 101. The imaging system 103 may be a camera, CMOS image sensor, X-ray systems, ultrasonic wave systems, or other devices.

[0062] FIG. 5 illustrates an embodiment of a method 200. Some or all of the steps of the method 200 can be performed on or can otherwise use a processor, such as the processor 102 of FIG. 4. At 201, a triangulated mesh representation of the target object is decomposed into surface primitives bounded by edges and vertices. At 202, critical geometric surfaces of a desired object to be used to identify the desired object are specified. A set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships to be independent of measurement units and coordinate frames are calculated at 203. Functional surfaces of the target object are compared to the critical geometric surfaces of the desired object at 204. One or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object are determined at 205. A classification threshold is applied to the differences to detect the target objects and the desired objects that share specified functional surface characteristics at 206.

[0063] The following examples are presented to illustrate the present disclosure. They are not intended to be limiting in any matter.

[0064] EXAMPLE 1

[0065] To combat the problem of 3D-printed MCDs, embodiments disclosed herein provide methods by which gun parts can be consistently identified by statistical analysis of the triangular components of tessellated three-dimensional objects. Geometric identification of tessellated 3D models, specifically with regard to the STL files of 3D-printed illicit firearm components, such as MCDs, can be used. The increasing prevalence of 3D-printed MCDs poses challenges to public safety and regulatory enforcement. Traditional identification methods, suchas artificial intelligence (Al), require extensive databases and continuous updates to remain effective against evolving designs. The embodiments disclosed herein leverage geometric statistics for the identification of specific parts within tessellated 3D models used for 3D printing.

[0066] A system is disclosed that can systematically characterize tessellated 3D models using geometric data extraction techniques. Unlike Al models, this system requires only one example of a target part to identify all variations, thereby eliminating the need for extensive libraries of modified parts and continuous quality checks.

[0067] 3D printing, otherwise known as additive manufacturing, is the process of constructing a three-dimensional object from a computer model. 3D printing is particularly useful in these firearm applications because unlike traditional manufacturing processes like machining that employ subtractive methods, 3D printing builds objects additively from digital design files. A robotic arm deposits filament layer by layer to create 3D objects. This allows for intricate geometries and complex internal structures, like those in the triggering mechanisms of firearms, to be created with precision and accuracy. Additionally, these designs can be optimized for performance. It only takes one skilled user to develop a part file that has undergone reliability testing, and after that file is available on the internet, anyone can download and print the design.

[0068] The 3D printer receives an STL file. An STL file is a file format that describes the surface geometry of a 3D object without any representation of color, texture, or other common CAD model attributes. “STLs” refers to STL files. However, note that the embodiments disclosed herein can be applied to any tessellated 3D model or other 3D models. The STL format specifies the geometry of a 3D object as a collection of triangles, which together form the surface mesh of the object. An STL file is needed to be able to print a 3D object. Each of these triangles are made up of three vertices (v) as well as a normal vector (N) that represents the direction of the outward face. FIGS. 1 and 3 depict a singular triangle and multiple triangles, respectively.

[0069] This classifier can analyze every part in a repeatable systematic way.Additionally, the classifier may only need one target part to be able to identify any parts that are geometrically similar to the target part. That is, it can identify if a part is similar to the target part independent of any modifications made on the part being analyzed. This includes saving the part at different resolutions, tessellations, or with different units. It may be impossible for a user to bypass the classification system.

[0070] Similar classification models use artificial intelligence (Al) to train an algorithm to sort images based on matching features. However, using Al tends to require a database of examples of modified parts. To keep up with users attempting to bypass the system, this library of modified parts may need to be continuously updated and maintained. In a study using Al to classify something as simple as fruits, it required a total of 350 samples to work. The model needed to take in all these samples and learn how to classify them. This shows why an Al model cannot be used in this context because it would have to be continuously quality checked to ensure it was not being bypassed.

[0071] Additionally, a study discouraging the use of Al for classification models concludes that applying the learning algorithm to each decision boundary individually yields better results than applying the same algorithm to multiple decision boundaries simultaneously. Embodiments disclosed herein only require one example target part, and do not require the development of a library of different versions of target parts. Limited statistical analysis of features is performed. A process using the embodiments disclosed herein can be sampled and approved with one source of truth as the target file. The high-level framework for this system includes at least four components: 1) taking in an STL; 2) decomposition; 3) recognizing key geometrical features; and 4) classifying by using a combination of feature data analysis.Decomposition of the STL will generate sub-meshes that represent geometric primitives. Non-dimensional parameterization of the sub-meshes can be performed. Additionally, statistical data of the sub-meshes can be analyzed, a classifier can be applied to determine the yes / no. For example, FIG. 2 shows an exemplary data flow.

[0072] STLs are used in a 3D printer after the STLs are processed by slicer software into resulting G-code. An STL is a collection of interconnected triangles that make up a 3D model using a tessellation algorithm. Every triangle is defined by three vertices, as well as a vector that is normal to the surface of the triangle (see FIG. 1). All of these triangles together make up a solid 3D object. In the design process, attributes such as units, texture, material properties, and color might be part of a model. However, in an STL these attributes are ignored. An STL only contains information about the geometry of an object, which allows for their universal compatibility with 3D printers.

[0073] Slicer software is a tool that prepares a 3D model for additive manufacturing (e.g., 3D printing). It takes a triangulated mesh representation of a 3D geometry file (e.g., in STL,OBJ, or 3MF format) and slices the model into many thin horizontal layers. The software may generate toolpaths for each layer (perimeters / walls, infill, supports, etc.). The software can output machine instructions, such as G-code, which tell the printer where to move, how fast, and how much material to extrude or what laser / power settings to use in other AM processes. Slicer software also can allow the user to specify print parameters such as layer height, nozzle diameter, speeds, temperatures, infill density / pattem, support strategy, and build orientation. G-code is a plain-text programming language used to control CNC machines and 3D printers. A G-code file contains line-by-line commands that tell the machine how to move and what to do. G-code typically specifies toolhead position (X / Y / Z), feed rate (F), spindle speed (S), extrusion amount (E, for printers), and miscellaneous actions.

[0074] When an STL is read, the data within it can be broken down into the location of all of the vertices of the triangles and how the vertices are connected to create a face. The points are organized by their X, Y, and Z components. Additionally, the order that the vertices are listed for connectivity indicates the outward facing normal vector given the right-hand rule.

[0075] EXAMPLE 2

[0076] In a specific embodiment, a 3D-printed MCD can be identified with a smartphone, such as during a law enforcement investigation, or by 3D printing machines. This can thwart 3D printing of MCDs. For example, 3D printing software or manufacturing equipment can identify MCD files with accuracy and confidence. This information can be used to block or stop 3D printing of the component. Conversion of the file into 3D printer machine language also can blocked or stopped. In another example, an MCD file library can be used as ground truth for MC identification. In another example, law enforcement can scan confiscated part files or photos of possible MCDs. In yet another example, the 3D printer machine may send an alert if instructions to print a particular component are entered.

[0077] EXAMPLE 3

[0078] The 3D printing process is complex. An idea is converted to a CAD drawing, the files are converted to a triangulated file format, sliced, turned to G-code, and printed as a part. A 3 MF file format is emerging and may one day replace STL. Geometric searches serve the need to search catalogs for relevant parts, but do not currently block illegal parts. As shown in FIG. 6, MCD 3D printing can be blocked using software, such as the Slicer software or other software. If a file for an MCD or other illegal or blocked component is detected, then the related code is notproduced and the MCD or other component cannot be printed on secure or non-secure printers. While disclosed with MCD, this also can be applied to copyrighted parts. A user would, for example, need to make an authorized payment before copyrighted parts can be printed.

[0079] STL classification is feasible. A potential MCD stand-in part is shown in FIG. 7. As shown in FIG. 8, surfaces are a collection of triangulated faces that serve a geometric function. The algorithm disclosed in the embodiments herein can segment the surfaces of an STL based on changes in curvature. The magazine extension component part transforms into 16 separate surfaces, as shown in FIG. 9, including a surface that contacts the gun. Critical surfaces can be selected by an expert or using other techniques. These other techniques may include an Al-based analysis of common geometric features from many examples in a training data set or computational geometric analysis of the space where the part in question resides (i.e., negative space) and how it comes into contact with other parts in the machine. For example, FIG. 10 shows a surface that was identified based on how the part interfaces with the gun geometry to permit installation. The critical surface can enable proper function of the part. FIG. 11 determines a geometric and statistical “fingerprint” of the critical surface using parameters such as surface area, perimeter, centroid, curvature, aspect ratio, and / or area moment of inertia. In an example, this was tested on 35 variations of the magazine extension component, as shown in FIG. 12. Using the embodiments disclosed herein, the algorithm correctly identified the critical surface on 34 parts regardless of resolution, units, orientation, or tessellation pattern, which is shown in FIG. 13. The algorithm failed to identify the critical surface in FIG. 14 because a new hole was cut through the surface. There was a false positive rate of zero percent for 500 other parts deconstructed into 38,365 surfaces, some of which are shown in FIG. 15.

[0080] Overall, the embodiments used in this example had a greater than 99% positive rate. The false positive rate was less than 0.01%. It was robust to different resolutions, units, and part modifications. Processing time was less than 100 msec. The algorithm learns from or works from one part, which simplifies implementation. A large training library is not required.

[0081] Operation can be improved by testing multiple critical surfaces on the same part. The algorithm can be made more robust to broken surfaces. Test criteria can be randomized to make circumvention harder. A larger control library and more target parts can be tested. Code can be migrated from MATLAB to a deployable platform. The algorithm can be implemented into Slicer or other 3D printing software to block G-code for illegal parts. Integration with the3 MF file format can be performed to provide more data security. For example, a 3D printer may only accept 3MF secured G-code.

[0082] Although the present disclosure has been described with respect to one or more particular embodiments, it will be understood that other embodiments of the present disclosure may be made without departing from the scope of the present disclosure. Hence, the present disclosure is deemed limited only by the appended claims and the reasonable interpretation thereof.

Claims

CLAIMS:

1. A method for defining critical geometries of a target object comprising:decomposing a triangulated mesh representation of the target object into surface primitives bounded by edges and vertices using a processor;specifying critical geometric surfaces of a desired object that identifies the desired object using the processor;calculating a set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships independent of measurement units and coordinate frames using the processor;comparing functional surfaces of the target object to the critical geometric surfaces of the desired object using the processor;determining one or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object using the processor; andapplying a classification threshold to the differences to detect the target objects and the desired objects that share specified functional surface characteristics using the processor.

2. The method of claim 1, further comprising imaging the desired object with an imaging system.

3. The method of claim 1, further comprising receiving an image of the desired object at the processor.

4. The method of claim 1, wherein the critical geometric surfaces comprise a surface perimeter, a surface area, a surface center of mass, a surface curvature measured as the inverse area-weighted sum of angles between surface normal, an area weighted standard deviation of distance from surface center-of-mass to faces, a number of triangular faces that comprise a surface, and / or a number of line segments that comprise an edge.

5. The method of claim 1, further comprising combining pairs of geometric properties to yield non-dimensional characteristics using the processor.

6. The method of claim 5, wherein the non-dimensional characteristics comprise a ratio of surface perimeter to square root of surface area, a ratio of surface distance standard deviations to the surface distance center-of-mass, a ratio of surface perimeters to surface distance center-of-mass, and / or a ratio of surface distance standard deviation to square roof of surface area.

7. The method of claim 5, wherein for each non-dimensional characteristic, a tolerance is specified as a threshold for identification of a target feature.

8. The method of claim 1, further comprising processing a library of candidate objects.

9. The method of claim 8, further comprising calculating differences betweenspecified functional surface characteristics of the target object and those of all geometric feature sets of the library of candidate objects.

10. The method of claim 1, further comprising blocking an additive manufacturing tool from building a component when the target object and the desired object share the specified functional surface characteristics above the classification threshold.

11. A non-transitory computer readable medium storing a program configured to instruct the processor to execute the method of claim 1.

12. A system comprising:an additive manufacturing tool; anda processor in electronic communication with the additive manufacturing tool, wherein the processor is configured to:decompose a triangulated mesh representation of the target object into surface primitives bounded by edges and vertices;specify critical geometric surfaces of a desired object for identifying the desired object;calculate a set of dimensionless geometric properties that characterize the critical geometric surfaces and their interrelationships independent of measurement units and coordinate frames;compare functional surfaces of the target object to the critical geometric surfaces of the desired object;determine one or more differences between the functional surfaces of the target object and the critical geometric surfaces of the desired object; andapply a classification threshold to the differences to detect the target objects and the desired objects that share specified functional surface characteristics.

13. The system of claim 12, wherein the additive manufacturing tool is a 3D printing device, a casting device, a CNC machining device, or a scanner.

14. The system of claim 12, further comprising an imaging system configured to image the desired object and to transmit a resulting image to the processor.

15. The system of claim 12, wherein the critical geometric surfaces comprise a surface perimeter, a surface area, a surface center of mass, a surface curvature measured as the inverse area-weighted sum of angles between surface normal, an area weighted standard deviation of distance from surface center-of-mass to faces, a number of triangular faces that comprise a surface, and / or a number of line segments that comprise an edge.

16. The system of claim 12, wherein the processor is further configured to combine pairs of geometric properties to yield non-dimensional characteristics.

17. The system of claim 16, wherein the non-dimensional characteristics comprise a ratio of surface perimeter to square root of surface area, a ratio of surface distance standard deviations to the surface distance center-of-mass, a ratio of surface perimeters to surface distance center-of-mass, and / or a ratio of surface distance standard deviation to square roof of surface area.

18. The system of claim 16, wherein for each non-dimensional characteristic, a tolerance is specified as a threshold for identification of a target feature.

19. The system of claim 12, wherein the processor is further configured to block the additive manufacturing tool from building a component when the target object and the desired object share the specified functional surface characteristics above the classification threshold.

20. The system of claim 12, wherein the processor is in electronic communication with a library of candidate objects, and wherein the processor is further configured to calculate differences between the target object’s specified functional surface characteristics and those of all geometric feature sets of the library of candidate objects.