CAD Preparation for Import
The quality of your Rhino model is limited by the quality of the CAD file you bring in. Fix problems in CAD — they're cheaper to solve there.
Why this matters
Every overlapping line, broken polyline, and orphaned point in your CAD file becomes a modeling problem in Rhino. Rhino's SPLIT command relies on contiguous, non-overlapping curves. Its JOIN relies on curves that actually meet at endpoints. Its terrain workflow requires contours that are single connected lines with no gaps. Spending 20 minutes cleaning a CAD file prevents hours of modeling errors. Do not skip this step.
CAD cleanup sequence
Run these commands in AutoCAD before importing into Rhino. Order matters.
| Command | What it does | Notes |
|---|---|---|
| XREF BIND / INSERT | Permanently embeds XREFs into the drawing file | BIND preserves layer prefixes (Survey$0$Layer). INSERT merges layers cleanly. Use INSERT for cleaner results. |
| EXPLODE | Breaks XREFs into raw objects after binding | Select all and explode until no more compound objects remain. Check the command line for the count. |
| JOIN (per layer) | Connects line segments with shared endpoints into single polylines | Isolate each layer and JOIN all objects. A properly drawn CAD file should JOIN cleanly — gaps and overlaps will prevent this. |
| OVERKILL | Removes duplicate lines, overlapping segments, and zero-length objects | Run on each layer after JOIN. This is what removes the extra lines CAD drafting produces at intersections and offsets. |
| AUDIT (then Y) | Checks the drawing for file structure errors and offers to repair them | Always answer Y to fix. Run before and after PURGE. |
| PURGE (PU) | Removes all unused named objects: layers, blocks, text styles, linetypes | Run until nothing is reported as purgeable. |
| -PURGE then R | Deletes all registered application IDs (ARX/ObjectARX data) | Downloaded blocks and some commands leave hidden app registration data. This removes it. |
| AUDIT + PURGE again | Final check | Run the sequence twice to catch anything the first pass missed. |
| SAVE | Save the cleaned file into your XREF or Archive folder | This is the file you'll import into Rhino. Do not continue working in it after this point. Be sure to save your file with an easily discernable name. |
Why OVERKILL matters for terrain
Your contour lines are the most important linework for the Rhino terrain workflow. Each contour must be a single, complete, non-self-intersecting polyline with no duplicate segments. OVERKILL handles the duplicates. But it cannot fix gaps — a gap in a contour line produces a hole in the terrain mesh. Zoom in on each contour at its endpoints and verify continuity. If JOIN produced fewer objects than expected, there are gaps somewhere.
Try this
Before running OVERKILL on your drawing, use LIST to record how many objects are on a single layer. Run OVERKILL on that layer. Use LIST again. If the number dropped significantly, that layer had duplicate geometry that would have caused modeling problems. Note which layers had the most duplicates — they're likely where curves intersect and where CAD drafting tends to leave overlapping segments.
What breaks
Skipping XREF BIND — INSERT before OVERKILL — OVERKILL cannot operate on XREF content. The survey's contours are in an XREF. Bind — Insert the survey before cleaning, or Rhino will import the survey as a broken reference or not at all.
Running JOIN on all layers simultaneously — JOIN works best per layer because it can connect objects that happen to share endpoints even across element types. Run it layer by layer to avoid accidentally joining site boundary lines to contours.
Importing the original CAD file instead of the cleaned version — name the cleaned file clearly (e.g., Smith_01_forRhino.dwg) and import only that file. Your original working CAD file should remain untouched.