Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page

# importing imprecisely drawn dwg/dxf into sketchup

My workflow for developing energy models starts with creating a line drawing in AutoCAD from the plans that includes only those features which will have a significant impact on the energy performance results. I typically snap to a 1' grid to avoid too many small surfaces and/or small gaps or overlaps.

Anyhow, I had a colleague helping me out who did not quite understand the importance of precision in this whole process (definitely a failure on my part). So now I have a very large complex building outlined with an indeterminate number of slight offsets at the vertices.

Does anyone have a clever method/extension to extrude or modify these line drawing in Sketchup without creating a bunch of super small spaces and/or gaps? or perhaps some way to edit the drawings in AutoCAD? or a measure to modify the osm directly? I am open to anything that is even marginally less annoying than looking at all vertices or redrawing the outlines from scratch.

edit retag close merge delete

and on the topic of tolerance and precision. i frequently get really small numbers ( x 10^-15) instead of 0 in the coordinate values for geometry objects in my osm files. is there a measure to round all of these to 0? i realize this probably happens somewhere along the line in the simulation but it makes manipulating the osm kind of annoying sometimes.

( 2017-04-21 12:49:05 -0500 )edit

Precision problem you describe is a known issue that has been around a while, we don't have an easy fix for it.

( 2017-04-24 11:48:24 -0500 )edit

Sort by » oldest newest most voted

So there are two issues. One is gaps that prevent spaces from being made. There are tools for both SketchUp and Autocad that can find/fix gaps, but it is not always as simple as a click, there may be mistakes in how it is "automatically cleaned.

The second issue is a model that may be valid/clean but way too detailed producing tongs of tine surfaces for subtable envelope offsets that you don't want. I'm not aware of an easy way to do this. There are many DWG/DXF polygon reduction tools, but most of these are focused on 3d geometry, not sure hat it would do on floor plans of multiple polygons.

Your best bet depending on scope of the issue is to live with the high polygon count, or maybe manually trace in SketchUp, but only with level of detail you want. You can group the DWG import and lock the object. Then you can still snap to it while drawing (so better than importing as image).

I know Autodesk is trying to provide some level of geometry simplification for what they call "Analytical model" in Revit for energy analysis. but not sure if that will help you for the current project.

more

Thanks David. The way that i create the outlines actually allows for very small spaces to be created when using "create spaces from diagram" so the issue in not really one of extra, unnecessary detail or gaps. Marking as an answer because still good info. Adding my (very) tedious solution below.

( 2017-04-24 12:55:34 -0500 )edit

It would be possible to write a measure to identify and remove OpenStudio spaces that are smaller than the expected size. Also I have considered geometry simplification for near coplanar surfaces but that is a can of worms I'm not ready to open, although I have prototyped a measure that creates a bar shaped building to replace the complex building after harvesting the window to wall ratios and boundary conditions by story and facade (not something that is public). A little to heavy handed for most user cases.

( 2017-04-24 13:00:57 -0500 )edit

As sub-optimal solution I imported the dwg into sketchup, used "add faces" to add all faces possible, this makes it a bit easier to see issues than in AutoCAD. I then fixed the most glaring and obvious problems. I then used "create spaces from diagram" and exported the resulting osm to gbxml. I then extracted all the floors along their "width" and "height" using a text editor and sorted the resulting areas to find the smallest surfaces. I then found the issues that caused these surfaces to be created and fixed them in the original dwg.

super fun.

more

You could try to gather your analytics on small surfaces and spaces in an OSM model.

model.getSpaes.each do |space|
puts space.floorArea
end


If you want to get surfaces for spaces then nest another loop in that

space.surfaces.each do |surface|
puts surface.netArea
end


If you wanted to get fancy (and if you had matched surfaces) you could do something like find the largest adjacent space on same story, move the surfaces to that space, and then delete the small space. Then you could attempt to merge the resulting coplanar surfaces.

( 2017-04-24 15:48:49 -0500 )edit