Subtracting complicated geometries

I have a very complicated series of loops that I built from a series of short joined DXF lines (See attached image. I then used lines2tubes (an extension) to give these loops some depth. I need to engrave these loops into the surface of a cylinder, however, the angles between the line segments I have get very complicated, so the shapes that i generate are never actually solids (they have a bunch of internal geometry from where the cylinders meet.) Is there a better way to go about etching these lines into the cylinder, or is there something else I need to be considering?

I could go about trying to rebuild and patch the bad geometry, however there are too many pieces for this to be reasonable. I also tried smoothing the DXF line before applying lines2tubes, but it moves my lines too far from where they need to be.

The endgame goal is to 3d print (or engrave these lines in an existing pipe stock) this piece, so that it can be used as a guide for wires, so that when we run a high current through them they generate a very specific magnetic field.

How big is it? Try scaling it up by 100 or maybe 1000 before creating the “engraving”.

That doesn’t seem to help. I still have the same bad couple of corners. Is there a better way to give these lines some depth?

Are the lines just single lines? If so, they have no width. You’ll need to make narrowly spaced concentric rings. Then you could use something like Fredo’s Joint Push/Pull to push in the surface between the lines.

You ought to turn off end points and extensions. It’ll make it easier to see what is going on.

can you post your skp and the curves dxf so it’e easier to suggest alternate approaches?


Don’t use lines to tubes, use follow me.

Attached is a simpler model (it only has 16 loops, instead of 30)
Coil4help.skp (279.9 KB)

I think you’d be better served by doing it all in SU using Fredo’s plugins like Curvisard, BesierSpline and Tools on Surface…

also, definitely model at scale, i.e. use a meters template and pretend it’s mm…

I would also only model a solid quadrant and rotate copies…


If you use the Follow Me tool to create the tubes (as @Box suggests) and make components of the results, it will import into MakerBot even though it’s not technically a SketchUp solid. However, this produces raised lines on the part and not grooves, so maybe this approach won’t work for you.

Rendered with KerkyThea:

Imported into MakerBot:

Regardless of the approach, I think that printing this small of a detail on the side of a cylinder will be problematic at best. [In a former life, I would mill this on a 4-axis CNC machine]

Here I have done one loop.
Scaled up by 100.
Exploded the nesting.
Exploded the loops.
Ran Curvisard on the loops to weld them.
Used follow me on a circle ( used a default 24 but you’d probably do better with less) to create one loop and repaired the tiny gap at the joint.
Positioned and in intersected the loop (within the cylinder group) and deleted the excess.
Resulting in a cylinder with a groove in it.
Rinse and repeat.
Personally I would smooth out your contours to remove the sharp angles, unless they are truly specific.
I had no trouble making the loop solid and used subtract from solid tools, but I did it with intersect also as you have Make.
Coil4help.skp (844.1 KB)

1 Like

Thanks so much for the advice, guys. I had some luck with Fredo’s Curviloft, but now I’m having trouble navigating how to get the tubes subtracted. When I use the intersect with model between a loop and my cylinder, it seems that I only get a line on each side of the tube, and the connections are sketchy at best, so I frequently end up deleting more of the cylinder than I want to…Any tips for how best to make this work?