Drawing processing device, drawing processing method, and program

The drawing processing device efficiently moves overlapping objects in two-dimensional drawings by detecting and rearranging them based on attributes, enhancing readability and reducing manual intervention.

JP7856522B2Active Publication Date: 2026-05-11SHIMIZU CORP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SHIMIZU CORP
Filing Date
2022-08-08
Publication Date
2026-05-11

AI Technical Summary

Technical Problem

When converting three-dimensional CAD drawings containing multiple objects into two dimensions, overlapping objects often occur, making it difficult to view and interpret the content, and manual object movement is inefficient.

Method used

A drawing processing device and method that includes an object detection unit to identify overlapping objects, sets movement constraints based on object attributes, and generates movement instruction information to efficiently rearrange objects in a two-dimensional drawing to avoid overlaps.

Benefits of technology

Enables efficient movement of overlapping objects in two-dimensional drawings, improving readability and reducing manual effort in resolving object duplication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007856522000001
    Figure 0007856522000001
  • Figure 0007856522000002
    Figure 0007856522000002
  • Figure 0007856522000003
    Figure 0007856522000003
Patent Text Reader

Abstract

To efficiently move overlapping objects in a two-dimensional drawing.SOLUTION: A drawing processing device comprises: an object detection portion for detecting an object included in a raster format drawing obtained from a vector format drawing and determining a movement restriction condition determined according to an attribute for each detected object; a movement setting portion for selecting a movement destination setting object in order from one having a low degree of movement freedom on the basis of a movement restriction condition set to each object when objects detected by the object detection portion overlap, and setting a movement destination so as not to overlap with another object for each object of the selected movement destination setting object; and a movement instruction information generation portion for generating movement instruction information for moving an object in the vector format drawing according to the movement destination of the object set by the movement setting portion.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0005] , ,

[0004] , , , , , , , , , ,

[0001] The present invention relates to a drawing processing apparatus, a drawing processing method, and a program.

Background Art

[0002] A technique for extracting a two-dimensional image from a three-dimensional CAD (Computer Aided Design) model is known (see, for example, Patent Document 1).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] For example, when converting a three-dimensional CAD drawing that contains many objects such as graphics, dimension lines, etc., as well as objects such as dimension values, part numbers, annotations, and various symbols into two dimensions, such as a building drawing, an event where objects overlap on the two-dimensional drawing is likely to occur. When objects overlap on a two-dimensional drawing like this, it becomes difficult to check the content of the overlapping objects, and there may be cases where it cannot withstand use at the construction site. Therefore, it is required to move the positions of the objects so that they do not overlap and make it easier to view. However, manually moving the objects places a considerable burden on the operator. Regarding the movement of overlapping objects, it is preferable to be able to perform it as efficiently as possible.

[0005] The present invention has been made in view of such circumstances, and an object thereof is to efficiently move overlapping objects in a two-dimensional drawing.

Means for Solving the Problems

[0006] One aspect of the present invention for solving the above-mentioned problems is a drawing processing device comprising: an object detection unit that detects objects included in a raster-format drawing obtained by converting a vector-format drawing including objects into a raster-format drawing, and determines movement constraint conditions determined according to the attributes of each detected object; a movement setting unit that, when objects detected by the object detection unit overlap, selects target objects for movement setting in order from those with the lowest degree of freedom of movement according to the movement constraint conditions set for each object, and sets a destination for each selected target object so as not to overlap with other objects; and a movement instruction information generation unit that generates movement instruction information for moving objects in the vector-format drawing according to the destination of the object set by the movement setting unit.

[0007] Furthermore, one aspect of the present invention is a drawing processing method that includes: an object detection step of detecting objects included in a raster-format drawing obtained by converting a vector-format drawing containing objects into a raster-format drawing, and determining movement constraint conditions determined according to the attributes of each detected object; a movement setting step of selecting target objects for movement in order from those with the lowest degree of freedom of movement based on the movement constraint conditions determined for each object, if the objects detected in the object detection step are duplicates, and setting a destination for each selected target object so as not to overlap with other objects; and a movement instruction information generation step of generating movement instruction information to move objects in the vector-format drawing according to the destination of the object set in the movement setting step.

[0008] Furthermore, one aspect of the present invention is a program that causes a computer as a drawing processing device to function as an object detection unit that detects objects contained in a raster-format drawing obtained by converting a vector-format drawing containing objects into a raster-format drawing and determines movement constraint conditions according to the attributes of each detected object; a movement setting unit that, when objects detected by the object detection unit overlap, selects target objects for movement in order from those with the lowest degree of freedom of movement based on the movement constraint conditions determined for each object and sets a destination for each selected target object so as not to overlap with other objects; and a movement instruction information generation unit that generates movement instruction information to move objects in the vector-format drawing according to the destination of the object set by the movement setting unit. [Effects of the Invention]

[0009] As described above, the present invention provides the effect of enabling efficient movement of overlapping objects in a two-dimensional drawing. [Brief explanation of the drawing]

[0010] [Figure 1] This figure shows an example of the configuration of a drawing processing device according to the first embodiment. [Figure 2] This figure shows an example of training data corresponding to the object detection unit according to the first embodiment. [Figure 3] This figure illustrates a specific example of the relationship between the functional attributes and movement attributes of an object according to the first embodiment. [Figure 4] This figure shows an example of the object detection result by the object detection unit according to the first embodiment. [Figure 5] This diagram illustrates the relationship between the destination setting and the distance traveled for duplicate objects according to the first embodiment. [Figure 6] This figure illustrates a specific example of destination setting by the movement setting unit according to the first embodiment. [Figure 7]This flowchart shows an example of a processing procedure performed by the drafting application unit in the drawing processing apparatus according to the first embodiment, in relation to drawing dimension conversion. [Figure 8] This flowchart shows an example of a processing procedure performed by the modification application unit and the drafting application unit in the drawing processing apparatus according to the first embodiment, in relation to the correction of duplicates in a vector-format 2D drawing. [Figure 9] This flowchart shows an example of a processing procedure as a destination setting process according to the first embodiment. [Figure 10] This figure shows a specific example of object duplication correction according to the first embodiment. [Figure 11] This figure shows a specific example of object duplication correction according to the first embodiment. [Figure 12] This figure shows a specific example of object duplication correction according to the first embodiment. [Figure 13] This figure shows an example of setting color range divisions according to the movement attributes of an object according to the second embodiment. [Figure 14] This figure shows an example of setting dividing lines for a vector-format 2D drawing according to the third embodiment. [Modes for carrying out the invention]

[0011] <First Embodiment> [Example of a drawing processing system configuration] Figure 1 shows an example of the functional configuration of the drawing processing device 100 in this embodiment. The functions of the drawing processing device 100 in the figure are realized by the execution of programs by the CPU (Central Processing Unit) and GPU (Graphics Processing Unit) that are provided as hardware in the drawing processing device 100. The drawing processing device 100 may be implemented by installing a drafting application and a modification application on a computer device such as a personal computer.

[0012] The drafting application may be, for example, BIM (Building Information Modeling) or CAD, and may be an application capable of drawing buildings, steel structures, etc. in a three-dimensional environment.

[0013] The drafting application of this embodiment is capable of creating drawings (three-dimensional drawings) in a three-dimensional environment. Further, the drafting application can convert a three-dimensional drawing (an example of a drawing) into a two-dimensional drawing. The two-dimensional drawing (an example of a drawing) handled by the drafting application is, for example, based on vector data by 2D CAD.

[0014] Three-dimensional drawings have the advantage that the structure of the designed building can be grasped three-dimensionally, and various confirmation operations such as ensuring the consistency of the drawings and checking interference and gradients can be easily performed. On the other hand, there is also an aspect that two-dimensional cross-sectional drawings are easier to use at the construction site where the building is being constructed. The drafting application can provide the two-dimensional drawings used at the site as described above by having a function of converting three-dimensional drawings into two-dimensional drawings.

[0015] The correction application is an application that makes settings regarding the movement of objects for correction when correcting a two-dimensional drawing in vector format so as to eliminate object duplication. In the three-dimensional space as a three-dimensional drawing, not only members used in the construction of a building but also various additional information such as dimensions of each part and product codes of members are included in large numbers. In the two-dimensional drawing converted from the three-dimensional drawing, since it is common to represent these additional information on the drawing, a large number of additional information objects are arranged on the two-dimensional plane, resulting in object duplication.

[0016] Duplicate objects are difficult for contractors to see, which can lead to misinterpretations of drawings and reduce the efficiency of construction work. Therefore, it is necessary to move duplicate objects in 2D drawings to prevent duplication. However, manually moving objects in 2D drawings is inefficient. Therefore, the drawing processing device 100 of this embodiment can eliminate object duplication in 2D drawings by moving objects using a modification application.

[0017] The drawing processing device 100 shown in Figure 1 comprises a drafting application unit 101, a modification application unit 102, a storage unit 103, and a user interface unit 104. The drafting application unit 101 is a functional unit that corresponds to the drafting application. The drafting application unit 101 comprises a drafting processing unit 111, a conversion unit 112, and a movement processing unit 113.

[0018] The drafting processing unit 111, for example, executes drafting processing in a 3D environment according to the building design in response to user operations, and creates a 3D drawing. The drafting processing unit 111 may store the created 3D drawing in the storage unit 103.

[0019] The conversion unit 112 performs a drawing dimension conversion, converting a 3D drawing created by the drafting processing unit 111 into a 2D drawing in vector format, for example, as a 2D CAD drawing. The conversion unit 112 can store the 2D drawing obtained through the drawing dimension conversion in the storage unit 103.

[0020] The movement processing unit 113 uses the movement instruction information generated by the movement instruction information generation unit 124 to execute the process of moving objects in a vector-format 2D drawing (object movement processing). When the movement processing unit 113 executes the object movement processing, the vector-format 2D drawing is corrected so that object duplication is eliminated.

[0021] The modification application unit 102 is a functional unit that corresponds to the modification application. The modification application unit 102 includes a pre-processing unit 121, an object detection unit 122, a movement setting unit 123, and a movement instruction information generation unit 124. The preprocessing unit 121, as a preprocessing step, retrieves a specified two-dimensional drawing from among the vector-format two-dimensional drawings stored in the storage unit 103, and performs a raster conversion to convert the retrieved two-dimensional drawing into a raster format. The two-dimensional drawing in raster format may, for example, be image data in PNG (Portable Network Graphics) format.

[0022] During raster conversion, the preprocessor 121 ensures that the color settings set for objects in the 2D drawing are carried over. Specifically, the preprocessor 121 performs raster conversion by ensuring that the color code values ​​set for each object in the vector-format 2D drawing are carried over to the raster-format 2D drawing. As a result, objects common to both the vector-format and raster-format 2D drawings will have the same color code set.

[0023] The object detection unit 122 (an example of an object detection unit) performs object detection. The object detection unit 122 performs object detection by identifying objects present in a 2D raster drawing. In this process, the object detection unit 122 applies a frame (region indication frame) to each identified object in the 2D raster drawing image that indicates the area corresponding to the object. The region indication frame may be, for example, a rectangular frame. Furthermore, the object detection unit 122 performs object detection by determining whether there are any duplicates among the identified objects.

[0024] The object detection unit 122 can determine if objects are duplicated, for example, as follows. First, in the drafting application unit 101, the drafting processing unit 111 groups elements such as text strings, symbols, and line segments within the 3D drawing into object units.

[0025] Figures 2(A), 2(B), and 2(C) each show an example of a single object POJ obtained by grouping in the drafting processing unit 111. The object POJ in Figure 2(A) is an object that is grouped by strings only. The object POJ in Figure 2(B) is an object grouped by a string and a frame surrounding that string. The object POJ in Figure 2(C) is an object that groups together a string, a frame surrounding that string, and strings placed outside the frame. Furthermore, the object POJ in the same figure is tilted diagonally upwards to the right.

[0026] The conversion unit 112 adds the object POJ data obtained by grouping as described above to the 2D drawing after the drawing dimension conversion, and stores it in the storage unit 103.

[0027] In the modification application unit 102, the object detection unit 122 refers to the object POJ data attached to the 2D drawing and identifies the image portion corresponding to the object POJ from the raster-format 2D drawing. The object detection unit 122 determines whether there are overlaps on the 2D drawing between the objects identified as described above. In determining such object overlaps, the object detection unit 122 may use a trained model obtained through machine learning or the like. In this case, the trained model may be trained by inputting various patterns of images of overlapping objects as training data into the learner.

[0028] Furthermore, object identification by the object detection unit 122 may also be performed by inputting images of various objects as training data into the learner of a pre-trained model, as shown below. In this case, the object POJ obtained by grouping, as illustrated in Figures 2(A), 2(B), and 2(C), may be input into the learner as training data. In this case, tags may be assigned to the object POJ. Specifically, for example, the object POJ in Figure 2(A) may be given a tag indicating that it is "string only". Furthermore, the object POJ in Figure 2(B) may be tagged to indicate that it is a "framed string". Furthermore, the object POJ in Figure 2(C) may be tagged with, for example, a tag indicating that it is "a framed string and an outside-framed string / upper right diagonal direction". In this case, the object detection unit 122 may identify objects from the 2D drawing using a trained model and perform duplicate determination based on, for example, the positional relationship between the identified objects, or using a trained model for duplicate determination similar to the one described above.

[0029] Let's return to the explanation in Figure 1. The movement setting unit 123 sets the destination for the objects in the raster-format 2D drawing so that objects that the object detection unit 122 has determined to be duplicates in the raster-format 2D drawing no longer overlap.

[0030] The movement instruction information generation unit 124 generates movement instruction information. The movement instruction information is information that indicates the position (object position before movement) and movement amount vector for each object that needs to be moved in a vector-format 2D drawing, based on the destination of the object set by the movement setting unit 123.

[0031] Specifically, the pre-movement object position indicated by the movement setting unit 123 is specified by the pixel position (pixel coordinates) in the image as a 2D drawing in raster format. The movement amount vector may consist of vertical and horizontal movement distances, but the movement distance is indicated by the number of pixels. The movement instruction information generation unit 124 converts the position of the target object, specified by the pixel position, into coordinates represented by vertical and horizontal dimensions set for a two-dimensional vector drawing. The movement instruction information generation unit 124 also converts the object's movement distance, based on the number of pixels, into dimensions in a two-dimensional vector drawing. The movement instruction information generation unit 124 can convert from the number of pixels to dimensions based on the correspondence between the number of unit pixels in a raster-format 2D drawing and the dimensions in a vector-format 2D drawing. The movement instruction information generation unit 124 transfers the generated movement instruction information to the drafting application unit 101. At this time, the movement instruction information generation unit 124 may store the movement instruction information in the storage unit 103, and the drafting application unit 101 may retrieve the movement instruction information stored in the storage unit 103.

[0032] The memory unit 103 stores various types of information that the drawing processing device 100 is responsible for.

[0033] The user interface unit 104 is the part that corresponds to the user interface. Specifically, the user interface unit 104 is configured to include an input device used by the user for operation, a display device for displaying images, a sound output device for outputting sound, and so on.

[0034] [Processing of 2D drawings to correct duplicate objects] In the following explanation, modifications made to vector-format 2D drawings to eliminate object duplication will also be referred to as "duplicate correction." In this embodiment, the conversion unit 112 of the drafting application unit 101 sets predetermined colors in advance for objects placed in a two-dimensional vector drawing obtained by drawing dimension conversion, corresponding to movement attributes (an example of movement constraints), in order to handle duplicate corrections.

[0035] Movement attributes are movement restrictions when a corresponding object is targeted for movement during duplicate correction. In this embodiment, for example, movement attributes may be categorized into four types: immovable, left / right (horizontal) movement, up / down (vertical) movement, and free movement. These movement attributes are listed in order of increasing degree of freedom of movement. The degree of freedom of movement here corresponds to the number of directions in which the object is allowed to move. If the move attribute is set to "immovable," the corresponding object is defined as immovable. If the movement attribute is left-right movement, the corresponding object is allowed to move left-right but is prohibited from moving up-down. If the movement attribute is vertical movement, the corresponding object is allowed to move vertically but is prohibited from moving horizontally. In terms of freedom of movement, left-right movement and up-down movement have equivalent movement attributes. If the movement attribute is "free movement," it is specified that the corresponding object is allowed to move without any particular directional restrictions.

[0036] Movement attributes are determined according to the functional attributes of the object. Functional attributes are attributes related to the function of the object. Each object in a drawing has a function that indicates specific things, such as the shape of the member, dimension lines, dimension values, part numbers of the member, and various symbols and codes. For example, the storage unit 103 may store a movement attribute table that associates movement attributes with each functional attribute.

[0037] A concrete example of the relationship between the functional attributes and movement attributes of an object will be explained with reference to Figure 3. Figure 3 shows an extracted area of ​​a two-dimensional drawing in vector format. In the diagram, the functional attribute of object OJ-A1 is "member shape." If a member shape object is moved from its position, regardless of whether it is up, down, left, or right, it will no longer be able to represent its correct position or original shape within the building. Therefore, objects whose functional attribute is a component shape are associated with the immovable movement attribute.

[0038] Furthermore, the functional attribute of object OJ-A2 is a dimension line. Dimension lines are positioned to specify the measurement range for dimensions relative to the member shape. If such a dimension line object is moved from its position in any direction (up, down, left, or right), it may become impossible to correctly specify the measurement range for the member shape. Therefore, objects with the functional attribute "dimension line" are associated with the immovable movement attribute.

[0039] Furthermore, the functional attribute of object OJ-A3 is "member dimension." Member dimension indicates the dimensions of the member shape corresponding to the dimension line. If object OJ-A3, whose functional attribute is "member dimension," is moved from its position in any direction (up, down, left, or right), it may display dimensions corresponding to a dimension line different from the one it should originally correspond to, potentially impairing its functionality. Therefore, objects whose functional attribute is "member dimensions" are associated with the "immovable" movement attribute.

[0040] Furthermore, the functional attribute of object OJ-B in the same figure is height indication. Objects with a height indication functional attribute indicate height, so if they are moved vertically, they may no longer be able to properly indicate their original height. On the other hand, even if an object with a height indication functional attribute is moved horizontally, it can still properly indicate its height. Therefore, objects whose functional attribute is height are associated with the movement attribute for left and right movement.

[0041] Furthermore, the functional attribute of object OJ-C in the same figure is a longitudinal section specification. In other words, object OJ-C specifies a cross-section obtained by cutting the member longitudinally at the position indicated by object OJ-C. An object with such a functional attribute as a longitudinal section specification will no longer indicate the correct cutting position if moved horizontally, but as long as it is moved vertically, it will indicate the correct cutting position. Therefore, objects with a function attribute specifying a vertical section are associated with a vertical movement attribute.

[0042] Furthermore, the functional attribute of objects OJ-D1, OJ-D2, OJ-D3, and OJ-D4 in the same figure is "Component Information Presentation." Component Information Presentation is a function that displays information about a component, such as its name, model number, and dimensions (size). Objects with this functional attribute, "Component Information Presentation," can perform their function regardless of whether they are moved up, down, left, or right, as long as they are not placed too far away from the corresponding component. Therefore, objects whose functional attribute is "Material Information Display" are associated with the "Free Movement" movement attribute.

[0043] Furthermore, object OJ-D2 is associated with object OJ-E, which is a functional attribute of the leader line. When the corresponding object OJ-D2 is moved, object OJ-E of the leader line is moved in a way that allows it to indicate the positional relationship between the moved object OJ-D2 and the member. In this case, the position of the starting point (the end that points to the member) of object OJ-E of the leader line may be fixed, and it may be possible to move up, down, left, and right while maintaining a predetermined drawing angle θ (e.g., 60°) defined for the diagonal line drawn from the starting point. The drawing angle θ may be fixed to a single predetermined value, such as 60°, or it may be selectable from multiple options such as 45°, 60°, and 75°, or it may be possible to set any value without any particular constraints.

[0044] Furthermore, the functional attribute of object OJ-D5 is direction indication. An object with the functional attribute of direction indication can perform its function by correctly indicating direction regardless of whether it is moved up, down, left, or right. Therefore, objects with the functional attribute of direction indication are associated with the movement attribute of free movement.

[0045] In this way, each object placed in a vector-based two-dimensional drawing will have one of the following movement attributes, depending on its functional attributes: immovable, move left / right, move up / down, or move freely. The conversion unit 112 can associate movement attributes with each object by referring to the movement attribute table and identifying the movement attributes that correspond to the functional attributes of the object.

[0046] Furthermore, the conversion unit 112 sets a color for each object according to its movement attribute. The colors assigned to movement attributes are not particularly limited. For example, the conversion unit 112 may set green for objects with the immovable movement attribute, magenta for objects with the left / right movement attribute, cyan for objects with the up / down movement attribute, and blue for objects with the free movement attribute.

[0047] When the conversion unit 112 performs the above processing, the vector-format 2D drawing becomes one in which each of the placed objects has a color assigned according to its movement attribute.

[0048] The modification application unit 102 acquires a 2D drawing in raster format with colors set for the objects as described above and performs the processing up to the generation of movement instruction information. Therefore, the preprocessing unit 121 in the modification application unit 102 performs a raster conversion to convert the acquired vector-format 2D drawing into a raster-format 2D drawing. At this time, as described above, the preprocessing unit 121 performs the raster conversion in such a way that the color codes set for each object in the vector-format 2D drawing are carried over to the raster-format 2D drawing.

[0049] Next, the object detection unit 122 performs object detection on the raster-format 2D drawing obtained by the raster conversion of the preprocessing unit 121, which involves identifying objects in the raster-format 2D drawing and determining whether there are any overlaps between the identified objects (overlap determination).

[0050] Figure 4 shows the object detection results by the object detection unit 122. This figure provides an example of how the object detection results by the object detection unit 122 are shown on the object detection screen displayed on the user interface unit 104. The figure shows an excerpt of the object detection screen.

[0051] In the figure, objects OJA (OJA-1 to OJA-7) are placed in the region where an object is identified in a 2D raster drawing. Each object OJA has a region indicator frame BX that indicates the range corresponding to the object. The object detection unit 122 identifies each region corresponding to the region indicator frame BX as a single object.

[0052] Furthermore, in the same diagram, a tab TB is attached to each object OJA, showing the result of the determination of whether or not it overlaps with other objects. A tab TB containing the word "OK" indicates that the corresponding object OJA-1 has been determined not to be a duplicate of any other object OJA. Tabs containing the text "NG" (Not Good) indicate that the corresponding object OJA has been determined to be a duplicate of another object OJA.

[0053] Next, the movement setting unit 123 executes a process to set the destination of the objects so that any duplicate objects detected by the object detection unit 122 are eliminated. In this embodiment, the movement setting unit 123 selects an object to be set as the destination for movement from among objects that overlap with other objects, according to the following object selection rules. In the following explanation, objects that overlap with other objects and whose movement attribute is not immovable may also be referred to as duplicate objects.

[0054] First, the movement setting unit 123 sets the destination for each duplicate object detected by the object detection unit 122, one by one. In this process, the movement setting unit 123 prioritizes setting the destination for duplicate objects detected by the object detection unit 122, starting with those with a low degree of freedom of movement indicated by their corresponding movement attributes. Furthermore, if there are multiple duplicate objects with the same degree of freedom of movement indicated by their movement attributes, the movement setting unit 123 prioritizes setting the destination for the object with the largest area. Setting the destination for a single duplicate object is done under the assumption that other duplicate objects have already been moved to the destinations previously set for other duplicate objects.

[0055] As mentioned above, the movement attributes that allow the corresponding object to be moved are left-right movement, up-down movement, and free movement. Hereafter, unless otherwise specified, left-right movement and up-down movement may be referred to as unidirectional movement. Among these movable movement attributes, unidirectional movement (left-right movement and up-down movement) has a lower degree of freedom than free movement because movement in either the up-down or left-right direction is not possible. Although left-right movement and up-down movement have different directions of movement, they have the same degree of freedom. Therefore, the movement setting unit 123 sets the destination for duplicate objects detected by the object detection unit 122, starting with duplicate objects whose movement attribute is unidirectional. In this case, if there are multiple duplicate objects whose movement attribute is unidirectional, the destination is set in order from the largest to the largest, from among the multiple duplicate objects whose movement attribute is left-right movement or up-down movement. The movement setting unit 123 sets destinations for all duplicate objects whose movement attribute is unidirectional movement, and then sets destinations for duplicate objects whose movement attribute is free movement, starting with the largest object in size.

[0056] Furthermore, when the movement setting unit 123 sets the destination of duplicate objects in the order described above, it follows a destination setting rule that sets the destination of each duplicate object to the position that does not overlap with other objects and has the minimum movement distance. The movement distance may be the Euclidean distance or the Manhattan distance.

[0057] Referring to Figure 5, we will explain an example of setting the destination for duplicate objects, focusing on the destination setting rules. Figure 5(A) shows an excerpt of a 2D raster drawing. This 2D raster drawing shows an object OJA placed on a screen where pixels (px) are arranged in a matrix.

[0058] In the figure, two objects, OJA-11 and OJA-12, are placed in a 2D raster drawing. Object OJA-11 has a size of 5 (vertical) x 9 (horizontal) pixels, and object OJA-12 has a size of 3 (vertical) x 9 (horizontal) pixels.

[0059] Objects OJA-11 and OJA-12 are duplicates. Here, we will use the example of resolving the duplication by moving object OJA-11, since object OJA-11 is movable due to its free movement attribute.

[0060] In the figure, the movement setting unit 123 sets a reference point P for the object (duplicate object) OJA-11 that is the target of the movement setting. In the figure, the reference point P is the position corresponding to one pixel that corresponds to the top-left vertex of the rectangular object OJA-11. In the figure, the coordinates of the reference point P are represented as (Xp, Yp).

[0061] In the figure, the overlapping area BD indicates the range of the corresponding reference point P for each position of object OJA-11 that overlaps with object OJA-12. In order for object OJA-12 to not overlap with object OJA-12, the reference point P needs to be moved to a pixel px outside the overlapping area BD. The movement setting unit 123 may identify the pixel px outside the overlapping range BD that has the shortest movement distance of the reference point P from the position shown in the figure as the destination of the reference point P. Alternatively, to improve the readability of the drawing and to create spacing between objects, the destination of the reference point P may be determined by adding a predetermined additional movement distance Pa to the position of the pixel px with the minimum movement distance.

[0062] Figure 5(B) shows the state after moving object OJA-11 to a pixel px outside the overlapping area BD, where the reference point P in Figure 5(A) is located, and the pixel px is determined to be the destination with the minimum movement distance. In this case, the coordinates of reference point P are (Xp, Yp+2). Object OJA-11, moved in this way, is touching object OJA-12 but does not overlap with it.

[0063] Referring to Figure 6, a specific example of the procedure for setting the destination of duplicate objects by the move setting unit 123 will be described. Figure 6(A) shows an example of the results of object detection performed by the object detection unit 122 on a raster-format 2D drawing. In this figure, five objects OJA-21, OJA-22, OJA-23, OJA-24, and OJA-25 are arranged overlapping with other objects OJA. In this case, the object detection unit 122 detects that each of the five objects OJA-21, OJA-22, OJA-23, OJA-24, and OJA-25 overlaps with one or more of the other objects OJA.

[0064] The movement setting unit 123 determined, based on the color set for each object OJA, that the movement attribute of object OJA-21 is immovable, the movement attribute of object OJA-22 is vertical movement, the movement attribute of object OJA-23 is horizontal movement, the movement attribute of object OJA-24 is free movement, and the movement attribute of object OJA-25 is immovable.

[0065] In this case, the move setting unit 123 first selects object OJA-22 as the first target for setting the move destination from among the movable move attribute objects OJA-22, OJA-23, and OJA-24 according to the object selection rule. In other words, in this case, the movement setting unit 123 first selected objects OJA-22 and OJA-23, which have unidirectional movement attributes, from among the movable objects OJA-22, OJA-23, and OJA-24, and excluded object OJA-24, which has free movement attributes, from the selection candidates. Of the selected objects OJA-22 and OJA-23, the movement setting unit 123 selected the larger object OJA-22 as the target for setting the destination.

[0066] Object OJA-22, which has been designated as the destination object, overlaps with objects OJA-21, OJA-23, and OJA-25. In this case, the movement setting unit 123 identifies the position where the movement distance of the reference point P set for object OJA-22 is minimized, within a range of positions where object OJA-22 can be moved without overlapping with any of the other objects OJA, as the destination object position. As shown in Figure 6(B), the movement setting unit 123 moves object OJA-22 to the destination object position specified above. As object OJA-22 is moved in this way, it separates from objects OJA-23 and OJA-25, and its lower edge comes into contact with the upper edge of object OJA-21.

[0067] After moving object OJA-22 as described above, the movement setting unit 123 then selects object OJA-23 as the target for movement setting. Object OJA-23 is a duplicate object whose movement attribute is unidirectional and is treated as the next largest object after object OJA-22 in size.

[0068] Object OJA-23 overlaps with object OJA-21. Object OJA-23 has the movement attribute of moving left and right as a unidirectional movement. Therefore, the movement setting unit 123, in the state after moving object OJA-22 as shown in Figure 6(B), identifies the position where the movement distance of the reference point P is minimized within the range of positions in which object OJA-23 can be moved left and right without overlapping with any other object OJA as the destination object position. The movement setting unit 123 moves object OJA-22 to the destination object position. Figure 6(C) shows the state after moving object OJA-23 in accordance with the identified destination object position. In Figure 6(C), object OJA-23 has been moved to the left to a position where its right edge touches the left edge of object OJA-21.

[0069] As described above, moving objects OJA-22 and OJA-23 completes the movement of all objects with the unidirectional movement attribute. In this case, the only duplicate object with a movable movement attribute that has not yet been moved is object OJA-24, which has the free movement attribute. Therefore, the movement setting unit 123 selects object OJA-24 as the next target for movement and moves it in such a way that it does not overlap with any other object OJA. Object OJA-24 overlaps with object OJA-21. As shown in Figure 6(C), with objects OJA-22 and OJA-23 moved, the movement setting unit 123 identifies the position where the movement distance of the reference point P is minimized within the range of positions in which object OJA-23, which has the movement attribute of free movement, can be moved so as not to overlap with any of the other object OJA, as the destination object position. The movement setting unit 123 moves object OJA-24 to the identified destination object position. Figure 6(D) shows the state after moving object OJA-24 in accordance with the identified destination object position. In Figure 6(D), object OJA-24 has been moved downward to a position where its top edge touches the bottom edge of object OJA-21.

[0070] The movement setting unit 123 calculates the movement vector for each object OJA-22, OJA-23, and OJA-24 that has been moved to the target object position as described in Figures 6(A) to 6(D). As mentioned above, the movement vector may consist of vertical and horizontal movement distances. At this stage, the movement distance is indicated by the pixel position (pixel coordinates) and the number of pixels, corresponding to a 2D drawing in raster format.

[0071] The movement instruction information generation unit 124 converts the movement distance in the movement amount vector of the object OJA, which is obtained by the movement setting unit 123, from a value based on the number of pixels to a value based on dimensions, as described above. The movement instruction information generation unit 124 generates movement instruction information that shows the information of the movement amount vector in which the movement distance is indicated by dimensions.

[0072] The movement processing unit 113 in the drafting application unit 101 uses the movement instruction information generated by the movement instruction information generation unit 124 to execute a process to move objects in the corresponding vector-format 2D drawing. As a result, a vector-format 2D drawing is obtained that has been modified to eliminate object duplication. The modified vector-format 2D drawings can be printed, for example, and used by workers performing construction work at a construction site. Since the objects do not overlap in these printed 2D drawings, they are easy for workers to read and allow them to work efficiently without misinterpreting them.

[0073] [Example of processing procedure] Referring to the flowchart in Figure 7, an example of a processing procedure performed by the drafting application unit 101 in the drawing processing device 100 in relation to drawing dimension conversion will be described. The process shown in the figure may be triggered, for example, by an operation that specifies a 3D drawing to be converted and instructs a drawing dimension conversion.

[0074] Step S100: In the drafting application unit 101, the conversion unit 112 obtains a 3D drawing designated as the target for drawing dimension conversion from among the 3D drawings stored in the storage unit 103. Step S102: The conversion unit 112 converts the 3D drawing obtained in step S100 into a 2D drawing in vector format.

[0075] Step S104: The conversion unit 112 determines the movement attributes of each object in the vector-format two-dimensional drawing obtained in step S102. The conversion unit 112 can determine the movement attributes of an object by referring to the movement attribute table stored in the storage unit 103 and identifying the movement attributes associated with the functional attributes assigned to the object. Step S106: The conversion unit 112 sets a color for each object in the vector-format 2D drawing using a color code associated with the movement attribute determined in step S104.

[0076] Step S108: The conversion unit 112 stores the vector-format 2D drawing, in which each object has a color set by step S106, in the storage unit 103.

[0077] Referring to the flowchart in Figure 8, an example of a processing procedure performed by the modification application unit 102 and the drafting application unit 101 in the drawing processing device 100 in relation to duplicate correction of vector-format 2D drawings will be described. The process shown in the figure may be executed in response to an operation instructing the execution of duplicate correction by specifying the vector-format 2D drawing to be corrected. Alternatively, the process shown in the figure may be executed following the process in Figure 7, with the vector-format 2D drawing stored in step S108 as the target for correction.

[0078] First, let's explain the processing in the modification application unit 102. Step S200: In the modification application unit 102 of the drawing processing device 100, the preprocessing unit 121 obtains the vector-format 2D drawing to be modified from the storage unit 103. Step S202: The preprocessing unit 121 converts the vector-format 2D drawing obtained in step S200 into a raster-format 2D drawing.

[0079] Step S204: The object detection unit 122 performs object detection on the raster-format 2D drawing obtained in step S202. As described above, object detection includes identifying objects in the raster-format 2D drawing and determining whether the identified objects are duplicates. Object detection also includes determining movement attributes based on the color set for each object.

[0080] Step S206: The movement setting unit 123 executes a process to set the destination of the object so that the duplication of the object determined by the object detection in step S204 is eliminated.

[0081] Step S208: Based on the result of setting the destination for the object in step S206, the movement amount vector for each duplicate object is calculated from the position of the object before movement to the position of the destination (the position of the object at the destination). As described above, the movement amount vector includes the direction of movement and the distance of movement. The movement instruction information generation unit 124 may calculate the direction of movement and the distance of movement of the reference point P set for the duplicate object as the movement amount vector. As described above, the movement instruction information generation unit 124 converts the destination object position indicated by the pixel position and the movement distance determined by the number of pixels into values ​​based on dimensions used in a vector-format two-dimensional drawing.

[0082] Step S210: The movement instruction information generation unit 124 generates movement instruction information that instructs the movement of each object to be moved, which was calculated in step S208. Step S212: The movement instruction information generation unit 124 instructs the drafting application unit 101 to modify the vector-format 2D drawing to be modified. When giving the modification instruction, the movement instruction information generation unit 124 passes the movement instruction information generated in step S210 to the drafting application unit 101.

[0083] Next, an example of a processing procedure executed by the drafting application unit 101 will be described. Step S300: In the drafting application unit 101, the movement processing unit 113 acquires the movement instruction information passed along with the modification instruction from the modification application unit 102 in step S212. Step S302: The movement processing unit 113 uses the movement instruction information obtained in step S212 to execute a process to move objects in the vector-format 2D drawing to be modified. In other words, the movement processing unit 113 reads the vector-format 2D drawing to be modified stored in the storage unit 103. Based on the destination object position indicated in the movement instruction information, the movement processing unit 113 identifies the object to be moved from among the objects arranged in the vector-format 2D drawing read from the storage unit 103, and executes a process to move the identified object to be moved according to the corresponding movement amount vector. Through the process in step S302, the vector-format 2D drawing to be modified is modified so that object duplication is eliminated. Step S304: The movement processing unit 113 stores the vector-format 2D drawing modified in step S302 in the storage unit 103. At this time, the movement processing unit 113 may store the vector-format 2D drawing modified in step S302 in the storage unit 103 as separate data from the vector-format 2D drawing before modification, or it may store it by overwriting the vector-format 2D drawing before modification.

[0084] Referring to the flowchart in Figure 9, an example of the processing procedure for setting the destination as step S206 in Figure 8 will be explained. Step S400: The movement setting unit 123 checks for the presence of duplicate objects with unidirectional movement attributes and no destination set, based on the results of the object duplication determination and movement attribute determination in step S204 in Figure 8, and the processing results from steps S404 to S408. Step S402: Based on the confirmation result of step S400, the movement setting unit 123 determines whether or not there are duplicate objects whose movement attribute is unidirectional and whose destination is not set. Step S404: If it is determined that there are duplicate objects with a unidirectional movement attribute and no destination set, the movement setting unit 123 selects the largest duplicate object among the duplicate objects with a unidirectional movement attribute and no destination set as the object to be set as the destination. Step S406: The movement setting unit 123 determines the destination object position for the target object selected in step S404, as explained in Figure 6. Step S408: The movement setting unit 123 moves the target object to the position identified in step S406. The processing in steps S406 and S408 described above has resulted in setting the destination for one of the objects whose movement attribute is set to unidirectional movement. After processing in step S408, processing returns to step S400.

[0085] Step S410: Once the destination settings have been completed for all duplicate objects with the movement attribute set to unidirectional movement, step S402 determines that there are no duplicate objects with the movement attribute set to unidirectional movement but no destination set. In this case, the movement setting unit 123 checks for the presence of any duplicate objects with the movement attribute set to free movement but no destination set, based on the results of the object duplication determination and movement attribute determination in step S204 in Figure 8, and the processing results from steps S414 to S418. Step S412: Based on the confirmation results of step S410, the movement setting unit 123 determines whether or not there are duplicate objects with the movement attribute set to free movement and no destination set. Step S414: If it is determined that there are duplicate objects with the movement attribute set to free movement and no destination set, the movement setting unit 123 selects the largest duplicate object among the duplicate objects with the movement attribute set to free movement and no destination set as the target object. Step S416: The movement setting unit 123 determines the destination object position for the target object selected in step S414, as explained in Figure 6. Step S418: The movement setting unit 123 moves the target object to the position identified in step S416. As a result of the processing in steps S416 and S418 described above, the destination has been set for one of the objects whose movement attribute is set to free movement. After processing in step S418, processing returns to step S410. Then, once the destination settings have been completed for all duplicate objects with the "free movement" attribute, step S412 determines that there are no duplicate objects with the "free movement" attribute that do not have a destination set. In this case, the process shown in the figure ends, and the process in step S208 of Figure 8 is executed.

[0086] Figure 10 shows a specific example of duplicate correction in a 2D drawing. Figure 10(A) shows the 2D drawing before duplicate correction, and Figure 10(B) shows the 2D drawing after duplicate correction. In Figure 10(A), before the duplication correction, the component information display object OJA-31 is duplicated with the dimension line object OJA-33 and the leader line object OJA-34. The component information display object OJA-31 has a corresponding leader line object OJA-32 attached to it. Since the functional attribute of object OJA-31 is component information display, its movement attribute is free movement.

[0087] In Figure 10(B), which shows the state after duplication correction, the object OJA-31, which displays the member information, has been moved to the right in the left-right direction so as not to overlap with the dimension line object OJA-33, and has been repositioned in the up-down direction by a predetermined amount of movement. The component information display object OJA-31 is accompanied by a leader line object OJA-32. The leader line object OJA-32 is movable while maintaining its starting point and the angle of the diagonal line. In the example shown in the figure, the diagonal line is extended until the component information display object OJA-31 does not overlap with other objects, and the leader line object OJA-32 is moved (repositioned) so that the horizontal line portion is drawn out from the extended diagonal line. The component information display object OJA-31 is moved so that it is positioned corresponding to the horizontal line portion of the repositioned leader line object OJA-32.

[0088] Figure 11 shows another specific example of duplicate correction in a 2D drawing. Figure 11(A) shows the 2D drawing before duplicate correction, and Figure 11(B) shows the 2D drawing after duplicate correction. In Figure 11(A), before the duplication correction, the component information object OJA-41 overlaps with the dimension line object OJA-43 in the area above the component shape object OJA-44. The component information object OJA-41 has a corresponding leader line object OJA-42 attached to it.

[0089] After the duplication correction, the object OJA-41, which displays the component information, is moved to the lower side of the component shape object OJA-44, as shown in Figure 11(B). Along with this movement of the component shape object OJA-44, the leader line object OJA-42, which is attached to the component shape object OJA-44, is moved (repositioned) in a state in which its starting point is fixed, but is inverted with respect to a horizontal line passing through the starting point relative to its position state before the duplication correction in Figure 11(A).

[0090] Figure 12 shows another specific example of duplicate correction in a 2D drawing. Figure 12(A) shows the 2D drawing before duplicate correction, and Figure 12(B) shows the 2D drawing after duplicate correction. In Figure 12(A), before the duplication correction, the member information display object OJA-51 overlaps with the longitudinal section specification object OJA-53. The member information display object OJA-51 has an associated leader line object OJA-51. Furthermore, in the state before the duplication correction shown in Figure 12(A), objects OJA-55 and OJA-56, which specify the vertical section, are duplicated.

[0091] After the duplication correction, object OJA-51, which is a functional attribute for presenting component information, is positioned below object OJA-53, as shown in Figure 12(B). In this case, the vertical position of object OJA-53 after the movement corresponds to the height that does not overlap with object OJA-53 and is the height that minimizes the distance moved from the height shown in Figure 12(A). In this process, as the height of object OJA-51 is moved downwards, the leader line object OJA-52 attached to object OJA-51 shortens while maintaining its starting point position and diagonal line angle. As a result, the horizontal line of object OJA-52 gradually moves to the left in the left-right direction. Object OJA-51 is positioned corresponding to the horizontal line. Therefore, the left-right position of object OJA-51 shown in Figure 12(B) is moved to the left from its state before the movement shown in Figure 12(A).

[0092] Furthermore, after the duplication correction, object OJA-55, which specifies the vertical section, moves upward, as shown in the change from Figure 12(A) to Figure 12(B), thereby eliminating the duplication with object OJA-56.

[0093] <Second Embodiment> Next, a second embodiment will be described. In the first embodiment described above, the conversion unit 112 of the drafting application unit 101 was configured to set a specific color for each movement attribute of an object in a vector-format two-dimensional drawing. In contrast, the conversion unit 112 of this embodiment does not associate a specific color with each movement attribute, but rather associates a different color range with each movement attribute, and then sets a different color for each object within the associated color range.

[0094] As a specific example, the conversion unit 112 of this embodiment divides the color range that can be set for an object into multiple color range divisions PT (1st color range division PT-1 to 4th color range division PT-4) corresponding to each movement attribute (immovable, left / right movement, up / down movement, free movement). Then, the conversion unit 112 sets a different color for each object having the corresponding movement attribute within one color range division PT. For example, for objects with the immovable movement attribute, a different color code will be assigned from among the color codes included in the first color range division PT-1.

[0095] Thus, the color codes set for each object in a vector-based 2D drawing are maintained in the raster-based 2D drawing obtained through raster conversion. For example, in a 2D drawing in raster format, if there are many overlapping objects with the same movement attribute, and these objects with the same movement attribute have the same color, the probability of an error occurring where the object detection unit 122 cannot properly recognize the object increases. Therefore, as in this embodiment, by setting different color codes for objects with the same movement attribute, the object detection unit 122 can separate and detect duplicate objects using the color code set for each object. This makes it possible to suppress the occurrence of errors in object recognition.

[0096] Furthermore, when assigning colors to objects with the same movement attribute, it is acceptable to use color codes within a color range where the difference in color may not be clearly discernible to some people. Specifically, visually, objects with the immovable movement attribute appear green, objects with the left / right movement attribute appear magenta, objects with the up / down movement attribute appear cyan, and objects with the free movement attribute appear blue, but the actual color codes assigned to each object under each movement attribute may be set to be different. For example, when working on a construction site using color printouts of modified vector-format 2D drawings instead of black and white, the printout should reflect the colors set for the objects. In this case, if objects with the same movement attribute appear almost the same color visually but have different color codes assigned to them, the worker will see the objects color-coded according to their movement attribute in the printed 2D drawing. Although the movement attribute itself is not directly related to the worker's construction work, the movement attribute corresponds to one or more specific functional attributes. Therefore, the worker can roughly determine the function of an object by the color coding of the objects in the printed 2D drawing.

[0097] <Third Embodiment> Next, a third embodiment will be described. A raster-format 2D drawing obtained by converting a vector-format 2D drawing to a raster drawing will be considerably large, for example, in terms of paper size, such as A2 or A3. If the modification application unit 102 performs preprocessing, object detection, destination setting, etc. on such a large raster-format 2D drawing, the processing load may become considerably heavy, or the accuracy of object detection may decrease due to a decrease in the resolution of the drawing.

[0098] Therefore, the conversion unit 112 of this embodiment may divide the vector-format 2D drawing to be modified. Specifically, the conversion unit 112 may, for example, divide the vector-format 2D drawing into four parts using dividing lines that divide the top and bottom and left and right sides into two equal parts. The number of divisions of the vector-format 2D drawing is not particularly limited. The subsequent processing by the modification application unit 102 may be performed on the divided vector-format 2D drawings. This reduces the processing load on the modification application unit 102.

[0099] However, if a 2D vector drawing is simply divided into four equal parts vertically and horizontally, as described above, the relationship between the dividing lines and the placement of objects is not considered, and some objects may be cut off as a result of the division. These cut objects may not be correctly recognized as objects by object detection. Therefore, the conversion unit 112 may set dividing lines in the vector-format 2D drawing so that objects are not cut, and divide the vector-format 2D drawing along the set dividing lines.

[0100] Figure 14 shows an example of setting dividing lines in this embodiment. The figure shows the entire vector-format 2D drawing PIC. In the 2D drawing PIC, there are four object group areas AR-1, AR-2, AR-3, and AR-4, which are formed by the arrangement of objects. In the vector-format 2D drawing PIC, no objects are placed in areas other than object group areas AR-1, AR-2, AR-3, and AR-4. In this case, the conversion unit 112 sets dividing lines DV in the areas where no objects are placed in the 2D drawing PIC, as shown in the figure, and divides along the dividing lines DV. By performing the division in this way, it is possible to prevent objects from being cut.

[0101] In each of the above embodiments, the function of the conversion unit 112 may be provided by the modification application unit 102.

[0102] The modification application unit 102 may be configured to have the function of a movement processing unit 113. In this case, the modification application unit 102 may reversibly convert the raster format 2D drawing obtained by the raster conversion of the preprocessing unit 121 into a vector format. In the modification application unit 102, the movement processing unit 113 may perform a process to move an object using the movement instruction information generated by the movement instruction information generation unit 124, targeting the vector format 2D drawing obtained by the conversion.

[0103] Furthermore, the drafting application unit 101 may include the configuration of the modification application unit 102. In other words, the drafting application may be configured to have the functionality of a modification application.

[0104] Alternatively, the drawing processing device 100 may perform the above-described processing by recording a program for realizing the functions of the drawing processing device 100 on a computer-readable recording medium, loading the program recorded on this recording medium into a computer system, and executing it. Here, "loading the program recorded on the recording medium into a computer system and executing it" includes installing the program into the computer system. Here, "computer system" includes hardware such as the OS and peripheral devices. Furthermore, "computer system" may include multiple computer devices connected via a network including communication lines. The recording medium also includes internal or external recording media accessible from a distribution server for distributing the program.

[0105] The Sustainable Development Goals (SDGs) are 17 international goals adopted at the UN Summit in September 2015. The drawing processing device 100 according to this embodiment can contribute to achieving some of the 17 SDGs, such as Goal 9, "Build resilient infrastructure, promote inclusive and sustainable industrialization and foster innovation." [Explanation of Symbols]

[0106] 100 Drawing processing unit, 101 Drafting application unit, 102 Modification application unit, 103 Storage unit, 104 User interface unit, 111 Drafting processing unit, 112 Conversion unit, 113 Movement processing unit, 121 Preprocessing unit, 122 Object detection unit, 123 Movement setting unit, 124 Movement instruction information generation unit

Claims

1. An object detection unit that detects objects contained in a raster-format drawing obtained by converting a vector-format drawing containing objects into a raster-format drawing, and determines movement constraint conditions determined according to the attributes of each detected object, If objects detected by the object detection unit are duplicates, the movement setting unit selects the objects to be moved in order from those with the lowest degree of freedom of movement based on the movement constraints set for each object, and sets the destination for each selected object to be moved so as not to overlap with other objects. A movement instruction information generation unit generates movement instruction information to move an object in the vector-format drawing according to the destination of the object set by the movement setting unit. A drawing processing device equipped with the following features.

2. The movement setting unit, when there are objects with the same degree of freedom of movement under the movement constraints, selects the object with the larger area first as the target for movement setting. The drawing processing apparatus according to claim 1.

3. The movement setting unit sets the destination as the position with the shortest movement distance, or a position located at a predetermined distance further from the position with the shortest movement distance, from among the positions where the object to be moved does not overlap with other objects. The drawing processing apparatus according to claim 1 or 2.

4. The vector-format drawing is converted to a raster-format drawing after a predetermined color is assigned to each object according to the movement restriction pattern determined by the attributes. The object detection unit determines the movement constraint conditions based on the color of the object being drawn on the object. The drawing processing apparatus according to claim 1 or 2.

5. The object detection unit detects the object using a trained model that has been trained by inputting images of the object as training data. The drawing processing apparatus according to claim 1 or 2.

6. An object detection step involves converting a vector-format drawing containing objects into a raster format, detecting objects contained in the resulting raster-format drawing, and determining movement constraint conditions determined according to the attributes of each detected object. If objects detected in the object detection step are duplicates, the movement setting step selects the objects to be moved in order from those with the lowest degree of freedom of movement based on the movement constraints set for each object, and sets the destination for each selected object to be moved so as not to overlap with other objects. A movement instruction information generation step generates movement instruction information to move an object in the vector-format drawing according to the destination of the object set in the movement setting step. A drawing processing method that includes this.

7. Computers as drawing processing devices, An object detection unit that detects objects contained in a raster-format drawing obtained by converting a vector-format drawing containing objects to a raster-format drawing, and determines movement constraint conditions determined according to the attributes of each detected object. If objects detected by the object detection unit are duplicates, the movement setting unit selects the objects to be moved in order from those with the lowest degree of freedom of movement based on the movement constraints set for each object, and sets the destination for each selected object to be moved so as not to overlap with other objects. Movement instruction information generation unit generates movement instruction information to move the object in the vector-format drawing according to the destination of the object set by the movement setting unit. A program designed to function as such.