IntersectOverlaps v.1.000
by Todd Burch


description Causes lines that cross and do not intersect to intersect.


IntersectOverlaps is a great script for "fixing" an imported CAD drawing.

Symptoms that you might have overlapping and non-intersecting lines is that faces will not create where you want them to be created, or if they do create, they cross lines in your model. Faces are not supposed to do this.

Overlapping and non-interecting lines in SketchUp are fairly easy to spot, once you know what you are looking for.

A series of examples follow. The first image shows a rectangle with properly drawn lines inside the rectangle. The inner lines, we can see, are lighter in weight (thinner) than the darker, heavier, bounding lines. You can also observe that there are four distinct faces by activating the pushpull tool and hovering over each of the faces. None of the faces cross a line.

In the next example, there is a dark line and a light line inside the model. The dark line, since it dark, is not associated with any faces. Deleting this dark line will not remove any faces from the model. This is an overlapping, non-intersecting line. It overlaps the light weight line.

SketchUp sort of "thinks" they intersect, as you can see from the tool tip, but in fact, they do not intersect. If the light line and dark line did intersect, that is the point in which they would intersect.

Also, as done above, activating the pushpull tool can be used to validate your finding. As shown below, the pushpull tool high hilights the face being inferenced. This face crosses lines, therefore, any lines it crosses are overlapping and non-intersecting lines withing the model. Running MakeFaces will not yield desired results.


Correcting this problem can be done manually by drawing over the dark line twice. The first time by drawing from either far end of the dark line up to its middle where it overlaps the thin line and you get the "intersection" inference tooltip. Then, draw over the other half of the line. For this demonstrative example, the fix is rather quick and painless. However, in models with dozens or hundreds of lines, this IntersectOverlaps ruby script will save day, and your sanity.

After you purchase this script and download it to your /Plugins folder, this is how to use it:

  1. Select your whole model or a portion of your model
  2. Activate Intersect Overlaps from the Plugins Menu
  3. Intersect Overlaps will run, and will report statistics at the end of the run
  4. A progress bar will be updated on the Status Bar while running.
  5. Another script, progressbar.rb, is required. You must download it as well.

This script will destroy faces everywhere lines needs to be redrawn. After running you will usually want to run Makefaces to (re)create faces in your model.

If you are not satisfied with the results after running Intersect Overlaps and Makefaces, there may be other reasons faces you thought should have been created, did not get created.

  • Your model is too small. SketchUpTM will not create very small faces, less than approximately 1/16" or less than 1mm. Try scaling your model up 10X or more and rerun.
  • There may be stray line fragments that interrupt normal face creation. Run stray_lines.rb to see if any of these types of lines exist in your drawing.
  • Line segments may not form a closed loop. Again, run stray_lines.rb to identify these. If you have downloaded the CloseOpens script, it will most likely close the opens automatically. See the notes for CloseOpens.
  • Points may not be coplanar (on the same plane). Use can use the Tools>Utilities>Query Tool to check the faces for their coordinates. A quick test is to draw a diagonal line. If the faces close automatically when a diagonal line is drawn, the loop of lines are most likely not coplanar.
  • Parallel lines may overlap each other. Another script, Collinear Overlaps will be released soon to resolve these issues.
This script is one is a series of scripts that can be used to clean up imported .DXF and .DWG files. Also see:

see also other plugins by Todd Burch:

notice By purchasing and installing this plugin, you indicate that you have read and agree to the terms and conditions of the End-User License Agreement (EULA). Prices subject to change.