Screw hole position editing system and editing method thereof

By designing a screw hole editing system, the problems of accuracy and efficiency in screw hole identification in complex drawings and large-scale production were solved. It achieved high-precision and high-efficiency automated screw hole identification and data interaction, thereby improving production efficiency and automation level.

CN121051818BActive Publication Date: 2026-02-13SHANDONG DASHI AUTOMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511574503.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-10-31
Publication Date
2026-02-13
Estimated Expiration
2045-10-31

AI Technical Summary

Technical Problem

Existing technologies struggle to simultaneously handle complex drawings, large-scale production, and multiple types of hole matching in screw hole position identification and matching, resulting in low identification accuracy, low efficiency, and insufficient automation.

Method used

A screw hole position editing system was designed, including a DXF parsing engine module, a template management module, a virtual canvas module, an editing logic module, a communication driver module, and a data hub module. Through tolerance matching algorithm and asynchronous parallel processing, it achieves high-precision and automated screw hole position recognition and data interaction.

Benefits of technology

It improves the accuracy and efficiency of screw hole position recognition, reduces manual intervention, enhances the level of automation, and meets the real-time and economic benefits of assembly line production.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121051818B_ABST
    Figure CN121051818B_ABST
Patent Text Reader

Abstract

The present application provides a screw hole position editing system and an editing method thereof, and belongs to the technical field of intelligent manufacturing information recognition and editing, wherein the system mainly comprises a DXF analysis engine module, a template management module, a virtual canvas module, an editing logic module, a communication driving module and a data hub module; the DXF analysis engine module is used for reading and analyzing a DXF file, and converting geometric entities therein into a standardized data structure inside the system; the template management module is used for managing a screw template library, and intelligently matching a user-defined screw template with candidate entities analyzed from the DXF; the virtual canvas module is used for providing a visual interface, rendering a drawing and a hole position, and responding to interactive operations of a user; the screw hole position editing system can solve the problem that current conventional screw hole position information relies on manual marking, script extraction or CAD plug-in for coordinate extraction, and is difficult to simultaneously cope with complex drawings, large-scale production and multi-type hole position matching.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of intelligent manufacturing information recognition and editing technology, specifically relating to a screw hole position editing system and its editing method. Background Technology

[0002] With the rapid development of intelligent manufacturing, industrial automation and assembly line technology, the precision requirements of mechanical parts in the structural design and processing are constantly increasing. In particular, the requirements for precision, efficiency and automation are especially prominent in the design, identification and processing of holes. The holes specifically involve various types such as screw holes, positioning holes and guide holes.

[0003] DXF (Drawing Exchange Format), a two-dimensional CAD drawing exchange file standard developed by Autodesk, is widely used in many fields such as machining, mold design, PCB routing, and architectural structural drawings due to its good cross-platform and cross-software compatibility.

[0004] In mechanical manufacturing and automated assembly processes, screw hole position information usually needs to be extracted from CAD drawings and converted into data information that can be directly read by automated equipment.

[0005] Currently, the key technologies involved in this field include:

[0006] Efficient DXF file parsing: including the identification and data extraction of basic geometric elements such as circles, lines, arcs, polylines, splines, etc.

[0007] Geometric feature recognition and matching: Extract specific geometric features from drawings, such as the center and diameter of holes, and match them with templates.

[0008] Data interface with automated equipment: Automatically convert geometric data into control parameters that can be recognized by PLCs, robots or CNCs to achieve data closed loop.

[0009] Visual editing and interaction: The recognition results are displayed with an interactive interface, supporting manual correction and secondary editing, improving the ease of operation.

[0010] This technology has applications in multiple fields, especially in industries such as automobile manufacturing, 3C electronics, and aerospace. The accurate identification of screw hole positions and automated assembly directly determine the yield rate and production efficiency, thus placing higher demands on this type of technology.

[0011] Traditional methods rely heavily on manual annotation, script extraction, or CAD plugins for coordinate extraction, but these methods have significant limitations in handling complex drawings, large-scale production, and matching various types of hole positions.

[0012] Manual identification and manual data entry: Operators open DXF drawings using CAD software, visually identify hole positions, measure center coordinates and diameters, and manually enter the data into the PLC, Excel, or database. This process is prone to errors such as mismatches and omissions.

[0013] Automatic extraction via scripts / plugins: Some CAD plugins or scripts can extract geometric data from circles or specific layers in batches and export them as text or CSV files, but they usually can only extract data from a certain type of standard annotation and have limited ability to match data.

[0014] Third-party DXF parsing libraries: Parsing libraries on the market can read the DXF file structure and extract geometric elements, but they lack targeted algorithm optimization, and users need to develop their own subsequent data processing logic. Summary of the Invention

[0015] In view of this, the present invention proposes a screw hole position editing system and its editing method, which can solve the problem that the current conventional screw hole position information relies on manual annotation, script extraction or CAD plugin for coordinate extraction, and is difficult to deal with complex drawings, large-scale production and multi-type hole position matching at the same time.

[0016] This invention is implemented as follows:

[0017] This invention provides a screw hole position editing system, which specifically includes a DXF parsing engine module, a template management module, a virtual canvas module, an editing logic module, a communication driver module, and a data hub module;

[0018] The DXF parsing engine module is used to read and parse DXF files, converting the geometric entities in them into standardized data structures within the system.

[0019] The template management module is used to manage the screw template library and intelligently match the user-defined screw templates with the candidate entities parsed by DXF.

[0020] The virtual canvas module is used to provide a visual interface, render drawings and hole positions, and respond to user interaction.

[0021] The editing logic module is used to process business logic, manage hole position status, and respond to editing operations;

[0022] The communication driver module is used for data exchange with the field PLC equipment;

[0023] The data hub module serves as the central hub of the system, used for message passing between modules and status management of core data.

[0024] Furthermore, the template management module also includes a tolerance matching algorithm, which further includes a geometric matcher and a relation matcher.

[0025] The geometric matcher is used to find template entities whose drawing entities are within the matching tolerance.

[0026] The relationship matcher is used to analyze the degree of matching compositeness of the number of drawing entities and the number of template entities within the matching ratio.

[0027] Specifically, geometric matching depends on the set matching tolerance, and correspondingly, based on a successful geometric matching, relational matching depends on the set matching ratio.

[0028] The feature is that if the number of matched entities is within the matching ratio after the drawing has matched an element of an approximate template within the matching tolerance, it is considered a successful match; otherwise, it is considered a similar match.

[0029] Furthermore, the DXF parsing engine module specifically includes a file reader, an entity parser, a geometry calculator, and asynchronous tasks;

[0030] The file reader is used to process file streams and identify DXF versions;

[0031] The entity parser includes multiple parsers for circles, arcs, polylines, splines, and block references;

[0032] The geometric calculator is used to provide mathematical tools for calculating circumcircles, incircles, or spline fits;

[0033] The asynchronous task scheduler is used to divide large drawings using parallel computing technology and have multiple parsing threads work simultaneously, and finally merge the results.

[0034] Furthermore, the virtual canvas module specifically includes a rendering engine, a view controller, and a UI data binder;

[0035] The rendering engine is used to draw DXF entities and highlight holes;

[0036] The view controller is used to manage the scaling and translation transformations of the canvas;

[0037] The UI data binder is used to maintain the two-way binding relationship between graphic elements on the canvas and background data objects, so that data changes can automatically refresh the UI and UI interaction operations can be written back to the data object in real time.

[0038] Furthermore, the editing logic module specifically includes a hole position manager and an attribute editor;

[0039] Hole Manager, used to provide multi-selection or all-selection of holes;

[0040] The attribute editor is used to respond to editing operations and update the corresponding hole position data;

[0041] Furthermore, the communication driver module specifically includes a protocol adapter, a data packetizer / unpacker, a batch read / write queue, and a verifier;

[0042] The protocol adapter is used to encapsulate multiple PLC communication protocols;

[0043] The data packer / unpacker is used to serialize the system's hole location objects into a PLC-recognizable byte stream, and to perform the reverse operation;

[0044] The batch read / write queue is used to manage data packets to be sent to support batch operations;

[0045] The verifier is used to verify the read and write data.

[0046] Furthermore, the data hub module specifically includes a central data storage, an event bus, and a resource lifecycle monitor;

[0047] The central data storage is used to maintain a single data source for the system;

[0048] The event bus adopts a publish-subscribe pattern, allowing each module to publish events or subscribe to events of interest.

[0049] The resource lifecycle monitor is used to track dependencies and automatically clean up resources when a module is uninstalled.

[0050] This invention provides an editing method corresponding to the above-mentioned screw hole position editing system, wherein the method specifically includes the following steps:

[0051] Step 1: Use the DXF parsing engine module to parse the DXF drawing and generate a structured candidate dataset of hole locations;

[0052] Step 2: Using the template management module, the tolerance matching algorithm is used to match the screw template with the candidate hole position to identify the target screw hole position.

[0053] Step 3: Visualize the target screw hole positions using the virtual canvas module and perform bidirectional binding with the background data;

[0054] Step 4: Receive and interactively edit the corresponding hole positions through the editing logic module;

[0055] Step 5: Using the communication driver module, batch write the edited and confirmed screw hole position data into the PLC device.

[0056] Furthermore, the specific operations for matching using the tolerance matching algorithm in step two include:

[0057] Calculate the similarity between a single candidate entity and template features based on matching tolerance;

[0058] Calculate the number of candidate entity sets and template feature sets based on the matching ratio;

[0059] Finally, matching screw hole positions and similar screw hole positions were selected.

[0060] Compared with the prior art, the beneficial effects of the screw hole position editing system provided by the present invention are:

[0061] 1. High recognition accuracy: Supports complex templates and multiple types of screw holes, with automatic fault-tolerant matching, greatly improving recognition accuracy.

[0062] 2. Improved efficiency: Asynchronous parallel processing and batch data interaction significantly shorten operation time, making it suitable for industrial mass production.

[0063] 3. High integration: Data is seamlessly integrated with PLC and other automated equipment, reducing manual intervention and improving the level of automation.

[0064] 4. Strong real-time performance: Supports rapid on-site identification and instant data interaction to meet the production cycle time of the assembly line.

[0065] 5. Easy to use: Visual editing and interaction provide a good user experience and reduce accidental operations.

[0066] 6. Stable and easily expandable system: Modular design supports multiple entity types and subsequent functional expansion.

[0067] 7. Significant economic benefits: Reduces manual data entry by 90%, increases recognition efficiency by 3 times, and effectively reduces production costs and rework rate. Attached Figure Description

[0068] Figure 1 Block diagram of screw hole position editing system;

[0069] Figure 2 System operation logic block diagram;

[0070] Figure 3 Flowchart of hole position editing method. Detailed Implementation

[0071] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention. Example

[0072] like Figure 1-3 As shown, this screw hole editing system includes a DXF parsing engine module, a template management module, a virtual canvas module, an editing logic module, a communication driver module, and a data hub module.

[0073] The DXF parsing engine module is mainly used to read and parse DXF files, convert the geometric entities in them into standardized data structures within the system, and accurately and efficiently extract all geometric entities that may represent screw hole positions.

[0074] The DXF parsing engine module specifically includes:

[0075] File reader: Responsible for processing file streams, identifying DXF versions, and performing basic syntax parsing.

[0076] Entity parser: contains a series of parsers for different entity types.

[0077] Geometry Calculator: Provides mathematical tools for calculating circumcircles, incircles, spline fitting, etc.

[0078] Asynchronous tasks: Manage parallel parsing tasks, allocate thread resources, and merge parsing results. When processing large drawings, parallel computing technology is used to divide the drawing into spatial regions or layers, with multiple parsing threads working simultaneously. Finally, the results are merged, significantly reducing UI lag and improving parsing speed.

[0079] The entity types involved in the entity parser specifically include:

[0080] Circle (CIRCLE): The most direct representation of the hole location. The resolver extracts the center coordinates (X,Y) and radius (R).

[0081] Arc (ARC): This may be a partial hole or a specific marking. It can usually be determined whether it is part of a complete circle by combining its angular parameters (start angle, end angle).

[0082] Polyline (LWPOLYLINE / POLYLINE): Handles closed loop polylines, approximating them as hole candidates by calculating the circumcircle or incircle of their vertex set.

[0083] Spline: For circles or holes formed by spline curves, fitting algorithms can be used to convert them into standard circles or arcs to simplify subsequent processing.

[0084] Block Reference (INSERT): Intelligently resolves block definitions. If the block contains entities representing hole positions, it calculates their actual coordinates in paper space based on the insertion point, scale, and rotation angle.

[0085] The system generates a structured "candidate dataset for hole location" through the DXF parsing engine module. Each entity contains metadata such as type, geometric parameters, layer, color, and line type, providing materials for subsequent template matching.

[0086] The template management module is mainly used to manage the screw template library and compare the user-defined screw templates with the candidate entities parsed by DXF. It intelligently and accurately identifies the real screw hole positions that match the template features and tolerates minor errors in the drawings.

[0087] The template management module specifically includes:

[0088] Template library: Stores and manages all template files, specifically in formats such as JSON / XML.

[0089] Feature extractor: Extracts key geometric attributes and relationships for matching from the template definition, and parses the template into a set of geometric features with relative positional relationships.

[0090] Specifically, the template management module also involves a tolerance matching algorithm. This algorithm sets position and radius tolerances, and a match is considered complete when the difference between the candidate entity's parameters and the template parameters falls within these tolerance ranges. Specific tolerance matching types include:

[0091] Geometric matcher: calculates the similarity between a single entity and template features; the matching degree of a single geometric entity is calculated based on the degree of deviation of its parameters from the template;

[0092] Relation Matcher: Calculates the degree to which the relationships between entities conform to the template definition; for composite templates, the algorithm is more critical in checking whether the relationships between geometric entities satisfy the template definition.

[0093] The tolerance matching algorithm also includes a filter that organizes and outputs the matching results. The filter is mainly used to filter out valid matches based on a preset threshold and to handle overlapping or conflicting matching results.

[0094] The virtual canvas module serves as the primary visualization and interactive interface, providing users with a smooth and intuitive visual interface for displaying, interacting with, and editing the identified hole location data.

[0095] The virtual canvas module specifically includes:

[0096] Rendering engine: A Canvas-based graphics drawing core responsible for drawing DXF entities, highlighting holes, selection boxes, etc.

[0097] View controller: Manages the scaling, panning, and other transformations of the canvas, and handles the conversion between virtual coordinates and screen coordinates.

[0098] Interactive event handlers: listen for mouse and keyboard events, such as clicks, drags, selection boxes, right-click menus, etc.

[0099] UI Data Binder: Maintains a two-way binding relationship between each graphic element on the canvas and the backend data object. When the hole position data changes, the corresponding graphic on the canvas will be automatically refreshed. Similarly, when the user interacts on the canvas, the changes will be written back to the corresponding data object in real time.

[0100] The editing logic module primarily serves as a bridge between the UI and core data, handling business logic and managing hole status.

[0101] The editing logic module specifically includes:

[0102] Hole Manager: Manages the entire lifecycle of holes from creation to deletion.

[0103] Attribute Editor: Responds to editing operations on the canvas or attribute panel and updates the corresponding hole position data.

[0104] The communication driver module is mainly responsible for stable and efficient data exchange with the field PLC equipment.

[0105] The communication driver module specifically includes:

[0106] Protocol adapters: encapsulate the implementation of different PLC protocols, such as S7, ModbusTCP, MC, etc.

[0107] Connection Manager: Handles PLC connection, disconnection, and heartbeat detection.

[0108] Data Packer / Unpacker: The packer is used to serialize the system's Hole object into a byte stream that the PLC can recognize, while the unpacker is mainly used to reconstruct the PLC's byte stream into the system's Hole object.

[0109] Batch read / write queue: Manages data packets to be sent and supports batch operations.

[0110] Timeout and retry controller: Ensures robust communication.

[0111] Verifier: Verifies read and write data.

[0112] The data hub module mainly serves as the "central nervous system" of the system, responsible for message transmission between modules and the status management of core data.

[0113] The data hub module specifically includes:

[0114] Central data storage: A single data source used to maintain the system.

[0115] Event bus: It adopts a publish-subscribe pattern, where modules can publish events or subscribe to events they are interested in.

[0116] Resource lifecycle monitor: tracks module and data dependencies and automatically cleans up resources when a module is unloaded or a window is closed to prevent memory leaks.

[0117] Based on the above system structure, the present invention also includes an editing method corresponding to the screw hole position editing system, wherein the method specifically includes the following steps:

[0118] Step 1: Use the DXF parsing engine module to parse the DXF drawing and generate a structured candidate dataset of hole locations;

[0119] Step 2: Using the template management module, the tolerance matching algorithm is used to match the screw template with the candidate hole position to identify the target screw hole position.

[0120] Step 3: Visualize the target screw hole positions using the virtual canvas module and perform bidirectional binding with the background data;

[0121] Step 4: Receive and interactively edit the corresponding hole positions through the editing logic module;

[0122] Step 5: Using the communication driver module, export the edited and confirmed screw hole position data and write it to the PLC device in batches.

[0123] The specific operations for matching using the tolerance matching algorithm in step two include:

[0124] Calculate the similarity between a single candidate entity and template features based on matching tolerance;

[0125] Calculate the number of entities in the candidate entity set and template feature set based on the matching ratio;

[0126] Finally, matching screw hole positions and similar screw hole positions were selected.

Claims

1. An editing method of a screw hole site editing system, characterized by, The editing system comprises a DXF parsing engine module, a template management module, a virtual canvas module, an editing logic module, a communication driving module and a data hub module; The DXF parsing engine module is used for reading and parsing a DXF file, and converting geometric entities in the DXF file into a standardized data structure in the system; The template management module is used for managing a screw template library, and intelligently matching a user-defined screw template with a candidate entity parsed from the DXF file; The virtual canvas module is used for providing a visual interface, rendering a drawing and a hole site, and responding to interactive operations of a user; The editing logic module is used for processing business logic, managing a hole site state, and responding to editing operations; The communication driving module is used for data exchange with a field PLC device; The data hub module serves as a hub of the system, and is used for message transmission between modules and state management of core data; The DXF parsing engine module specifically comprises a file reader, an entity parser, a geometric calculator and an asynchronous task; The file reader is used for processing a file stream and identifying a DXF version; The entity parser comprises multiple parsers for circles, arcs, polyline, spline and block references; The geometric calculator is used for providing mathematical tools for calculating an inscribed circle, an incircle or spline fitting; The asynchronous task is used for dividing a drawing and simultaneously working by multiple parsing threads when parsing a large drawing by using parallel computing technology, and finally merging results; The communication driving module specifically comprises a protocol adapter, a data packer / unpacker, a batch read / write queue and a verifier; The protocol adapter is used for packaging multiple PLC communication protocols; The data packer / unpacker is used for serializing hole site objects of the system into a byte stream recognizable by the PLC, and performing reverse operation; The batch read / write queue is used for managing data packets to be sent to support batch operation; The verifier is used for checking read / write data; The editing method comprises the following steps: Step one, parsing a DXF drawing by using the DXF parsing engine module to generate a structured hole candidate data set; Step two, matching a screw template with a hole candidate entity by using a tolerance matching algorithm through the template management module, identifying a target screw hole site; Step three, visualizing the target screw hole site by using the virtual canvas module, and bidirectionally binding the target screw hole site with background data; Step four, receiving interactive editing of a corresponding hole site by using the editing logic module; Step five, batch writing screw hole site data after editing confirmation into a PLC device by using the communication driving module. The template management module further comprises a tolerance matching algorithm, which further comprises a geometric matcher and a relationship matcher; 2. The editing method of the screw hole site editing system according to claim 1, wherein, The geometric matcher is used for finding a template entity of a drawing entity within a matching tolerance; The relationship matcher is used for analyzing a matching composite degree of a number of matched template entities within a matching proportion of a number of matched drawing entities; Specifically, geometric matching depends on a set matching tolerance, and corresponding relationship matching depends on a set matching proportion on the basis of successful geometric matching. ​ 3. The editing method of the screw hole site editing system according to claim 2, wherein The drawing matches the elements of the approximate template within the matching tolerance, and the matching entity quantity is identified as a matching success within the matching proportion, and vice versa.

4. The editing method of the screw hole site editing system according to claim 1, wherein, The virtual canvas module specifically includes a rendering engine, a view controller, and a UI data binder. The rendering engine is used to draw the DXF entity and highlight the hole position. The view controller is used to manage the scaling and translation transformation of the canvas. The UI data binder is used to maintain the bidirectional binding relationship between the graphical elements on the canvas and the background data objects, so that data changes can automatically refresh the UI, and UI interaction operations can write back to the data object in real time.

5. The editing method of the screw hole site editing system according to claim 1, wherein, The editing logic module specifically includes a hole position manager and an attribute editor. The hole position manager is used to provide multiple selection or full selection of hole positions. The attribute editor is used to respond to editing operations and update the corresponding hole position data.

6. The editing method of the screw hole site editing system according to claim 1, wherein, The data hub module specifically includes a central data storage, an event bus, and a resource life cycle monitor. The central data storage is used to maintain a single data source for the system. The event bus uses a publish-subscribe mode to publish events or subscribe to interested events for each module. The resource life cycle monitor is used to track dependencies and automatically clean up resources when the module is unloaded.

7. The editing method of the screw hole site editing system according to claim 1, wherein, The specific operation of matching in step two includes: Calculating the similarity of a single candidate entity and the template features based on the matching tolerance; Calculating the number of entities of the candidate entity set and the template feature set based on the matching proportion; Finally, filter out the matching screw hole position and the similar screw hole position.

Citation Information

Patent Citations

  • Document Image Compression Method And Its Application In Document Authentication

    CN103914858A

  • Intelligent sorting system and method for steel structure part

    CN113770059A

  • Low-code platform based on component library and form engine

    CN120371301A