Obstacle-avoiding wiring method, device, and apparatus, and wiring method for wiring board

By using an obstacle-avoidance routing method, endpoints are obtained, obstacle areas are identified, and forward and reverse routes are generated, solving the problem that automatic routing is difficult to avoid obstacle areas and achieving efficient circuit board routing.

CN119485932BActive Publication Date: 2026-01-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411635817.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2026-01-27
Estimated Expiration
2044-11-15

AI Technical Summary

Technical Problem

Existing automatic routing technologies struggle to effectively avoid obstructed areas on circuit boards, resulting in routing outcomes that fail to meet requirements.

Method used

A method for routing around obstacles is provided. By obtaining the endpoints, it is determined whether the straight line segment passes through the obstacle area, the outline of the obstacle area is obtained, the connection is determined based on the intersection and vertex, and forward and reverse routing is adopted. Combined with the verification rules and the obstacle area update algorithm, a suitable routing path is generated.

Benefits of technology

It effectively avoids obstruction areas on the circuit board, generates suitable routing paths, and improves the automation level of wiring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119485932B_ABST
    Figure CN119485932B_ABST
Patent Text Reader

Abstract

The application discloses a method for routing around obstacles, and relates to the technical field of printed circuit boards. The method comprises the following steps: obtaining a first endpoint and a second endpoint to be connected; connecting the first endpoint and the second endpoint by a straight line segment, and determining whether the straight line segment passes through an obstacle region; in response to the straight line segment passing through the obstacle region, obtaining an obstacle region contour corresponding to the obstacle region; and determining a connection line between the first endpoint and the second endpoint according to the intersection of the straight line segment and the obstacle region contour and the vertex of the obstacle region contour. By implementing the method for routing around obstacles, the device, the equipment and the method for circuit board routing provided by the application, the generated routing can effectively avoid the obstacle region on the circuit board.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of printed circuit board technology, and in particular to obstacle bypass wiring methods, apparatus, equipment, and circuit board wiring methods. Background Technology

[0002] Circuit board routing is the process of connecting the component pads on a circuit board using traces. After completing circuit design and circuit board layout, routing is required to express the electrical connections between the pads. The circuit board is then printed according to the routing, and components are assembled to achieve the functions initially designed in the circuit. With the development of CAD (Computer Aided Design) technology, automatic routing technology can now achieve automatic routing design for some simple circuit boards. However, for complex circuit board structures, manual adjustments to the traces are still required after automatic routing design, resulting in low automation. Especially for complex circuit board structures with obstacle areas, traditional automatic routing tools struggle to effectively avoid these obstacles and find suitable routing paths, often resulting in automatic routing results that fail to meet routing requirements. Summary of the Invention

[0003] To address the problem that automatic routing struggles to effectively avoid obstacles on circuit boards and generate suitable traces, this application provides the following technical solution.

[0004] Firstly, a method for routing wires around obstacles is provided, including:

[0005] Get the first and second endpoints to be connected;

[0006] Connect the first endpoint and the second endpoint with a straight line segment, and determine whether the straight line segment passes through the obstacle area;

[0007] In response to a straight line segment passing through an obstacle region, the outline of the obstacle region corresponding to the obstacle region is obtained;

[0008] Determine the line connecting the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle area, as well as the vertices of the obstacle area outline.

[0009] Furthermore, based on the intersection of the straight line segment and the outline of the obstacle region, and the vertices of the obstacle region outline, the line connecting the first endpoint and the second endpoint is determined, including:

[0010] If the obstacle region outline is a convex polygon, then the intersection point of the line segment and the obstacle region is obtained;

[0011] Starting from the first endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the first endpoint, and connect the vertices of the obstacle area and the second endpoint in sequence along the outline of one side of the obstacle area intercepted by the straight line segment to obtain the forward path.

[0012] Starting from the second endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and connect the vertices of the obstacle area and the first endpoint in sequence along the outline of the obstacle area intercepted by the straight line segment to obtain the reverse route.

[0013] Based on the forward routing, reverse routing, and verification rules, determine the routing between the first endpoint and the second endpoint.

[0014] Furthermore, taking the first endpoint as the starting point, connect the intersection point of the straight line segment and the obstacle area that is closest to the first endpoint, and sequentially connect the vertices of the obstacle area and the second endpoint along the outline of one side of the obstacle area intercepted by the straight line segment to obtain the forward routing line, including:

[0015] Connect the first endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines;

[0016] Among several corresponding vertex lines, the vertex corresponding to the vertex with the largest angle between the line connecting the first endpoint and the second endpoint, and the first endpoint, are used as the transition point;

[0017] Connect the transition point to the second endpoint and determine whether it intersects with the outline of the obstacle area;

[0018] If the line connecting the transition point and the second endpoint does not intersect the outline of the obstacle area, then connect the transition point and the second endpoint to obtain the positive routing line.

[0019] In response to the line connecting the transition point and the second endpoint intersecting the obstacle region outline, the vertices of the obstacle region outline located on the side of the transition point relative to the straight line segment are connected in sequence, and the transition point is updated with these vertices until the line connecting the transition point and the second endpoint does not intersect the obstacle region.

[0020] Connect the updated transition point to the second endpoint to obtain the forward routing.

[0021] Furthermore, taking the second endpoint as the starting point, connect the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and sequentially connect the vertices of the obstacle area and the first endpoint along the contour of one side of the obstacle area intercepted by the corresponding straight line segment to obtain the reverse route, including:

[0022] Connect the second endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines;

[0023] Among several corresponding vertex lines, the vertex corresponding to the line with the largest angle between the line connecting the second endpoint and the first endpoint, and the second endpoint, are used as the transition point;

[0024] Connect the transition point to the first endpoint and determine whether it intersects with the outline of the obstacle area;

[0025] If the line connecting the transition point and the first endpoint does not intersect the outline of the obstacle area, then connect the transition point and the first endpoint to obtain the reverse route;

[0026] In response to the line connecting the transition point and the first endpoint intersecting the obstacle region profile, the vertices of the obstacle region profile located on the side of the transition point relative to the straight line segment are connected in sequence, and the transition point is updated with these vertices until the line connecting the transition point and the first endpoint does not intersect the obstacle region.

[0027] Connect the updated transition point to the first endpoint to obtain the reverse routing.

[0028] Furthermore, based on the forward routing, reverse routing, and verification rules, the routing between the first endpoint and the second endpoint is determined, including:

[0029] In response to the presence of traces that do not pass through vias in both the forward and reverse routes, the lengths of the forward and reverse traces are compared.

[0030] If both the forward and reverse routes pass through vias, the obstacle region contour is updated based on the obstacle region contour.

[0031] In response to the difference in length between the forward and reverse traces, the shorter trace is used as the trace between the first and second endpoints.

[0032] In response to the fact that the lengths of the forward and reverse routes are the same, the number of vertices of the obstacle region contour traversed by the forward route is compared with the number of vertices of the obstacle region contour traversed by the reverse route.

[0033] If the number of vertices in the obstacle region contour traversed by the forward route is different from the number of vertices in the obstacle region contour traversed by the reverse route, then the route traversed by the fewer vertices is taken as the route between the first and second endpoints of the reverse route.

[0034] Furthermore, the obstacle region contour is updated based on the obstacle region contour, including:

[0035] A preset algorithm is used to obtain at least one new vertex for the outline of the obstacle region;

[0036] Update the obstacle region by connecting the vertices of the obstacle region outline and the new vertices in sequence to form the largest area.

[0037] Re-execute the step of connecting the first and second endpoints with a straight line segment, and determine whether the straight line segment passes through the obstacle area and subsequent steps.

[0038] Furthermore, determining the line connecting the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle region, as well as the vertices of the obstacle region outline, also includes:

[0039] In response to the obstacle region contour being a concave polygon, at least one concave point of the obstacle region contour is obtained until the obstacle region contour is transformed into a convex polygon.

[0040] Obtain any one of the at least one concave points, connect the two vertices adjacent to any one concave point with a straight line segment, and update the contour of the obstacle region.

[0041] Secondly, a barrier-avoidance wiring device is provided, comprising:

[0042] The endpoint acquisition module is used to acquire the first and second endpoints to be connected.

[0043] The endpoint connection module is used to connect the first endpoint and the second endpoint with a straight line segment, and to determine whether the straight line segment passes through the obstacle area.

[0044] The contour acquisition module is used to acquire the contour of the obstacle area corresponding to the obstacle area when a straight line segment passes through the obstacle area.

[0045] The connection determination module is used to determine the connection between the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle area, as well as the vertices of the obstacle area outline.

[0046] Thirdly, a computer device is provided, including a memory, a processor, and an obstacle avoidance wiring program stored in the memory and executable on the processor. When the processor executes the obstacle avoidance wiring program, it implements the obstacle avoidance wiring method described in the first aspect.

[0047] Fourthly, a computer-readable storage medium is provided, on which an obstacle-avoiding wiring program is stored, wherein when the obstacle-avoiding wiring program is executed by a processor, the obstacle-avoiding wiring method described in the first aspect is implemented.

[0048] Fifthly, a computer program product is provided, including a computer program that, when executed by a processor, implements the obstacle-avoidance wiring method described in the first aspect.

[0049] Sixthly, a circuit board wiring method is provided, wherein the circuit board includes at least one first connection point, the first connection point being a point electrically connected to at least one second connection point on the circuit board, and the circuit board wiring method includes:

[0050] Traverse at least one first connection point and connect any second connection point that has an electrical connection relationship with the first connection point using the obstacle bypass wiring method described in the first aspect, until all first connection points on the circuit board are electrically connected to their corresponding second connection points.

[0051] The beneficial effects of the technical solutions provided in this application are:

[0052] By implementing the obstacle-avoidance wiring method, apparatus, equipment, and circuit board wiring method provided in this application, the generated traces can effectively avoid obstacle areas on the circuit board. Attached Figure Description

[0053] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0054] Figure 1 This is a schematic diagram of the obstacle bypass wiring method provided in the embodiments of this application;

[0055] Figure 2 These are schematic diagrams of forward and reverse routing provided in the embodiments of this application;

[0056] Figure 3 This is a schematic diagram of the obstacle-avoiding wiring device provided in the embodiments of this application;

[0057] Figure 4 This is a schematic diagram of a computer device provided in an embodiment of this application. Detailed Implementation

[0058] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0059] Unless otherwise defined, the technical or scientific terms used in this disclosure shall have the ordinary meaning understood by one of ordinary skill in the art to which this disclosure pertains. The terms “first,” “second,” and similar terms used in this disclosure do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Similarly, the terms “an,” “a,” or “the,” and similar terms do not indicate a quantity limitation, but rather indicate the presence of at least one. The numbers in the accompanying drawings are only used to distinguish individual functional parts or modules and do not indicate logical relationships between parts or modules. The terms “comprising,” “including,” or “including,” and similar terms mean that the element or object preceding the term encompasses the element or object listed following the term and its equivalents, without excluding other elements or objects. The terms “connected,” “linked,” and similar terms are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. “Above,” “below,” “left,” “right,” etc., are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0060] The various embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that in the drawings, the same reference numerals are assigned to components having substantially the same or similar structure and function, and repeated descriptions of them will be omitted.

[0061] To address the problem that automatic routing struggles to effectively avoid circuit board obstacles and generate suitable traces, this application provides the following implementation method.

[0062] In some embodiments, such as Figure 1 As shown, a kind

[0063] Firstly, a method for routing wires around obstacles is provided, including:

[0064] S100: Obtain the first and second endpoints to be connected;

[0065] S200: Connect the first endpoint and the second endpoint with a straight line segment, and determine whether the straight line segment passes through the obstacle area;

[0066] S300: In response to a straight line segment passing through an obstacle area, obtain the outline of the obstacle area corresponding to the obstacle area;

[0067] S400: Determine the line connecting the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle area, as well as the vertices of the obstacle area outline.

[0068] The first endpoint and the second endpoint are points abstracted from pads on the printed circuit board that have electrical connections.

[0069] The obstacle area includes at least one of the following: component area, no-route area, via area, pad area, and power area.

[0070] Optionally, the corresponding positions can be represented by the coordinates of the first endpoint, the second endpoint, and the obstacle area in a rectangular coordinate system.

[0071] Specifically, based on the intersection of the straight line segment and the outline of the obstacle area, and the vertices of the obstacle area outline, the line connecting the first endpoint and the second endpoint is determined, including:

[0072] If the obstacle region outline is a convex polygon, then the intersection point of the line segment and the obstacle region is obtained;

[0073] Starting from the first endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the first endpoint, and connect the vertices of the obstacle area and the second endpoint in sequence along the outline of one side of the obstacle area intercepted by the straight line segment to obtain the forward path.

[0074] Starting from the second endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and connect the vertices of the obstacle area and the first endpoint in sequence along the outline of the obstacle area intercepted by the straight line segment to obtain the reverse route.

[0075] Based on the forward routing, reverse routing, and verification rules, determine the routing between the first endpoint and the second endpoint.

[0076] Specifically, starting from the first endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the first endpoint, and sequentially connect the vertices of the obstacle area along the outline of one side of the obstacle area obtained by the straight line segment, and the second endpoint, to obtain the forward path, including:

[0077] Connect the first endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines;

[0078] Among several corresponding vertex lines, the vertex corresponding to the vertex with the largest angle between the line connecting the first endpoint and the second endpoint, and the first endpoint, are used as the transition point;

[0079] Connect the transition point to the second endpoint and determine whether it intersects with the outline of the obstacle area;

[0080] If the line connecting the transition point and the second endpoint does not intersect the outline of the obstacle area, then connect the transition point and the second endpoint to obtain the positive routing line.

[0081] In response to the line connecting the transition point and the second endpoint intersecting the obstacle region outline, the vertices of the obstacle region outline located on the side of the transition point relative to the straight line segment are connected in sequence, and the transition point is updated with these vertices until the line connecting the transition point and the second endpoint does not intersect the obstacle region.

[0082] Connect the updated transition point to the second endpoint to obtain the forward routing, as shown below. Figure 3 As shown.

[0083] Specifically, starting from the second endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and sequentially connect the vertices of the obstacle area along the contour of one side of the obstacle area obtained by the corresponding straight line segment, as well as the first endpoint, to obtain the reverse route, including:

[0084] Connect the second endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines;

[0085] Among several corresponding vertex lines, the vertex corresponding to the line with the largest angle between the line connecting the second endpoint and the first endpoint, and the second endpoint, are used as the transition point;

[0086] Connect the transition point to the first endpoint and determine whether it intersects with the outline of the obstacle area;

[0087] If the line connecting the transition point and the first endpoint does not intersect the outline of the obstacle area, then connect the transition point and the first endpoint to obtain the reverse route;

[0088] In response to the line connecting the transition point and the first endpoint intersecting the obstacle region profile, the vertices of the obstacle region profile located on the side of the transition point relative to the straight line segment are connected in sequence, and the transition point is updated with these vertices until the line connecting the transition point and the first endpoint does not intersect the obstacle region.

[0089] Connect the updated transition point with the first endpoint to obtain the reverse routing, as shown below. Figure 3 As shown.

[0090] Specifically, based on forward routing, reverse routing, and verification rules, the routing between the first endpoint and the second endpoint is determined, including:

[0091] In response to the presence of traces that do not pass through vias in both the forward and reverse routes, the lengths of the forward and reverse traces are compared.

[0092] If both the forward and reverse routes pass through vias, the obstacle region contour is updated based on the obstacle region contour.

[0093] In response to the difference in length between the forward and reverse traces, the shorter trace is used as the trace between the first and second endpoints.

[0094] In response to the fact that the lengths of the forward and reverse routes are the same, the number of vertices of the obstacle region contour traversed by the forward route is compared with the number of vertices of the obstacle region contour traversed by the reverse route.

[0095] If the number of vertices in the obstacle region contour traversed by the forward route is different from the number of vertices in the obstacle region contour traversed by the reverse route, then the route traversed by the fewer vertices is taken as the route between the first and second endpoints of the reverse route.

[0096] After determining the routing between the first port and the second endpoint, the routing is added to the obstacle region to update the obstacle region.

[0097] In response to the obstacle region profile being a smooth curve, a tangent line parallel to the line connecting the first and second endpoints is drawn to the obstacle region profile, resulting in two tangent points.

[0098] Connect any point to the first endpoint and the second endpoint to obtain two intermediate points adjacent to any point;

[0099] Starting from the first endpoint, connect the intermediate points that are adjacent to one of the tangent points and are closer to the first endpoint with a straight line segment;

[0100] Connect the two intermediate points corresponding to the tangent point with the outline of the obstacle region;

[0101] Connect the other midpoint to the second endpoint with a straight line segment to obtain the forward routing.

[0102] Starting from the second endpoint, connect the midpoint of the line segment to a point adjacent to the second endpoint and also close to the second endpoint.

[0103] Connect the two intermediate points corresponding to another tangent point and the tangent point using the outline of the obstacle region;

[0104] Connect the other midpoint to the first endpoint with a straight line segment to obtain the reverse route.

[0105] Specifically, updating the obstacle region contour based on the obstacle region contour includes:

[0106] A preset algorithm is used to obtain at least one new vertex for the outline of the obstacle region;

[0107] Update the obstacle region by connecting the vertices of the obstacle region outline and the new vertices in sequence to form the largest area.

[0108] Re-execute the step of connecting the first and second endpoints with a straight line segment, and determine whether the straight line segment passes through the obstacle area and subsequent steps.

[0109] Preferably, the preset algorithm can be either the 1* algorithm or the Sparrow Search algorithm.

[0110] Specifically, determining the line connecting the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle region, as well as the vertices of the obstacle region outline, also includes:

[0111] In response to the obstacle region contour being a concave polygon, at least one concave point of the obstacle region contour is obtained until the obstacle region contour is transformed into a convex polygon.

[0112] Obtain any one of the at least one concave points, connect the two vertices adjacent to any one concave point with a straight line segment, and update the contour of the obstacle region.

[0113] It should be understood that, although Figure 1 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 1 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0114] In other embodiments, such as Figure 3 As shown, an obstacle-avoiding wiring device includes:

[0115] The endpoint acquisition module is used to acquire the first and second endpoints to be connected.

[0116] The endpoint connection module is used to connect the first endpoint and the second endpoint with a straight line segment, and to determine whether the straight line segment passes through the obstacle area.

[0117] The contour acquisition module is used to acquire the contour of the obstacle area corresponding to the obstacle area when a straight line segment passes through the obstacle area.

[0118] The connection determination module is used to determine the connection between the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle area, as well as the vertices of the obstacle area outline.

[0119] For specific limitations regarding the obstacle-avoidance wiring device described above, please refer to the limitations regarding the obstacle-avoidance wiring method above, which will not be repeated here. Each module in the above-described obstacle-avoidance wiring device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0120] In other embodiments, such as Figure 4As shown, a computer device includes a memory, a processor, and an obstacle-avoidance routing program stored in the memory and executable on the processor. When the processor executes the obstacle-avoidance routing program, it implements the obstacle-avoidance routing method described above. The obstacle-avoidance routing method will not be described in detail here.

[0121] In other embodiments, a computer-readable storage medium stores an obstacle-avoidance routing program thereon, which, when executed by a processor, implements the obstacle-avoidance routing method described above. The obstacle-avoidance routing method will not be further described here.

[0122] In other embodiments, a computer program product includes a computer program that, when executed by a processor, implements the obstacle-avoidance routing method described above. The obstacle-avoidance routing method will not be further described here.

[0123] In other embodiments, a circuit board wiring method is provided, wherein the circuit board includes at least one first connection point, the first connection point being a point electrically connected to at least one second connection point on the circuit board, and the circuit board wiring method includes:

[0124] Traverse at least one first connection point and connect any second connection point that has an electrical connection relationship with the first connection point using the obstacle bypass wiring method described in the first aspect, until all first connection points on the circuit board are electrically connected to their corresponding second connection points.

[0125] By implementing the obstacle-avoidance routing method, apparatus, device, and circuit board routing method disclosed in the embodiments of this application, the generated traces can effectively avoid obstacle areas on the circuit board.

[0126] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0127] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program loaded on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device, or installed from memory, or installed from ROM. When the computer program is executed by an external processor, it performs the functions defined in the methods of embodiments of this application.

[0128] It should be noted that the computer-readable medium in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In the embodiments of this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the embodiments of this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (Radio Frequency), etc., or any suitable combination thereof.

[0129] The aforementioned computer-readable medium may be included in the aforementioned server; or it may exist independently and not assembled into the server. The aforementioned computer-readable medium carries one or more programs that, when executed by the server, cause the server to: in response to detecting that the peripheral mode of the terminal is not activated, acquire the frame rate of the application on the terminal; when the frame rate meets the screen-off condition, determine whether the user is acquiring the terminal's screen information; and in response to the determination that the user is not acquiring the terminal's screen information, control the screen to enter an immediate dimming mode.

[0130] Computer program code for performing the operations of the embodiments of this application can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages—such as Java, Smalltalk, and C++—and conventional procedural programming languages—such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0131] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0132] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.

[0133] The above description is only a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for routing wires around obstacles, characterized in that, include: Get the first and second endpoints to be connected; Connect the first endpoint and the second endpoint with a straight line segment, and determine whether the straight line segment passes through the obstacle area; In response to the straight line segment passing through the obstacle region, the outline of the obstacle region corresponding to the obstacle region is obtained; The line connecting the first endpoint and the second endpoint is determined based on the intersection point of the straight line segment and the outline of the obstacle region, and the vertices of the obstacle region outline; wherein, determining the line connecting the first endpoint and the second endpoint based on the intersection point of the straight line segment and the outline of the obstacle region, and the vertices of the obstacle region outline, includes: In response to the fact that the outline of the obstacle region is a convex polygon, the intersection point of the line segment and the obstacle region is obtained; Connect the first endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines; Among the several corresponding vertex lines, the vertex corresponding to the vertex with the largest angle between the line connecting the first endpoint and the second endpoint, and the first endpoint, are connected, and this vertex is used as the transition point; Connect the transition point to the second endpoint, and determine whether it intersects with the outline of the obstacle region; In response to the fact that the line connecting the transition point and the second endpoint does not intersect the outline of the obstacle area, the transition point and the second endpoint are connected to obtain a positive routing line; In response to the line connecting the transition point and the second endpoint intersecting the outline of the obstacle region, the vertices of the obstacle region outline located on one side of the transition point relative to the straight line segment are connected sequentially, and the transition point is updated with the vertex until the line connecting the transition point and the second endpoint does not intersect the obstacle region. Connect the updated transition point with the second endpoint to obtain the forward trace; Starting from the second endpoint, connect the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and connect the vertices of the obstacle area and the first endpoint in sequence along the outline of one side of the obstacle area intercepted by the corresponding straight line segment to obtain the reverse route; Based on the forward routing, the reverse routing, and the verification rules, the routing between the first endpoint and the second endpoint is determined. The step of determining the routing between the first endpoint and the second endpoint based on the forward routing, the reverse routing, and the verification rules includes: In response to the presence of a trace that does not pass through a via in either the forward or reverse routing, the lengths of the forward and reverse routing are compared. In response to the fact that both the forward and reverse routes pass through vias, the obstacle region contour is updated according to the obstacle region contour. In response to the difference in length between the forward trace and the reverse trace, the shorter trace is used as the trace between the first endpoint and the second endpoint. In response to the fact that the lengths of the forward route and the reverse route are the same, the number of vertices of the obstacle region contour traversed by the forward route is compared with the number of vertices of the obstacle region contour traversed by the reverse route. In response to the difference between the number of vertices of the obstacle region contour traversed by the forward routing and the number of vertices of the obstacle region contour traversed by the reverse routing, the routing with fewer vertices traversed is designated as the routing between the first endpoint and the second endpoint of the reverse routing.

2. The obstacle-avoidance wiring method according to claim 1, characterized in that, The step of taking the second endpoint as the starting point, connecting the intersection point of the straight line segment and the obstacle area that is closest to the second endpoint, and sequentially connecting the vertices of the obstacle area and the first endpoint along the contour of one side of the obstacle area obtained by the corresponding straight line segment to obtain the reverse route includes: Connect the second endpoint to any vertex of the obstacle region outline to obtain several corresponding vertex lines; Among the several corresponding vertex lines, the vertex corresponding to the line with the largest angle between the line connecting the second endpoint and the first endpoint, and the second endpoint, are connected, and this vertex is used as the transition point; Connect the transition point to the first endpoint, and determine whether it intersects with the outline of the obstacle region; In response to the fact that the line connecting the transition point and the first endpoint does not intersect the outline of the obstacle area, the transition point and the first endpoint are connected to obtain the reverse routing line; In response to the line connecting the transition point and the first endpoint intersecting the outline of the obstacle region, the vertices of the obstacle region outline located on one side of the transition point relative to the straight line segment are sequentially connected, and the transition point is updated with the vertex until the line connecting the transition point and the first endpoint does not intersect the obstacle region. Connect the updated transition point with the first endpoint to obtain the reverse routing.

3. The obstacle-avoidance wiring method according to claim 1, characterized in that, Updating the obstacle region contour based on the obstacle region contour includes: A preset algorithm is used to obtain at least one new vertex for the outline of the obstacle region; The obstacle region is updated by connecting the vertices of the obstacle region outline and the new vertices in sequence to form the largest area. Re-execute the steps of connecting the first endpoint and the second endpoint with a straight line segment, and determine whether the straight line segment passes through the obstacle area and subsequent steps.

4. The obstacle-avoidance wiring method according to claim 1, characterized in that, The step of determining the line connecting the first endpoint and the second endpoint based on the intersection of the straight line segment and the outline of the obstacle region, and the vertices of the obstacle region outline, further includes: In response to the obstacle region contour being a concave polygon, at least one concave point of the obstacle region contour is obtained until the obstacle region contour is transformed into a convex polygon. Obtain any one of the at least one concave points, connect the two vertices adjacent to any one concave point with a straight line segment, and update the contour of the obstacle region.

5. An obstacle-avoiding wiring device, characterized in that, For performing the obstacle bypass wiring method according to any one of claims 1-4, comprising: The endpoint acquisition module is used to acquire the first and second endpoints to be connected. An endpoint connection module is used to connect the first endpoint and the second endpoint with a straight line segment, and to determine whether the straight line segment passes through an obstacle area; The contour acquisition module is used to acquire the contour of the obstacle region corresponding to the obstacle region in response to the straight line segment passing through the obstacle region. The connection determination module is used to determine the connection between the first endpoint and the second endpoint based on the intersection point of the straight line segment and the outline of the obstacle area, as well as the vertices of the outline of the obstacle area.

6. A computer device, characterized in that, The method includes a memory, a processor, and an obstacle-avoidance routing program stored in the memory and executable on the processor. When the processor executes the obstacle-avoidance routing program, it implements the obstacle-avoidance routing method according to any one of claims 1-4.

7. A circuit board wiring method, characterized in that, The circuit board includes at least one first connection point, which is a point that has an electrical connection relationship with at least one second connection point on the circuit board. The circuit board wiring method includes: Traverse any one of the at least one first connection points, and use the obstacle bypass wiring method described in any one of claims 1-4 to connect the second connection points that have an electrical connection relationship with the first connection points, until all the first connection points on the circuit board are electrically connected to the corresponding second connection points.

Citation Information

Patent Citations

  • Task path determination method and device

    CN111507652A

  • Automatic layout wiring method and device, storage medium and electronic equipment

    CN116011386A