CN114549776A - Rectangular family batch placement method based on Dynamo and Revit - Google Patents

Rectangular family batch placement method based on Dynamo and Revit Download PDF

Info

Publication number
CN114549776A
CN114549776A CN202210097416.4A CN202210097416A CN114549776A CN 114549776 A CN114549776 A CN 114549776A CN 202210097416 A CN202210097416 A CN 202210097416A CN 114549776 A CN114549776 A CN 114549776A
Authority
CN
China
Prior art keywords
list
rectangular
point
family
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210097416.4A
Other languages
Chinese (zh)
Other versions
CN114549776B (en
Inventor
刘聪
杨丕华
刘宇丰
胡静
李滔
张彦辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Fifth Bureau Decoration Curtain Wall Co Ltd
Original Assignee
China Construction Fifth Bureau Decoration Curtain Wall Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Construction Fifth Bureau Decoration Curtain Wall Co Ltd filed Critical China Construction Fifth Bureau Decoration Curtain Wall Co Ltd
Priority to CN202210097416.4A priority Critical patent/CN114549776B/en
Publication of CN114549776A publication Critical patent/CN114549776A/en
Application granted granted Critical
Publication of CN114549776B publication Critical patent/CN114549776B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention discloses a rectangular family batch placement method for Dynamo and Revit, which comprises the steps of sorting drawing information containing rectangular family outline information; establishing a rectangular family model; separating the rectangular family outline and the direction determination line according to a drawing, and recombining and removing the weight of the separated rectangular family outline; creating a rectangular outline short side connecting line according to the generated polygon; generating a rectangular group placing point according to the separated direction determination line and the created short side connecting line of the rectangular outline; the geometric center point of the rectangular outline and the generated rectangular family placing points are inverted in groups, then the rectangular families are placed in batches, and corresponding family parameters are configured; the invention has high modeling efficiency, can be placed and modified in batches, and has important significance for modeling of decoration models and decoration components.

Description

Dynamo and Revit-based rectangular family batch placement method
Technical Field
The invention belongs to the field of building engineering modeling, and particularly relates to a rectangular family batch placement method based on Dynamo and Revit.
Background
BIM is called Building Information model (Building Information Modeling) and is based on various data of Building engineering, and the Building Information model is built and various real simulations are performed through digital Information. At present, Revit is software which is most applied in BIM technology, Dynamo is a programming tool based on the parameterization design of Revit, the program of the Revit is very flexible, and functions which cannot be realized by Revit can be realized through various batteries or codes.
However, at the present stage, Revit cannot place decoration models in batch, and usually some two-division software is used for batch processing, but the two-division software has a small application range, an inaccurate placing direction and no input of specified parameters, and finally, even if batch processing is possible, correction is performed on components with wrong placement and relevant parameters are supplemented, and the method at the present stage cannot meet the requirements of design modeling.
Disclosure of Invention
The invention aims to provide a Dynamo and Revit-based rectangular family batch placement method, which can be used for quickly placing a model containing a rectangular family in batches.
The rectangular family batch placement method based on Dynamo and Revit provided by the invention comprises the following steps:
s1, obtaining design drawing information, separating graphic information containing rectangular group outlines, adding direction determination lines to rectangular groups with directions, and establishing an initial rectangular group model;
s2, picking up graphic information of the rectangular group contour, and separating the multiple line segments from the line segments to obtain a rectangular group contour list and a direction determination line list;
s3, sequentially splitting each multi-segment line in the rectangular group profile list into single line segments, and sequentially extracting curve starting points of all line segments in the obtained multi-segment line segment three-level list to obtain a line segment starting point three-level list;
s4, sequentially carrying out polygon recombination on all point positions in each secondary list in the three-level list of the line segment starting points to obtain a polygon graph list, and sequentially extracting midpoints of polygons in each item in the obtained polygon graph list to finally obtain a polygon midpoint list;
s5, performing tolerance judgment on all points in the polygon midpoint list to obtain each point location in the polygon midpoint duplicate removal list, and obtaining indexes in the polygon midpoint list where each point location in the polygon midpoint duplicate removal list is located to finally obtain an index value list;
s6, sequentially deriving graphs of corresponding index values in the polygonal graph list by combining all index values in the index value list, and sequentially splitting all the multiple lines in the obtained polygonal graph duplicate removal list to finally obtain a multiple line segment three-level list;
s7, sequencing each line segment in each secondary list of the multi-line segment tertiary list according to the length of the line segment, and sequentially and independently extracting a first item and a second item in each secondary list of the obtained line segment sequencing tertiary list to finally obtain a short edge segment list I and a short edge segment list II;
s8, sequentially extracting the midpoint positions of the line segments in the first short edge line segment list and the second short edge line segment list, sequentially and correspondingly connecting the point positions in the obtained first short edge midpoint list and the second short edge midpoint list with the point positions in the polygon midpoint duplicate removal list, and finally obtaining a first rectangular outline short edge connecting line list and a second rectangular outline short edge connecting line list;
s9, performing intersection analysis on each line segment in the first rectangular outline short-edge connecting line list and all items in the direction judging line list, and performing total judgment on each secondary list in the obtained three-level list of intersection results, wherein if all the items in the secondary list are all or not, the output result is yes, otherwise, the output result is no, and a judging result list is obtained after sequential judgment;
s10, combining all items in the rectangular outline short side connecting line list I and the rectangular outline short side connecting line list II in sequence to generate a rectangular outline short side connecting line combination list, then converting all items in the judgment result list, converting the item with the output result of yes into an index value 1, converting the item with the output result of no into an index value 0, and finally obtaining a judgment index value list;
s11, extracting each secondary list in the rectangular outline short side connecting line combination list through judging each index value of the index value list, extracting each line segment in the obtained rectangular outline short side connecting line list III, and extracting a corresponding direction vector to finally obtain a direction vector list;
s12, obtaining an offset line segment after each point position in the polygon midpoint duplicate removal list and each direction vector in the direction vector list correspond to a preset numerical value in sequence, and obtaining an offset line segment list after sequential operation. Sequentially extracting line segment end points of all line segments in the offset line segment list to obtain a rectangular family placement point list;
s13, combining the polygon midpoint duplicate removal list and the rectangular group placing point list in a row list mode to obtain a combined point location three-level list, and inverting the obtained combined point location three-level list to obtain a placing point location three-level list;
s14, sequentially extracting the lengths of the line sections in the three-level list of the multi-line section information, and deriving the longest length and the shortest length in each two-level list in the list to obtain a longest length list and a shortest length list; and finally, sequentially inputting the longest length list and the shortest length list into corresponding family parameters of all the rectangular families of the rectangular family list, and sequentially placing the rectangular families in batches.
Step S1, including sorting the drawing containing the information of the rectangle group outline, separating all the figures containing the rectangle group outline, and if the rectangle group is a rectangle group with a direction, adding a corresponding direction determination line in each group of the rectangle figures; establishing an initial rectangular family model, wherein the establishment of two self-adaptive point locations comprises the step of establishing two self-adaptive point locations, and the initial point of the self-adaptive point location of the initial rectangular family model is positioned at the geometric midpoint of the rectangular outline of the initial rectangular family model; after the end point is positioned at the right rectangular group placing point, the initial point moves a preset displacement point along the connecting line direction of the short side of the right rectangle in the rectangular outline, and the end point is used as a rectangular group placing point; and setting the numerical values of the Z axes of all the self-adaptive point positions as initial plane numerical values zero, and setting corresponding family parameters.
Family parameters including length and width.
Step S2 includes picking up graphic information of the outline of the rectangle, converting the graphic information into a graphic list, converting the converted graphic list into a text list, and determining whether the text list contains Poly text information, where output information is true when the text list contains Poly text information, and False when the text list does not contain Poly text information; obtaining a judgment result list, and separating the graph list through the judgment result list to obtain a rectangular family outline list and a direction judgment line list; the rectangular family outline list includes all the multi-segment lines, and the direction determination line list includes all the segment lines.
And step S4, the polygon reorganization comprises connecting each point in the current list with the next point of the point by a line segment, connecting the last point of the list with the initial point in the list by the line segment after connecting in sequence, and finally obtaining the end-to-end connected polygon.
And (4) judging tolerance to measure the distances between the current point and the points in the residual list in sequence, and then deleting the points with the distances within the tolerance range to obtain each point position in the polygon midpoint duplicate removal list.
Step S7, obtaining each line segment in each secondary list in the multi-line segment tertiary list according to the length of the line segment, and performing ascending sorting to obtain a line segment sorting tertiary list; and sequentially and independently extracting the first item and the second item in each secondary list in the line segment sorting tertiary list to finally obtain a short edge line segment list I and a short edge line segment list II.
The step S8 includes sequentially extracting the midpoint positions of each line segment in the short edge line segment list I and the short edge line segment list II to obtain a short edge midpoint list I and a short edge midpoint list II; and then, sequentially connecting each point location in the short side middle point list I and the short side middle point list II with each point location in the polygon middle point duplicate removal list to form a line, and finally obtaining a rectangular outline short side connecting line list I and a rectangular outline short side connecting line list II.
Step S9, the intersection analysis specifically includes determining whether the first input geometric figure item intersects the second input geometric figure item, and when the first input geometric figure item intersects the second input geometric figure item, the output information is True, and when the first input geometric figure item does not intersect the second input geometric figure item, the output information is False.
Step S9, the total-False determination specifically includes querying whether all items in the current list are False items, where the output information is True when all items in the list are False items, and the output information is False when other items except the False items are included in the list.
According to the rectangle family batch placement method based on Dynamo and Revit, the geometric center point of the rectangular outline and the generated rectangle family placement point are grouped and inverted, then the rectangle families are placed in batch, and corresponding family parameters are configured. The invention has high modeling efficiency, can be placed and modified in batches, and has important significance for modeling of decoration models and decoration components.
Drawings
FIG. 1 is a schematic flow diagram of the process of the present invention.
FIG. 2 is a schematic diagram of the geometry of the rectangular family of the process of the present invention.
Fig. 3 is a drawing of the lamp finished in step S1 according to the embodiment of the present invention.
Fig. 4 is a schematic structural diagram of the fire hydrant after being finished in step S1 according to the embodiment of the present invention.
FIG. 5 is a schematic view of a rectangular family of fire hydrants according to an embodiment of the present invention.
Fig. 6 is a schematic structural view of the decoration post finished in step S1 according to the embodiment of the present invention.
Fig. 7 is a schematic view of the parking stall line structure sorted in step S1 according to the embodiment of the present invention.
Fig. 8 is a schematic structural view of the crash barrier finished in step S1 according to the embodiment of the present invention.
Fig. 9 is a schematic view of a rectangular family structure of a lamp according to an embodiment of the invention.
Fig. 10 is a schematic view of a rectangular family structure of decorative columns according to an embodiment of the present invention.
Fig. 11 is a schematic view of a rectangular group of parking space lines according to an embodiment of the present invention.
Fig. 12 is a schematic view of a rectangular family structure of a crash barrier in accordance with an embodiment of the present invention.
Fig. 13 is a schematic structural view of a rectangular group of lamps according to an embodiment of the present invention.
FIG. 14 is a schematic structural diagram of a fire hydrant in a rectangular cluster according to an embodiment of the present invention.
FIG. 15 is a schematic structural diagram of a rectangular family of decorative posts according to an embodiment of the present invention.
Fig. 16 is a schematic structural diagram of the rectangular group of vehicle location lines according to the embodiment of the invention.
Fig. 17 is a schematic structural view of a rectangular cluster of crash barriers according to an embodiment of the present invention.
Detailed Description
FIG. 1 is a schematic flow chart of the method of the present invention: the rectangular family batch placement method based on Dynamo and Revit provided by the invention comprises the following steps:
s1, obtaining design drawing information, separating graphic information containing rectangular group outlines, adding direction determination lines to rectangular groups with directions, and establishing an initial rectangular group model;
s2, picking up graphic information of the rectangular group contour, and separating the multiple line segments from the line segments to obtain a rectangular group contour list containing all the multiple line segments and a direction determination line list containing all the line segments;
s3, sequentially splitting each multi-segment line in the rectangular group profile list into single line segments, and sequentially extracting curve starting points of all line segments in the obtained multi-segment line segment three-level list to obtain a line segment starting point three-level list;
s4, sequentially carrying out polygon recombination on all point positions in each secondary list in the three-level list of the line segment starting points, sequentially extracting midpoints of polygons in each item in the obtained polygon graph list, and finally obtaining a polygon midpoint list; the polygon recombination comprises connecting each point in the current list with the next point of the point by a line segment, connecting the last point of the list with the initial point in the list by the line segment after connecting in sequence, and finally obtaining the end-to-end connected polygon;
s5, tolerance judgment is carried out on all points in the polygon midpoint list, the tolerance judgment is that the distances between the current point and the points in the remaining list are measured in sequence, then the points with the distances within the tolerance range are deleted, all the point positions in the polygon midpoint duplicate removal list are obtained, indexes in the polygon midpoint list where all the point positions in the polygon midpoint duplicate removal list are located are obtained, and finally an index value list is obtained;
s6, sequentially deriving graphs of corresponding index values in the polygonal graph list by combining all index values in the index value list, and sequentially splitting all the multiple lines in the obtained polygonal graph duplicate removal list to finally obtain a multiple line segment three-level list;
s7, sequentially sorting the line segments in each secondary list of the multi-line segment tertiary list in an ascending order according to the length of the line segments, sequentially and independently extracting a first item and a second item in each secondary list through a Dynamo tool in the obtained line segment sorting tertiary list, and finally obtaining a short edge line segment list I and a short edge line segment list II;
s8, sequentially extracting the midpoint positions of the line segments in the first short edge line segment list and the second short edge line segment list, sequentially and correspondingly connecting the point positions in the obtained first short edge midpoint list and the second short edge midpoint list with the point positions in the polygon midpoint duplicate removal list, and finally obtaining a first rectangular outline short edge connecting line list and a second rectangular outline short edge connecting line list;
s9, performing intersection analysis on each line segment in the first rectangular outline short-edge connecting line list and all items in the direction judging line list, and performing total judgment on each secondary list in the obtained three-level list of intersection results, wherein if all the items in the secondary list are all or not, the output result is yes, otherwise, the output result is no, and a judging result list is obtained after sequential judgment; the intersection analysis comprises judging whether the geometric figure item input by the first user is intersected with the geometric figure item input by the second user, wherein when the geometric figure item input by the first user is intersected with the geometric figure item input by the second user, the output information is True, and when the geometric figure item input by the first user is not intersected with the geometric figure item input by the second user, the output information is False; the total or non-total judgment comprises the steps of inquiring whether all the items in the current list are False items, wherein when all the items in the list are False items, the output information is True, and when other items except the False items are included in the list, the output information is False items;
s10, combining all items in the rectangular outline short side connecting line list I and the rectangular outline short side connecting line list II in sequence to generate a rectangular outline short side connecting line combination list, then converting all items in the judgment result list, converting the item with the output result of yes into an index value 1, converting the item with the output result of no into an index value 0, and finally obtaining a judgment index value list;
s11, extracting each secondary list in the rectangular outline short side connecting line combination list by judging each index value of the index value list, obtaining each line segment in the third rectangular outline short side connecting line list, and finally obtaining a direction vector list by extracting a corresponding direction vector;
s12, obtaining a migration line segment after each point position in the polygon midpoint duplicate removal list, each direction vector in the direction vector list and a number with a value of 100 are sequentially corresponding, and obtaining a migration line segment list after sequential operation. Sequentially extracting line segment end points of all line segments in the offset line segment list to obtain a rectangular family placement point list;
s13, combining the polygon midpoint duplicate removal list and the rectangular group placing point list in a row list mode to obtain a combined point location three-level list, and inverting the obtained combined point location three-level list to obtain a placing point location three-level list;
s14, sequentially extracting the lengths of the line sections in the three-level list of the multi-line section information, and independently exporting the longest length and the shortest length in each two-level list in the list to obtain a longest length list and a shortest length list; and finally, sequentially inputting the longest length list and the shortest length list into corresponding family parameters of all the rectangular families of the rectangular family list, and sequentially placing the rectangular families in batches.
In this embodiment:
the adaptive model represents a model built by an adaptive metric conventional model template in the Revit family template. The adaptive model point location represents an adaptive placement point location set in the adaptive metric conventional model. The rectangle family represents an adaptive model in which the plane figure is a rectangle. The family of oriented rectangles represents an adaptive model whose plan view is rectangular, and has a model specifying the direction of placement, such as parking space, fire hydrant. The family of rectangles without direction represents an adaptive model in which the plane figure is rectangular, but does not have a model specifying the direction of placement, such as a rectangular luminaire, a rectangular decorative post. The connecting line of the short sides of the rectangular outline represents the line segment connecting the geometric midpoint of the rectangular outline and the midpoint of the short side of the rectangular outline. The direction determination line represents a line segment intersecting a line connecting the short sides of the right rectangle in the rectangle outline when the rectangle family is placed right (i.e., the long side is parallel to the X axis and the short side is parallel to the Y axis), and the line segment is located within the rectangle outline and does not intersect a line connecting the short sides of the left rectangle in the rectangle outline. A list represents a sequence of ordered variable elements, each element or item in the list is assigned a number or index, the first item index is 0, the second item index is 1, and so on. For convenience of indicating a list with a bracket and a comma separating the list, for example, the list [ a, P ] indicates that the item value with an index value of 0 in the list is a and the item value with an index value of 1 is P. A tertiary list is defined as a list that is tertiary if the corresponding item in the list is a single list. For example, a three-level list [ [ A, P ], [ A, D ] ] indicates that the item value with index value 0 in the list is list [ A, P ], and the item value with index value 1 is list [ A, D ].
For a better understanding of the invention, the method according to the invention will be explained in more detail below with reference to the accompanying drawings and the accompanying table of examples.
Fig. 2 is a schematic diagram of the geometric structure of the rectangle family according to the method of the present invention, where 1 is the midpoint of the short side, 2 is the connection line of the short sides of the rectangle outline, 3 is the outline of the rectangle family, 4 is the geometric midpoint of the rectangle outline, 5 is the midpoint of the long side, and 6 is the direction determination line; step one, a CAD drawing containing information of the rectangle group outlines is arranged, as shown in fig. 3, the drawing of the lamp which is arranged in step S1 according to the embodiment of the present invention is shown, as shown in fig. 3, all the figures containing the rectangle group outlines are separated, if the rectangle group is a rectangle group with a direction, a corresponding direction determination line needs to be added in each group of rectangle figures, as shown in fig. 4, a schematic diagram of a fire hydrant structure which is arranged in step S1 according to the embodiment of the present invention is shown. A rectangular family model is established through a Revit family function, the rectangular family model only establishes two self-adaptive point locations, and the initial point of the self-adaptive point location of the rectangular family model is located at the geometric midpoint of the rectangular outline of the rectangular family model. The end point is located at a point position, namely a rectangular group placing point, after the rectangular group is placed, and the initial point moves 100mm along the direction of the connecting line of the short sides of the right rectangle in the rectangular outline, as shown in fig. 5, which is a schematic diagram of the rectangular group of the fire hydrant according to the embodiment of the invention, and in fig. 5, a schematic diagram of the rectangular group placing point at the bottom of the fire hydrant is shown. And the numerical values of the Z axes of all the self-adaptive point positions are set to be zero as the initial plane numerical value. The rectangular family model includes adaptive point location information, and also needs to set corresponding family parameters including material name, material specification, provider, material usage, angle, volume, length, width, image, annotation, marking, creating stage, removing stage, adaptive construction and import symbol, etc.
Picking up the whole graph separated in S1 by a Dynamo tool, converting the CAD graph into a Dynamo graph list by an element. The Poly character information is specifically that when the picked CAD graphic information is a multi-segment line, the graphic information displayed in Dynamo is Polycurve beginning character information, and the multi-segment line can be distinguished from other graphic information by using Poly english letters.
Rectangular family outline list part content: [ PolyCurve (NumberOfCurves ═ 4), PolyCurve (NumberOfCurves ═ 4) ].
Direction decision line list section content: line (starpoint ═ Point (X ═ 208022.500, Y ═ 298698.436, Z ═ 0.000), EndPoint ═ Point (X ═ 208005.500, Y ═ 298866.436, Z ═ 0.000), Direction ═ Vector (X ═ 17.000, Y ═ 168.000, Z ═ 0.000, Length ═ 168.858)), Line (starpoint ═ Point (X ═ 194121.181, Y ═ 301614.436, Z ═ 0.000), EndPoint (X ═ 194138.181, Y ═ 301446.436, Z ═ 0.000), Direction ═ Vector (X ═ 17.000, Y ═ 168.000, Z ═ 0.000, Y ═ Length ═ 5, Z ═ 0.000), Direction ═ Vector ═ 17.000, Y ═ 168.000, Z ═ 0.000, Y ═ Length ═ 5 ═ Z ═ 0.000, Z ═ 208536.500, X ═ Vector ═ 22, Z ═ 84000, Z ═ 8427, Z ═ 22, Z ═ 208536.500, Z ═ 22, Z ═ 84000, Z ═ 58, Y ═ 150, Z ═ Vector ═ 84000, Y ═ Vector ═ 22, Y ═ 8427, Z ═ X ═ r, X ═ 200, Y ═ Vector ═ r, Z ═ 200, Y ═ r, Y ═ 150, Y ═ 200, Z ═ r, Z ═ 200, Z ═ r, Y ═ 150, Y ═ 200, Z ═ 200, Y ═ 200, Z ═ r, Y ═ r, Z ═ r, Y ═ 200, Y ═ r, Z ═ 200, Y ═ 200, Z ═ r, Y ═ 200, Z ═ 200, Y ═ r, Z ═ r, Y ═ r, Z ═ 200, Z ═ r, Y ═ r, Z ═ r, Y ═ 200, Y ═ r, Y ═ 200, Z ═ r, Y ═ 200, Y ═ r, Z ═ 200, Y ═, x-29.000, Y-185.000, Z-0.000, Length 187.259), Line (starpoint Point (X-187492.420, Y-257014.440, Z-0.000), EndPoint (X-187509.420, Y-256846.440, Z-0.000), Direction Vector (X-17.001, Y-168.000, Z-0.000, Length 168.858), Line (starpoint (X-192249.702, Y-247895.538, Z-0.000), EndPoint (X-187492.420, Z-192090.258, Y-247951.130, Z-0.000), Z-8652, Z-8642, X-36000, X-368652, Z-8652, Z-8653, Y-36000, Y-187492.420, Z-247951.130, Z-0, Z-8652, Z-168.858, Z-8653, Y-8653, Z-8653, and Z-8653, y-307589.440, Z-0.000, EndPoint (X-185.000, Y-29.000, Z-0.000, Length 187.259)), Line (starpoint (X-99476.754, Y-285846.421, Z-0.000), EndPoint (X-99308.754, Y-285829.421, Z-0.000), Line (starpoint) (X-82000), Direction Vector (X-168.000, Y-17.000, Z-0.000, Z-6860.000, Length 168.858), Line (starpoint (X-99308.754, Y-8227, Z-42, Y-17.000, Z-0.000, Length 168.858)), Line (starpoint) (X-828745, Y-585, Y-334887.893, Z-860, Z-28, Z-270133.421, Z-28, Z-867, Z-270133.421, Z-867, X-270133.421, Z-867, Z-270133.421, Z-862, Z-869, X-270133.421, Z-862, Z-86000, Y-270133.421, Z-867, Z-862, X-86000, Y-867, Z-869, X-86000, X-82000, Y-270133.421, Z-867, Z-86000, X-867, X-84000, X-8427, X-82000, X-42, X-7, Y-7, X-82000, Y-14, Z-867, Z-86000, Z-7, Z-867, Z-86000, Z-867, Z-86, Z-867, X-867, Z-7, Y, X-7, Z-7, X-7, Z-86000, Z-7, Z-86, Z-7, Z-k, X-7, Z-7, X, Y, X-7, Z-86, Z-7, X, Z-7, X-7, Z-86000, Y, Z-7, X, Z-7, X, Z-k, Z-7, Z-k, Z-7, X, Z-k, Z-7, X, Z-7, X, Z-7, X, Z-7, Z-80, Z-7, X, Z-7, Z-k, Z-7, Y, Z-k, Z-7, X, Z-7, X, Z-80, Z-7, X, Z, z0.000, Length 168.858)) ].
And thirdly, sequentially splitting all the multiple lines in the rectangular group outline list through a PolyCurve. And then sequentially extracting curve starting points of all line segments in the multi-segment line segment three-level list through cut.
The three-level list part content of the segment starting point is as follows: point (X ═ 207432.500, Y ═ 298896.437, Z ═ 0.000), Point (X ═ 208132.500, Y ═ 298896.436, Z ═ 0.000), Point (X ═ 208132.500, Y ═ 298656.436, Z ═ 0.000), Point (X ═ 207432.500, Y ═ 298656.437, Z ═ 0.000) ], [ Point (X ═ 194711.181, Y ═ 301416.436, Z ═ 0.000), Point (X ═ 194011.181, Y ═ 301416.436, Z ═ 0.000), Point (X ═ 194011.181, Y ═ 301656.436, Z ═ 0.000), Point (X ═ 194711.181, Y ═ 301656.436, Z ═ 0.000) ], [ X ═ 36 206376.811, Y ═ 930, Z ═ 0.58, Z ═ 0.4672, Z ═ 36000) ], Point (X ═ 36000, Y ═ 3655, Z ═ 460., point (X ═ 208432.500, Y ═ 264056.436, Z ═ 0.000), Point (X ═ 209132.500, Y ═ 264056.436, Z ═ 0.000), Point (X ═ 209132.500, Y ═ 263816.436, Z ═ 0.000), Point (X ═ 208432.500, Y ═ 263816.436, Z ═ 0.000) ], [ Point (X ═ 188082.420, Y ═ 256816.442, Z ═ 0.000), Point (X ═ 187382.420, Y ═ 256816.439, Z ═ 0.000), Point (X ═ 187382.420, Y ═ 257056.439, Z ═ 0.000), Point (X ═ 188082.420, Y ═ 257056.442, Z ═ 0.000) ];
and step four, sequentially carrying out polygon recombination on all point positions in each secondary list in the tertiary list of the line segment starting points through a polygon node to obtain a polygon graph list. And then extracting point positions of each polygon in the polygon graph list by utilizing a polygon center node, and sequentially processing to obtain a polygon midpoint list.
Polygon midpoint list part content: point (X ═ 207782.500, Y ═ 298776.437, Z ═ 0.000), Point (X ═ 194361.181, Y ═ 301536.436, Z ═ 0.000), Point (X ═ 206726.811, Y ═ 284586.439, Z ═ 0.000), Point (X ═ 208782.500, Y ═ 263936.436, Z ═ 0.000), Point (X ═ 187732.420, Y ═ 256936.441, Z ═ 0.000), Point (X ═ 192077.582, Y ═ 247710.988, Z ═ 0.000), Point (X ═ 178217.500, Y ═ 265376.440, Z ═ 0.000), Point (X ═ 177837.310, Y ═ 307806.440, Z ═ 0.000), Point (X ═ 2, Y ═ 56, Z ═ 0.000), Point (X ═ 82 142694.107, Y ═ 8269553, Z ═ 0.8653), Point (X ═ 826950.000), Point (X ═ 826950. 335104.893, Y ═ 8269553, Z ═ 0.000);
and fifthly, carrying out tolerance judgment on all points in the polygon midpoint list through the point. And then, according to each point position in the polygon midpoint duplicate removal list, utilizing a list, first IndexOf nodes to obtain the first appearing index of each item in the polygon midpoint list, and sequentially operating to obtain an index value list.
Index value list part content: [0,1,2,3,4,5,6,7,8,9,10 ];
and step six, firstly, sequentially deriving graphs corresponding to index values in a polygonal graph list through index values in an index value list by virtue of a List.
Part of the multi-segment line three-level list: in other words, the term "Point" (X-207432.500, Y-298896.437, Z-0.000), EndPoint (X-208132.500, Z-0.000), EndPoint (X-638, Z-0.000), EndPoint (X-208132.500, Y-298656.436, Z-0.000)), currve (starpoint (X-208132.500, Y-298656.436, Z-0.000), EndPoint (X-207432.500, Y-298656.437, Z-0.000)), current (X-start Point, X-5853, Y-5828, Y-207432.500, Y-Z-5928, Y-5, Z-595730, Z-7, Z-75, Z-27, Z-7, Z-42, Z-7, Z-26, Z-27, Z-28, Z-7, Z-5, Z-7, Z-75, Z-20, Z-7, Z-75, Z-7, Z-20, Z-7-9-7-9, Z-9-7, Z-9, Z-9-7-9, Z-7, Z-9, Z-7, Z-9, Z-9-7, Z-9-7, Z-7, Z-9, Z-7, Z-9, Z-7, Z-9, Z-7, Z-9, Z-7, Z-9, Z-7, Z-9, Z-7, Z-9, Z, y-301416.436, Z-0.000, EndPoint (X-194011.181, Y-301656.436, Z-0.000)), current (starpoint (X-194011.181, Y-301656.436, Z-0.000), EndPoint (X-194711.181, Y-301656.436, Z-0.000)), current (starpoint (X-194711.181, Y-301656.436, Z-0.000), EndPoint (X-194711.181, Y-301416.436, Z-0.000)) ], [ current (starpoint (X-206376.811, Y-301656.436, Z-0.000)), X-284706.439, Z-5828, Y-Z-5828, Z-42, Z-75, Z-0.000) ], and so as to form a composite (starpoint (X-206376.811, Y-284706.439, Z-0.000), Y-5858, Z-0.5, Z-826955, Y-7, Y-82000), end Point (X ═ 206376.811, Y ═ 284466.439, Z ═ 0.000)), cut (starpoint ═ Point (X ═ 206376.811, Y ═ 284466.439, Z ═ 0.000), end Point (X ═ 206376.811, Y ═ 284706.439, Z ═ 0.000)) ], [ cut (starpoint ═ Point (X ═ 208432.500, Y ═ 264056.436, Z ═ 0.000), end Point (X ═ 209132.500, Y ═ 264056.436, Z ═ 0.000)), cut (starpoint ═ Point (X ═ 209132.500, Y ═ 264056.436, Z ═ 0.000), end Point (X ═ 5853, Z ═ 5, Z ═ 7, Z ═ 75, Z ═ 26, Z ═ 0, Z ═ 75, Z ═ 5, Z ═ 75, Z ═ 26, Z ═ 75, Z ═ 5, Z ═ 75, Z ═ 5, Z ═ 75, Z ═ 75, Z ═ 75, Z ═ 75, Z ═ 75, Z ═ 75, Y ═ Z ═ 75, Z ═ 75, Z ═ 75, Y ═ Z —), Z ═ Z —), Z ═ Z —), y-264056.436, Z-0.000) ], [ Curve (starpoint ═ Point (X ═ -188082.420, Y ═ -256816.442, Z ═ 0.000) ], EndPoint ═ Point (X ═ 187382.420, Y ═ -256816.439, Z ═ 0.000) ], Curve (starpoint ═ Point (X ═ 187382.420, Y ═ 256816.439, Z ═ 0.000), EndPoint ═ Point (X ═ 187382.420, Y ═ 257056.439, Z ═ 0.000) ], Curve (starpoint ═ Point (X ═ 187382.420, Y ═ 257056.439, Z ═ 0.000) ], EndPoint (X ═ Point ═ 6385, Y ═ 257056.442, Z ═ 0.000) ], EndPoint (X ═ 6385, Y ═ 0.000) ], Z ═ Point (Z ═ 0.000) ], Y ═ Point (X ═ 0.000), Z ═ Point ═ 0.8, Z ═ Point (X ═ 0.000), Y ═ Point ═ 0.8, Z ═ Point ═ 2, Z ═ 188082.420.000) ], Y ═ Point (X ═ 0.
And seventhly, acquiring the line segment sorting three-level lists sorted according to the line segment lengths of the line segments in the secondary lists in the multi-segment line segment three-level list by using List.
Part of the list of short edge segments: in this case, the term "Point" (X ═ 208132.500, Y ═ 298896.436, Z ═ 0.000), EndPoint ═ Point (X ═ 208132.500, Y ═ 298656.436, Z ═ 0.000), currve (StartPoint ═ Point (X ═ 194711.181, Y ═ 301656.436, Z ═ 0.000), EndPoint (X ═ 194711.181, Y ═ 301416.436, Z ═ 0.000)), currve (StartPoint ═ Point (X ═ 207076.811, Y ═ 284706.439, Z ═ 0.000), EndPoint (X ═ 207076.811, Y ═ 284466.439, Z ═ 0.000)), currpoint (X ═ Point ═ X ═ 208132.500, Y ═ Z ═ 5, Y ═ Point ═ 585730, Y ═ 5, Z ═ 7, Z ═ 75, Z ═ 0.000)), currve (X ═ 207076.811, Y ═ 284466.439, Z ═ 0.000), currpoint ═ 0.56 ═ Z ═ trirnz ═ 7, Y ═ trirnz ═ 75, Y ═ 7, Y ═ trirnz ═ 75, Y ═ trirnz ═ 75, Y ═ trirnz ═ trirn0.55, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirnz ═ trirn0, Y ═ trirnt, Y ═ trirn0, Y ═ trirnt, Y ═ trirn42, Y ═ trirnt, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirn0.55, trirnt, Y ═ trirn0.55, Y, trirnt, Y, trirn0.55, trirnt, Y ═ trirnt, Y, y-248078.910, Z-0.000, EndPoint (X-192334.255, Y-247977.482, Z-0.000)), current (starpoint (X-178567.500, Y-265496.439, Z-0.000), EndPoint (X-178567.500, Y-265256.439, Z-0.000)), current (starpoint (X-177717.310, Y-308156.440, Z-0.000), EndPoint (X-177957.310, Y-308156.440, Z-0.000)), current (starpoint (X-99278.754, Y-308156.440, Z-0.000)), current (starpoint — 99278.754, Y-285956.421, Z-0.000), Y-308156.440, Z-0.000)), current (starpoint (X-826955, Z-5828, Y-8258, Z-42, Y-826955, Y-82000)), current (starpoint (X-99278.754, Y-285956.421, Z-0.000), Y-5858, Z-5827, Z-58, Z-0, Z-0.000)), current (starpoint (X-826955, Z-7, Y-82000)), EndPoint (X-142574.107, Y-270006.421, Z-0.000)) ]
The short edge line segment list comprises two parts: in this case, the term "Point" (X ═ 207432.500, Y ═ 298656.437, Z ═ 0.000), EndPoint ═ Point (X ═ 207432.500, Y ═ 298896.437, Z ═ 0.000), currve (StartPoint ═ Point (X ═ 194011.181, Y ═ 301416.436, Z ═ 0.000), EndPoint (X ═ 194011.181, Y ═ 301656.436, Z ═ 0.000)), currve (StartPoint ═ Point (X ═ 206376.811, Y ═ 284466.439, Z ═ 0.000), EndPoint (X ═ 206376.811, Y ═ 284706.439, Z ═ 0.000)), currpoint (X ═ Point ═ X ═ 207432.500, Y ═ Z ═ 5, Y ═ Point ═ 585730, Y ═ 5, Z ═ 7, Z ═ 75, Z ═ 0.000)), currve (X ═ 206376.811, Y ═ 284706.439, Z ═ 0.000), currpoint ═ 0.56 ═ Z ═ trirnz ═ 7, Y ═ trirnz ═ 75, Y ═ 7, Y ═ trirnz ═ 75, Y ═ trirnz ═ 75, Y ═ trirnz ═ trirn0.55, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirnz ═ trirn0, Y ═ trirnt, Y ═ trirn0, Y ═ trirnt, Y ═ trirn42, Y ═ trirnt, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirn0, Y ═ trirn0.55, Y ═ trirn0, Y ═ trirn0.55, trirnt, Y ═ trirn0.55, Y, trirnt, Y, trirn0.55, trirnt, Y ═ trirnt, Y, y-247343.066, Z-0.000, EndPoint (X-191820.908, Y-247444.494, Z-0.000)), Curve (starpoint (X-177867.500, Y-265256.440, Z-0.000), EndPoint (X-177867.500, Y-265496.440, Z-0.000)), Curve (starpoint (X-177957.310, Y-307456.440, Z-0.000), EndPoint (X-177717.310, Y-307456.440, Z-0.000)), Curve (starpoint (X-307456.440, Z-8227, Z-82000)), starpoint (X-99518.754, Y-3653, Z-0.000), EndPoint (X-177717.310, Y-307456.440, Z-0.000)), Curve (starpoint (X-826950, Z-27, Z-82000)), X-99518.754, Y-285256.421, Z-0.000), EndPoint (X-580.000), Y-580, Z-5730, Z-285256.421, Y-5730.5, Y-5730, Y-57327, Y-82000)), EndPoint (X-142814.107, Y-270706.421, Z-0.000)) ]
And step eight, sequentially extracting the midpoint positions of all line segments in the short edge line segment list I and the short edge line segment list II through the cut. And then, sequentially connecting each point in the short-edge midpoint list I and the short-edge midpoint list II with each point in the polygon midpoint duplicate removal list by using a line.
Part of the rectangular outline short-side connecting line list: line (starpoint ═ Point (X ═ 207782.500, Y ═ 298776.437, Z ═ 0.000), EndPoint ═ Point (X ═ 208132.500, Y ═ 298776.436, Z ═ 0.000), Direction ═ Vector (X ═ 350.000, Y ═ 0.000, Z ═ 0.000, Length ═ 350.000)), Line (starpoint ═ Point (X ═ 194361.181, Y ═ 301536.436, Z ═ 0.000), EndPoint (X ═ 194711.181, Y ═ 301536.436, Z ═ 0.000), Direction ═ Vector (X ═ 350.000, Y ═ 0.000, Z ═ 0.000), Direction ═ Vector ═ 350.000, Y ═ 0.000, Z ═ Line ═ 350, Z ═ 58000), Direction ═ Vector (Z ═ 350, Z ═ 58000, Length ═ 350, Y ═ 350, Z ═ 350, X ═ 350, Y ═ 350, Y ═ 298776.436, Z ═ 7, Z ═ 350, X ═ 350 ═ 80, Y ═ 350, Y ═ 350, X ═ 350 ═ 80, Y ═ 75, Y ═ 350, Y ═ 350, Y ═ 75, Y ═ 350 ═ 53, Y ═ 350, Y ═ 53, Y ═ 350 ═ 53, Y ═ 350, Y ═ 350 ═ 53, Y ═ 350 ═ 53, Y ═ 350 ═ 36, Y ═ 53, Y ═ 350, Y ═ 36000, Y ═ 350, Y ═ 53, Y ═ 350, Y ═ 53, Y ═ 350, Y ═ 75, Y ═ 350, Y ═ 350 ═ 36, Y ═, x-350.000), Direction-Vector (X-350.000, Y-256936.441, Z-0.000), EndPoint (X-187382.420, Y-256936.439, Z-0.000), Direction (starpoint (X-192077.582, Y-247710.988, Z-0.000), Direction-Vector (X-350.000, Y-0.001, Z-0.000, Length-350.000)), Line (starpoint (X-192077.582, Y-247710.988, Z-0.000), end-Point (X-3652, Y-192225.498, Z-0.000), end-Point (X-192225.498, Y-6352, Z-84, Z-0.000), end-Point (X-380.000, Z-19, Z-0.000), end-Point (X-3652, Z-62, Z-0.84, Z-0, Z-0.000, Z-0.2, Z-Length-0, Z-0.7375, Z-0, Z-0.000, Length-0.2, Z-Length-38000, Z-0.7372, Z-0, Length-0, Z-46000), y-307806.440, Z-0.000, EndPoint (X-0.000, Y-350.000, Z-0.000, Length 350.000)), Line (starpoint (X-99398.754, Y-285606.421, Z-0.000), EndPoint (X-99398.754, Y-285956.421, Z-0.000), Direction (X-0.000, Y-350.000), Z-0.000, Length 350.000), Direction (X-0.000, Y-350.000, Z-0.000, Length 350.000), Line (starpoint (X-634625, Y-634652, Z-0.000), Direction (X-0.000, Y-350.000, Z-0.000, Length 350.000), Line (starpoint (X-62, Z-0, Z-42, Z-0, Z-85, Z-42, Z-60, Z-0, Z-85, Z-0.000, Length 350.000), Line (starpoint (X-62, Z-6850, Z-85, Z-0, Z-85, Z-0, Z-2, Z-685000, Z-0, Z-85, Z-2, Z-0, Z-2, Z-685000), 350.000, 0.000 and 350.000) for Y
The rectangular outline short side connection list comprises two parts: line (starpoint ═ Point (X ═ 207782.500, Y ═ 298776.437, Z ═ 0.000), EndPoint ═ Point (X ═ 207432.500, Y ═ 298776.437, Z ═ 0.000), Direction ═ Vector (X ═ 350.000, Y ═ 0.000, Z ═ 0.000, Length ═ 350.000)), Line (starpoint ═ Point (X ═ 194361.181, Y ═ 301536.436, Z ═ 0.000), EndPoint (X ═ 194011.181, Y ═ 301536.436, Z ═ 0.000), Direction ═ Vector (X ═ 350.000, Y ═ 0.000, Z ═ 0.000), Direction ═ Vector (X ═ 36000, Y ═ 350 ═ 350.000, Z ═ 0.000, Z ═ 350, Z ═ 58000), Direction ═ Vector (Z ═ 350, Z ═ 350, Y ═ 350, Z ═ 58000), Length ═ 350, Z ═ 350, Y ═ 350, Z ═ 350, X ═ 350, X ═ 7, Y ═ 350 ═ 80, Y ═ 350, X ═ 350, Y ═ 80, Y ═ 350, X ═ 350, Y ═ 350, 350 ═ 350, Y ═ 350, X ═ 350 ═ 53, Y ═ 350, Y ═ 53, Y ═ 350, X ═ 350, Y ═ 53, Y ═ 350, Y ═ 350, Y, 350, Y ═ 350, Y ═ 350, 350 ═ 53, 350 ═ 53, 350 ═ 53, 350 ═ 350, 350 ═ 53, Y, Z ═ 350, 350 ═ 53, 350 ═ 350, 350, direction (X-350.000), Y-0.000, Z-0.000, EndPoint (X-188082.420, Y-256936.442, Z-0.000), Line (starpoint-Point (X-187732.420, Y-256936.441, Z-0.000), EndPoint (X-188082.420, Y-256936.442, Z-0.000), Direction (X-350.000), Y-0.001, Z-0.000, Length 350.000)), Line (starpoint (X-192077.582, Y-247710.988, Z-0.000), EndPoint (X-363, Y-247393.780, Z-0.000), Y-5884, Z-19, Z-0.000), X-3648, X-20, Y-27, Z-42, Z-85, Z-19, X-19, Y-42, Z-85, Y-19, Z-85, Y-19, Z-85, Y-19, Z-85, Y-19, Y-60, Y-7, Y-60, Y-7, Y-7, Y-7, Y-7, Y, x-0.000, Direction-Vector (X-0.000, Y-350.000, Z-0.000, Length-350.000)), Line (starpoint-Point (X-99398.754, Y-285606.421, Z-0.000), EndPoint (X-99398.754, Y-350.000), Line (starpoint-285256.421, Z-0.000), Direction-Vector (X-0.000, Y-350.000, Z-0.000, Length-350.000)), Line (starpoint (X-124187.530, Y-36000, Z-350.000, Z-0.000, Length-350.000)), Line (starpoint (X-36000, Y-3662, Z-27, Z-19.000, Z-0.000, Z-350.000, Z-350.460, Z-460, Z-5, X-63000)), Line (starpoint-124187.530, Y-36000, Z-0, Z-460, Z-5, Z-0, Z-5, Z-20, Z-0, Z-460, Z-5, Z-20, Z-0, Z-20, Y-20, Y-0, Y-48, Y-5, X-48, X-2, X-48, Y-2, Z-48, X-48, Z-48, X-2, Y-48, X-2, Y-2, Z-5, Z-2, Z-48, Z-2, Y-2, Z-48, Y-2, Y-2, Z-48, Y-2, Z-2, Y-2, Z-5, Z-2, Y-2, Z-2, Y-2, Z-2, Y, Z-2, Y-2, Z-2, Y-2, Y-2, Y-2, Z-2, Y-2, Z-2, Y, 2, Y-2, Y, 2, Y, 2, Y, 2, length 350.000)) ]
And step nine, performing intersection analysis on each line segment in the first rectangular outline short edge connecting line list and all items in the direction judgment line list through a geometry node and a DoesIntersect node to sequentially obtain a three-level list of intersection results. And then, carrying out total judgment on each secondary list in the three-level lists of the intersection results by using a List-AllFalse node, if all items in the secondary lists are all the items, otherwise, outputting a result, namely yes, otherwise, outputting a result, namely no, and sequentially judging to obtain a judgment result list.
Determination result list part content: [ FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, TRUE, FALSE, TRUE, FALSE ]
Combining all items in the first List of short sides of the rectangular outline and the second List of short sides of the rectangular outline in sequence through the List. And then, converting each result in the judgment result list by using the If node, converting the item with the output result of yes into an index value 1, converting the item with the output result of no into an index value 0, and finally obtaining a judgment index value list.
Judging the content of the index value list part: [0,1,1,1,0,0,0,1,0,1,0 ];
and step eleven, extracting each secondary list in the rectangular profile short edge connecting line combined list through judging each index value of the index value list through a List. And then extracting the corresponding direction vectors of all line segments in the third rectangular outline short-side connecting line list by using line.
Direction vector list part content: vector (X ═ 350.000, Y ═ 0.000, Z ═ 0.000, Length ═ 350.000), Vector (X ═ 350.000, Y ═ 0.000, Y ═ 350.000), Vector (X ═ 350.000, Z ═ 350.000, Y ═ 0.001, Z ═ 0.000, Length ═ 350.000), Vector (X ═ 147.916, Y ═ 317.208, Z ═ 0.000, Y ═ 0.000, Z ═ 350.000, Length ═ 350.000), Vector (X ═ 147.916, Y ═ 350.000, Z ═ 0.000, Z ═ 0.350.000, Z ═ 350.000, Length ═ 350.000, Z ═ 350.350.000, Z ═ 350.000, Z ═ 350.350.350.000, Z ═ 350.000, Z ═ 350.350.000, Z ═ 350.000, Z ═ 350.350.350.000, Z ═ 350.000, Z ═ 350.350.000, Z ═ 350.000, Z ═ 350.350.350.000, Z ═ 350.000, Z ═ 350.350.000, Z ═ 350.000, Z ═ 350.350.350.000, Z ═ 350.000, Z ═ 350
And a twelfth step of obtaining an offset line segment through the line, bystartpointdirection length node, sequentially corresponding each point position in the polygon midpoint duplicate removal list, each direction vector in the direction vector list and a number with a value of 100, and obtaining an offset line segment list after sequentially operating. And sequentially extracting line segment end points of all line segments in the offset line segment list through the cut.
Part of the contents of the rectangular family placement point list: point (X ═ 207882.500, Y ═ 298776.436, Z ═ 0.000), Point (X ═ 194261.181, Y ═ 301536.436, Z ═ 0.000), Point (X ═ 206626.811, Y ═ 284586.439, Z ═ 0.000), Point (X ═ 208682.500, Y ═ 263936.436, Z ═ 0.000), Point (X ═ 187632.420, Y ═ 256936.440, Z ═ 0.000), Point (X ═ 192119.844, Y ═ 247801.619, Z ═ 0.000), Point (X ═ 178317.500, Y ═ 265376.440, Z ═ 0.000), Point (X ═ 177837.310, Y ═ 307706.440, Z ═ 0.000), Point (X ═ 2, Y ═ 56, Z ═ 0.000), Point (X ═ 82 142694.107, Z ═ 0.8653), Point (X ═ 826957, Z ═ 0.8653), Z ═ 84000), Point (X ═ 0. 335004.893, Z ═ 0.695), Point (X ═ 2 ═ 56, Y ═ 0.000), Z ═ 0.8653, Z ═ 0.867, Z ═ 0.8653), Point (X ═ 0.867 ═ 0.
And step thirteen, performing row-List combination on the polygon midpoint duplicate removal List and the rectangle group placement point List through the List Create node to obtain a combined point location three-level List. And inverting the obtained three-level list through a List node to obtain a three-level list of placement point locations, wherein the first item in the two-level list is an item of a polygon midpoint duplicate removal list, and the tail item is an item of a rectangle group placement point list. And finally, placing the rectangular family in a batch mode by combining the rectangular family with the placement point three-level list by utilizing AdaptionComponent.
Partial contents of the placed rectangular family list: [ Family is two-point adaptive fire hydrant, Type is two-point adaptive fire hydrant, Family is two-point adaptive fire hydrant, Type is two-adaptive fire-hydrant, Type is two-point adaptive fire-hydrant, Type is two-point adaptive fire-hydrant, two-adaptive fire-hydrant, Type is two-adaptive fire-hydrant, two-adaptive fire-hydrant, two-adaptive fire-hydrant, Type is two-hydrant, two-fire-hydrant, two-adaptive fire-hydrant, two-fire-adaptive fire-hydrant, two-adaptive fire-hydrant, fire-adaptive fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant, fire-hydrant-fire-hydrant, fire-fire
And fourteen, sequentially extracting the line length in the three-level list of the multi-segment line segment information through a cut. And finally, sequentially inputting the longest length list and the shortest length list into corresponding family parameters of each item rectangular family of the rectangular family list through an element.
Fig. 6 is a schematic structural diagram of the decoration post finished in step S1 according to the embodiment of the present invention; fig. 7 is a schematic view of a parking space line structure processed in step S1 according to the embodiment of the present invention; fig. 8 is a schematic structural view of the crash barrier trimmed in step S1 according to the embodiment of the invention; fig. 9 is a schematic view of a rectangular family structure of a lamp according to an embodiment of the present invention; FIG. 10 is a schematic view of a rectangular family structure of decorative pillars according to an embodiment of the present invention; fig. 11 is a schematic view of a rectangular structure of a parking space line according to an embodiment of the present invention; fig. 12 is a schematic view of a rectangular family structure of the crash barrier according to an embodiment of the present invention; FIG. 13 is a schematic structural diagram of a rectangular group of lamps according to an embodiment of the present invention; FIG. 14 is a schematic structural diagram of a fire hydrant with a rectangular cluster according to an embodiment of the present invention; FIG. 15 is a schematic structural diagram of a rectangular family of decorative pillars according to an embodiment of the present invention; FIG. 16 is a schematic structural diagram of a rectangular group of vehicle location lines according to an embodiment of the present invention; FIG. 17 is a schematic structural diagram of a rectangular cluster of crash barriers according to an embodiment of the present invention; as shown in FIGS. 6-17, the invention can be used for batch placement of different members containing rectangular families in the construction engineering, thereby greatly improving the modeling speed and accuracy.

Claims (10)

1. A rectangular family batch placement method based on Dynamo and Revit is characterized by comprising the following steps:
s1, obtaining design drawing information, separating graphic information containing rectangular group outlines, adding direction determination lines to rectangular groups with directions, and establishing an initial rectangular group model;
s2, picking up graphic information of the rectangular group contour, and separating the multiple line segments from the line segments to obtain a rectangular group contour list and a direction determination line list;
s3, sequentially splitting each multi-segment line in the rectangular group profile list into single line segments, and sequentially extracting curve starting points of all line segments in the obtained multi-segment line segment three-level list to obtain a line segment starting point three-level list;
s4, sequentially carrying out polygon recombination on all point positions in each secondary list in the tertiary list of the line segment starting points to obtain a polygon graphic list, and sequentially extracting midpoints of polygons of all items in the obtained polygon graphic list to finally obtain a polygon midpoint list;
s5, performing tolerance judgment on all points in the polygon midpoint list to obtain each point location in the polygon midpoint duplicate removal list, and obtaining indexes in the polygon midpoint list where each point location in the polygon midpoint duplicate removal list is located to finally obtain an index value list;
s6, sequentially deriving graphs of corresponding index values in the polygonal graph list by combining all index values in the index value list, and sequentially splitting all the multiple lines in the obtained polygonal graph duplicate removal list to finally obtain a multiple line segment three-level list;
s7, sequencing each line segment in each secondary list of the multi-line segment tertiary list according to the length of the line segment, and sequentially and independently extracting a first item and a second item in each secondary list of the obtained line segment sequencing tertiary list to finally obtain a short edge segment list I and a short edge segment list II;
s8, sequentially extracting the midpoint positions of the line segments in the first short edge line segment list and the second short edge line segment list, sequentially and correspondingly connecting the point positions in the obtained first short edge midpoint list and the second short edge midpoint list with the point positions in the polygon midpoint duplicate removal list, and finally obtaining a first rectangular outline short edge connecting line list and a second rectangular outline short edge connecting line list;
s9, performing intersection analysis on each line segment in the first rectangular outline short-edge connecting line list and all items in the direction judging line list, and performing total judgment on each secondary list in the obtained three-level list of intersection results, wherein if all the items in the secondary list are all or not, the output result is yes, otherwise, the output result is no, and a judging result list is obtained after sequential judgment;
s10, combining all items in the rectangular outline short side connecting line list I and the rectangular outline short side connecting line list II in sequence to generate a rectangular outline short side connecting line combination list, then converting all items in the judgment result list, converting the item with the output result of yes into an index value 1, converting the item with the output result of no into an index value 0, and finally obtaining a judgment index value list;
s11, extracting each secondary list in the rectangular outline short side connecting line combination list through judging each index value of the index value list, extracting each line segment in the obtained rectangular outline short side connecting line list III, and extracting a corresponding direction vector to finally obtain a direction vector list;
s12, obtaining an offset line segment after each point position in the polygon midpoint duplicate removal list and each direction vector in the direction vector list correspond to a preset numerical value in sequence, and obtaining an offset line segment list after sequential operation. Sequentially extracting line segment end points of all line segments in the offset line segment list to obtain a rectangular family placement point list;
s13, combining the polygon midpoint duplicate removal list and the rectangular group placing point list in a row list mode to obtain a combined point location three-level list, and inverting the obtained combined point location three-level list to obtain a placing point location three-level list;
s14, sequentially extracting the lengths of the line sections in the three-level list of the multi-line section information, and deriving the longest length and the shortest length in each two-level list in the list to obtain a longest length list and a shortest length list; and finally, sequentially inputting the longest length list and the shortest length list into corresponding family parameters of all the rectangular families of the rectangular family list, and sequentially placing the rectangular families in batches.
2. The Dynamo and Revit-based rectangle family batch placing method according to claim 1, wherein the step S1 comprises collating the drawing paper containing rectangle family outline information, separating all the figures containing rectangle family outline, and if the rectangle family is a rectangle family with a direction, adding a corresponding direction determination line in each group of the rectangle figures; establishing an initial rectangular family model, wherein the establishment of two self-adaptive point locations comprises the step of establishing two self-adaptive point locations, and the initial point of the self-adaptive point location of the initial rectangular family model is positioned at the geometric midpoint of the rectangular outline of the initial rectangular family model; after the end point is positioned at the right rectangular group placing point, the initial point moves a preset displacement point along the connecting line direction of the short side of the right rectangle in the rectangular outline, and the end point is used as a rectangular group placing point; and setting the numerical values of the Z axes of all the self-adaptive point positions as initial plane numerical values zero, and setting corresponding family parameters.
3. The Dynamo and Revit based rectangular family batch placement method of claim 2, wherein family parameters include length and width.
4. The Dynamo and Revit rectangular family batch placing method according to claim 3, wherein step S2 includes picking up graphic information of the outline of the rectangular family, converting the graphic information into a graphic list, converting the converted graphic list into a text list, and determining whether the text list contains Poly text information, wherein output information is Ture when the text list contains Poly text information, and output information is False when the text list does not contain Poly text information; obtaining a judgment result list, and separating the graph list through the judgment result list to obtain a rectangular family outline list and a direction judgment line list; the rectangular family outline list includes all the multi-segment lines, and the direction determination line list includes all the segment lines.
5. The Dynamo and Revit-based rectangular family batch placing method according to claim 4, wherein in step S4, the polygon reorganization comprises connecting each point in the current list with a point next to the point by a line segment, and connecting the last point in the list with the first point in the list by a line segment, thereby obtaining an end-to-end polygon.
6. The Dynamo and Revit based rectangular family batch placement method of claim 5, wherein the tolerance decision is to measure the distance between the current point and the points in the remaining list in turn, and then delete the points whose distance is within the tolerance range to obtain the points in the polygon midpoint deduplication list.
7. The Dynamo and Revit-based rectangular family batch placement method according to claim 6, wherein in step S7, each line segment in each secondary list in the multi-line segment tertiary list is obtained according to the length of the line segment, and is sorted in ascending order to obtain a segment-sorted tertiary list; and sequentially and independently extracting the first item and the second item in each secondary list in the line segment sorting tertiary list to finally obtain a short edge line segment list I and a short edge line segment list II.
8. The Dynamo and Revit-based rectangular cluster batch placement method as recited in claim 7, wherein step S8 comprises sequentially extracting the midpoint positions of the line segments in the first list of short edge line segments and the second list of short edge line segments to obtain the first list of short edge midpoints and the second list of short edge midpoints; and then, sequentially connecting each point location in the short side middle point list I and the short side middle point list II with each point location in the polygon middle point duplicate removal list to form a line, and finally obtaining a rectangular outline short side connecting line list I and a rectangular outline short side connecting line list II.
9. The Dynamo and Revit-based rectangular cluster batch placement method of claim 8, wherein in step S9, said intersection analysis is to determine whether a first input geometric figure item intersects a second input geometric figure item, and the output information is True when the first input geometric figure item intersects the second input geometric figure item, and False when the first input geometric figure item does not intersect the second input geometric figure item.
10. The Dynamo and Revit-based rectangular family batch placement method according to claim 9, wherein in step S9, said all-no determination is to inquire whether all the items in the current list are False, and the output information is True when all the items in the list are False, and is False when other items than False are included in the list.
CN202210097416.4A 2022-01-27 2022-01-27 Rectangular family batch placement method based on Dynamo and Revit Active CN114549776B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210097416.4A CN114549776B (en) 2022-01-27 2022-01-27 Rectangular family batch placement method based on Dynamo and Revit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210097416.4A CN114549776B (en) 2022-01-27 2022-01-27 Rectangular family batch placement method based on Dynamo and Revit

Publications (2)

Publication Number Publication Date
CN114549776A true CN114549776A (en) 2022-05-27
CN114549776B CN114549776B (en) 2023-03-07

Family

ID=81674083

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210097416.4A Active CN114549776B (en) 2022-01-27 2022-01-27 Rectangular family batch placement method based on Dynamo and Revit

Country Status (1)

Country Link
CN (1) CN114549776B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251028A1 (en) * 2007-05-01 2010-09-30 Reghetti Joseph P Systems and methods for identifying crash sources in a cad environment
CN110580376A (en) * 2019-07-30 2019-12-17 浙江大学 revit and Dynamo-based pile foundation model creation method
CN113486424A (en) * 2021-07-05 2021-10-08 中铁一局集团有限公司 Method and model for realizing Revit room modeling and naming labeling based on Dynamo
CN113505424A (en) * 2021-07-12 2021-10-15 南昌大学 Interactive construction method for derived component of linear engineering
CN113506364A (en) * 2021-06-29 2021-10-15 中铁北京工程局集团有限公司 Model creation method, system, device and storage medium
CN113721903A (en) * 2021-08-05 2021-11-30 安徽建工建筑工业有限公司 Prefabricated part model modeling method based on Revit and Dynamo
CN113779670A (en) * 2021-08-26 2021-12-10 中铁一局集团建筑安装工程有限公司 Method and system for achieving double-control modeling of Revit pile foundation based on Dynamo
CN113779683A (en) * 2020-12-22 2021-12-10 中材海外工程有限公司 Method and device for drawing design drawing of steel bar family placed in batch in laminated slab

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100251028A1 (en) * 2007-05-01 2010-09-30 Reghetti Joseph P Systems and methods for identifying crash sources in a cad environment
CN110580376A (en) * 2019-07-30 2019-12-17 浙江大学 revit and Dynamo-based pile foundation model creation method
CN113779683A (en) * 2020-12-22 2021-12-10 中材海外工程有限公司 Method and device for drawing design drawing of steel bar family placed in batch in laminated slab
CN113506364A (en) * 2021-06-29 2021-10-15 中铁北京工程局集团有限公司 Model creation method, system, device and storage medium
CN113486424A (en) * 2021-07-05 2021-10-08 中铁一局集团有限公司 Method and model for realizing Revit room modeling and naming labeling based on Dynamo
CN113505424A (en) * 2021-07-12 2021-10-15 南昌大学 Interactive construction method for derived component of linear engineering
CN113721903A (en) * 2021-08-05 2021-11-30 安徽建工建筑工业有限公司 Prefabricated part model modeling method based on Revit and Dynamo
CN113779670A (en) * 2021-08-26 2021-12-10 中铁一局集团建筑安装工程有限公司 Method and system for achieving double-control modeling of Revit pile foundation based on Dynamo

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周剑: "张吉怀铁路绿豆坪大桥施工BIM技术研究与应用", 《工程科技Ⅱ辑》 *
王晓: "BIM技术在桥梁设计阶段的应用", 《工程科技Ⅱ辑》 *

Also Published As

Publication number Publication date
CN114549776B (en) 2023-03-07

Similar Documents

Publication Publication Date Title
CN108427818A (en) One kind being based on BIM prefabricated member reinforcing bar data processing methods and device
CN109711032B (en) Railway signal circuit combined frame side terminal wiring method
CN110704932A (en) Revit software-based prefabricated staircase detailed graph rapid plotting method
EP0814420A1 (en) Interactive cad apparatus for designing packaging of logic circuit
WO2001024111A1 (en) Automatic routing system for pc board design
JPH0786883B2 (en) Method and system for automatically generating mesh diagram or logical circuit diagram
CN111859490B (en) Parameterized arrangement method for tire sidewall fonts
CN101727521A (en) Simplified attributive analysis method for automatic coding of three-dimensional ship modeling part
CN110096828A (en) The modeling and construction method of the elongated muscle in floor Vierendeel girder top or bearing rod based on BIM technology
CN110110421B (en) Support sorting-based calculation and judgment method for upper reinforcing steel bars of beam supports
CN114549776A (en) Rectangular family batch placement method based on Dynamo and Revit
CN109992865B (en) Method for processing elevation in AutoCAD engineering drawing
CN101458726A (en) Wire cutting program generating system and method
CN111241779B (en) Method for designing irregular parallel lines based on Cadence design software
CN115840978A (en) Automatic design method of parameterized staircase based on Revit and Dynamo and storage medium
CN113496053B (en) Intelligent layout method for bidirectional bottom ribs of multi-opening prefabricated laminated slab
CN113505411B (en) Digital forming method for structure construction drawing
CN108280292A (en) Tunnel excavation list side wall drift method based on BIM technology
JP2006240183A (en) Method and apparatus for fabricating mold
KR100403312B1 (en) The process of automatic designing for semiconductor read frame
KR20010024944A (en) A method for manufacturing and designing an electronic device and electronic apparatus
CN116896113A (en) Converging dividing method, device, equipment and medium for photovoltaic module
CN108170987A (en) The automatic hooking method of PBS structures based on BIM technology
CN116451296A (en) Automatic identification method for CAD drawing center sill and support based on semantic structure
CN111881171B (en) Drawing identification recommendation method and system based on data analysis

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant