2
$\begingroup$

A client wants me to prepare a 3D model of a city's street network for 3D printing. She provided an Illustrator file with lines, which I exported as a dxf and imported into Blender. The thickness needs to be adjustable, so I cleaned up the mesh and went with a Skin modifier, hoping I could flatten the result to create the desired width. However, this resulted in a lot of overlapping geometry, making for a terrible mesh to print. Is there an automated way to clean this up? The scale of the project is quite large, and fixing it all by hand would take hours (and who knows how many revisions there'll be..)

The curves I started with: enter image description here

Skin modifier: enter image description here

The overlapping faces when flattened: enter image description here

What I roughly need to get, but then clean ofcourse: enter image description here

$\endgroup$
4
  • 2
    $\begingroup$ Can you share the dfx or blend file before applying modifier? blend-exchange.com $\endgroup$
    – Harry McKenzie
    Commented May 28 at 15:39
  • $\begingroup$ what you can use instead of a skin modifier is a Screw modifier set to 1 step and 0° along the Z axis, then a solidify modifier. But the quality depends on the quality of your dxf polylines $\endgroup$
    – Gorgious
    Commented May 28 at 18:49
  • $\begingroup$ @HarryMcKenzie I can't, but it's pretty much the same as when you've drawn a spiderweb with curves and give it enough thickness so the strands clip into eachother. $\endgroup$
    – TomTr
    Commented May 29 at 10:44
  • $\begingroup$ @TomTr ok. but there is no automatic way to clean up this type of intersecting mesh, you have to manually do it. Or start with a web of only vertices and connecting edges as shown in my answer. $\endgroup$
    – Harry McKenzie
    Commented May 29 at 12:16

2 Answers 2

2
$\begingroup$

The best way I could think of is to first start with only "thin" roads, that is, only vertices and edges like as shown below. If you have a curve object, convert it to mesh. Make sure there are no overlapping vertices and possibly merge close vertices by selecting all in Edit Mode with A and then press M > Merge By Distance and increase the Merge Distance to your desired amount.

enter image description here

With everything selected press EZ to extrude on the Z-axis:

enter image description here

Then add Solidify Modifier with Mode set to Complex, Offset set to zero, and Thickness set to desired thickness amount. Then Apply modifier and check the mesh.

enter image description here

This may not be perfect so you will have to check the mesh and manually fix any non-manifold parts. Additionally you can install the built-in addon 3D Print Toolbox to check if there are any other potential problems. In my case it was perfect no problems at all and ready to 3D print.

enter image description here

$\endgroup$
1
$\begingroup$

Have you tried using merge by distance or limited dissolve?

Before extruding the mesh, there are many clean up tools there that you can use.

Merge by distance: Overlapping vertices are sometimes solved this way:Select the mesh, tab to go into edit mode, m merge> by distance, and adjust this value to a very small distance, and press enter to eliminate some doubled vertices.

Limited dissolve: Select the mesh, tab to go into edit mode, Press F3 to search for Limited Dissolve or select Mesh>Cleanup>Limited Dissolve, adjust the values and when satisfied press enter.

enter image description here

These methods are trial and error to solve the topology exactly as you prefer, without deleting any essential information.

You may want to check out other answers on cleaning up .svg, which also tend to clean up vertices, and do a limited dissolve. .svg tends to work very well for vector conversion.

$\endgroup$
1
  • $\begingroup$ Both Merge by Distance and Limited Dissolve don't work in this case. MbD only removes points that are overlapping, if the points of the overlapping faces dont align this doesn' clean up anything. LD also doesn't remove the overlapping geometry because it thinks they are still "neccessary" boundaries. $\endgroup$
    – TomTr
    Commented May 29 at 9:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .