# Create Floor by cad dwg

**URL:** <https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687>\
**Category:** Revit\
**Tags:** revit, python, dynamo\
**Created:** [May 19, 2022, 7:15am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687 "2022-05-19T07:15:40Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![mansonchen](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/mansonchen/32/98076_2.png) [@mansonchen](https://forum.dynamobim.com/u/mansonchen)\
**Post date:** [May 19, 2022, 7:15am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/1 "2022-05-19T07:15:40Z")

</div>

I want to use column and framing line by cad,  
Create multi outline to create floor.  
But currently no idea how to proceed

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/a/3/a383da745deace5f26d8f9c21b4253998b0bd9fa.png)

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/2/6/26ac56ed4fea2b75f8bdef1e01e74cf7ffbfd9d0.png)

---

<div class="post-metadata">

**Author:** ![Draxl\_Andreas](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/draxl_andreas/32/145744_2.png) [@Draxl\_Andreas](https://forum.dynamobim.com/u/Draxl_Andreas)\
**Post date:** [May 19, 2022, 7:40am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/2 "2022-05-19T07:40:10Z")

</div>

@mansonchen , hi

here was a similar issue

> [@Create floor with Grids](https://forum.dynamobim.com/t/create-floor-with-grids/76585/3):
>
> @vanquyet9494@Mark.Ackerley It worked well, but my line-sorting is a mess… [RasterGridFloorCreation.dyn](https://forum.dynamobim.com/uploads/short-url/d4UCxdRwZCq3Ef5fnBSRsaEYqhQ.dyn) (105.1 KB) Hope there is a easier way, i tried nearest point, sort by key, sort by function, vector.direction, nothing worked realy frowning

Check out GeniusLoci Packages and BIMorph Nodes for getting inforamtion from .dwg

post your progress 😉

KR

Andreas

Check out on boardtools …  
 ![2022-05-18_15h53_41](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/8/0/80b2461a033a2db4ce03f9af2e770e1292313be3.png)

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 8, 2022, 1:41am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/3 "2022-09-08T01:41:58Z")

</div>

**Translated by admin. See below the line for original post.**

* * *

Did you solve this problem please? I also encountered the same confusion, if you have solved it, can you share the result?

* * *

**Original post below**

* * *

请问您解决了这个问题吗？我也遇到同样的困惑，如果您已经解决了，可以分享一下成果吗？

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [September 8, 2022, 2:19am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/4 "2022-09-08T02:19:54Z")

</div>

Welcome to the forum!

The official language is english, which is a requirement to make search work. Please translate all future posts using your preferred online translation service as I did above.

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 8, 2022, 2:44am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/5 "2022-09-08T02:44:53Z")

</div>

Sorry, I will use English to ask or answer questions

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [September 8, 2022, 3:26am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/6 "2022-09-08T03:26:28Z")

</div>

I’m not 100% sure if dynamo has all the nodes to achieve this, but I do this in grasshopper using these steps:

1. Get all curves
2. Pull to XY plane
3. Get their bounding box and section it with the XY plane (gives a surface)
4. Split that surface using the lines (this is the step I’m unsure Dynamo has, feel free to correct me someone)
5. Take the bounding box of each surface left
6. Filter them out if they have a boundint width/depth that is smaller than a typical beam or column. This will give you most of the infills except for small excess ones if the DWG is clean

Hope that helps. Unfortunately there isnt a simple method as youre trying to detect space between objects rather than using objects themselves.

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 8, 2022, 8:12am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/7 "2022-09-08T08:12:12Z")

</div>

Hello, I tried for a long time or there is no way to achieve it, can you help me? It is best to upload a .dyn file

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [September 8, 2022, 8:32am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/8 "2022-09-08T08:32:40Z")

</div>

Only have enough time to share my workflow unfortunately, haven’t got a dyn for this as I don’t know if Dynamo is up to multi-split one surface by curves. Hopefully someone is able to assist further.

I had a quick try in both platforms and Dynamo gave me errors for splitting with many curves including duplicates, but I got it to work in Grasshopper so maybe the logic still helps. I’ve made a zip of the files here:

> <https://github.com/aussieBIMguru/Grasshopper_Scripts/blob/master/ABG_220908_FindInfill.zip>

 ![algo gh](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/b/7/b7442f5bed1396d2291e8883f9cbfe0f9cc7983f.png)

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 8, 2022, 9:26am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/9 "2022-09-08T09:26:50Z")

</div>

Thank you, I hope someone can further test with Dynamo and succeed, look forward to it!

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 9, 2022, 2:36am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/10 "2022-09-09T02:36:57Z")

</div>

I seem to be 50% successful.

 ![分割surface](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/7/d/7d57f35f92fb30598336593930eb69cb198edcfd.png)

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [September 9, 2022, 5:55am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/11 "2022-09-09T05:55:54Z")

</div>

I wouldn’t recommend bounding boxes, as if your geometry is ever off axis you’ll have some issues. Instead utilize the maximum area of the split surfaces. It’s likely you could readily read the maximum beam length (column width/depth - grid spacing), and the widths are likely known as well. Length \* width = beam area. Beams will always be larger than the columns area wise, and floors will be larger still. And so you can then get every surface larger than the maximum beam area would be an infill floor. The workflow would look something like this, but with a List.FilterByBoolmask node asking for areas over that beam area, instead of the sort/group by key nodes.

 ![image](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/1/4/14314bc2e9195ef587b873906d4359c96ca96f0d.jpeg)

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 9, 2022, 8:04am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/12 "2022-09-09T08:04:54Z")

</div>

In a real project, I had a new problem, which was when using BoundingBox.Geometry, and the result was not what I wanted. It generates a large rectangle, I just want to generate a graphic composed of outer outlines, can you help me solve this problem?

 ![my deam](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/d/d/dd5d45f057e35873e86ae7e2e5ff8d335b8a8082.png)

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [September 9, 2022, 8:37am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/13 "2022-09-09T08:37:10Z")

</div>

The only reliable method i can think of would be take the midpoint of the edges of each surface after the split, then find any with at least one edge that isnt very close to any of the actual lines used. If they are at the bounding box edge at least 1 of the surfaces edges wont be near a curve in your CAD file. That or drawn the outline manually.

---

<div class="post-metadata">

**Author:** ![suliuxin](https://avatars.discourse-cdn.com/v4/letter/s/7feea3/32.png) [@suliuxin](https://forum.dynamobim.com/u/suliuxin)\
**Post date:** [September 11, 2022, 9:28am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/14 "2022-09-11T09:28:28Z")

</div>

Thank you for the advice。

---

<div class="post-metadata">

**Author:** ![christian.stan](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/christian.stan/32/166296_2.png) [@christian.stan](https://forum.dynamobim.com/u/christian.stan)\
**Post date:** [September 11, 2022, 11:30am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/15 "2022-09-11T11:30:41Z")

</div>

Hello, look at the side of Mr. Meychik’s process

> [@Getting Outer-edge curve of a building](https://forum.dynamobim.com/t/getting-outer-edge-curve-of-a-building/80134/2):
>
> HI @shershahbacha9 you can use this:

Cordially  
christian.stan

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [September 11, 2022, 8:23pm UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/16 "2022-09-11T20:23:04Z")

</div>

The geometry of the beams here looks more like walls then beams… Is this a ‘floor by room’ task rather then a ‘fill in between the beams’ task? I’d go a very different route if so.

---

<div class="post-metadata">

**Author:** ![GavinNicholls](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/gavinnicholls/32/190442_2.png) [@GavinNicholls](https://forum.dynamobim.com/u/GavinNicholls)\
**Post date:** [September 12, 2022, 1:17am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/17 "2022-09-12T01:17:41Z")

</div>

I’d say this is a slab infill between beam/column grid. Comes up a fair bit on forums and in general user groups. It’s partially a wicked problem as it depends on how clean the input lines are, as well as catching heaps of fringe cases, sometimes the soft zones in structure can be quite small in one aspect when penetrations get involved, so it only really works when CAD is preliminary, which then leads to the question of why is this in CAD anyway.

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [September 12, 2022, 4:46am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/18 "2022-09-12T04:46:55Z")

</div>

The ‘door opening’ appearance in a few of the lines could be throwing me off? I suppose it could be a cleanliness of CAD data driving the issue just as well. Still comparing the sizes of the resulting shapes should provide meaningful output with the area method, as smaller elements would be discounted just as readily; the issue would be if the space between two beams was less than the width of a beam. All the same due to the sheer discrepancies in the data sets provided it’s likely that it’d be far faster to draw the beams in Revit rather than try and build the infill spaces, which would then make creating the infill spaces far easier as it’d be the spaces where there isn’t a solid created by the beam geometry.

---

<div class="post-metadata">

**Author:** ![ENGRMA1234](https://avatars.discourse-cdn.com/v4/letter/e/a698b9/32.png) [@ENGRMA1234](https://forum.dynamobim.com/u/ENGRMA1234)\
**Post date:** [February 21, 2023, 5:16am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/19 "2023-02-21T05:16:11Z")

</div>

@mansonchen Hi , Could you help me I have the same problem. And I want to solve it with dynamo

---

<div class="post-metadata">

**Author:** ![mansonchen](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/mansonchen/32/98076_2.png) [@mansonchen](https://forum.dynamobim.com/u/mansonchen)\
**Post date:** [March 8, 2023, 5:44am UTC](https://forum.dynamobim.com/t/create-floor-by-cad-dwg/76687/21 "2023-03-08T05:44:24Z")

</div>

update your dyn and rvt ~
