1
$\begingroup$

I have a 2D Vector Drawing that I imported to and extruded in Blender, like this one:

dxf imported

What I want is the top to be closed and the cylinder would be a hole. Is there a way to import into Blender or export the dxf from the vector software correctly so that the areas are closed.

If I do this manually it takes long and If I connect all the vertices on the top layer the holes won't show. It is one connected area like so:

enter image description here

And finally if I do it by hand and connect some vertices in steps, I can't dissolve the result to one area (which I need).

I hope I explained myself. I lost quite some time to find a solution for this and if anybody knows how to connect this quickly I would be very glad to know.

Thanks in advance.

Here my options:

enter image description here

Here is how my dxf file looks like. I want the yellow araes to be connected:

enter image description here

Bezier:

enter image description here

Dxf can't be uploaded:

Dxf can't be uploaded

$\endgroup$
4

2 Answers 2

3
$\begingroup$

Not particularly quick, but quite simple, try this:

  1. Import the DXF file, with the default DXF importer, enabled from the preferences > addon menu, like this:

enter image description here

then

enter image description here

  1. Use the standard settings

enter image description here

  1. You will find your DXF shape as group object in your scene

enter image description here

  1. Select the group shape, and reset it to its origin (from the toolbar as below, or press ctrlaltshiftC), select "Geometry to Origin"

enter image description here

  1. Now remove the group with shiftaltG

enter image description here

  1. Now you have your shape as curve object: convert it to mesh with altC and select "mesh from curve"

enter image description here

  1. Now you have your shape as mesh

enter image description here

  1. Enter edit mode, select all, and Press altF to fill faces, leaving holes

enter image description here

  1. Now you have a filled/holed mesh, and extruding it should get you what you want... You can of course first clean the filled surface using dissolve, but it works anyway, like:

enter image description here

then

enter image description here

to get, finally:

enter image description here

I hope this was what you were looking for... :)

$\endgroup$
1
  • $\begingroup$ muchas gracias ! yes that is what I looked for. $\endgroup$
    – digit
    Commented May 11, 2016 at 17:59
0
$\begingroup$

What DXF importer are you using? There are a few different ones around currently I think.

From my experience the one from Lukas Tryer, Manfred Moitzi with the DXFGrabber Library yields better results. (check the addons description by expanding they panels)

Anyway depending on what DXF importer you are using make sure you import as bezier curve objects, not mesh. Bezier curve objects will automatically handle filling correctly and you wont have to manually bother with triangulation and managing holes.

There is generally an option to the bottom left when importing the DXF that will allow you to import as either mesh or curves, depending on the importer you use. Your objects seem to currently be meshes, you either imported them as mesh or converted them afterwards

Make sure your drawing is clean before importing though, no overlapping segments, no double vertex and closed polylines/circles/arcs only. Blender won't be able to fill open shapes.

Edit

If it already is imported as bezier it make sure all your curve segments are closed by entering edit mode on the curve, selecting one vertex from each segment and pressing Alt + C to close it. Do this far all segments ir caping may fail or give undesired results.

Also make sure your curve is set to 2D in the Properties Window > Object Data tab and the Fill option is set to either Front, Back or Both

$\endgroup$
7
  • $\begingroup$ Thanks, very interesting. I am using the Lukas Tryer et al one. Where can I say import as Bezier ? I add my options to my original question. $\endgroup$
    – digit
    Commented May 10, 2016 at 15:02
  • $\begingroup$ Hum those are almost the same settings I have by default, except I have "Merge by attributes" but that should make no difference. This addon does not have an option to import as mesh, this was probably from another version. Anyway can you post your DXF file somewhere? Try importing it again, it should be imported as bezier curves by default. Did you manually convert it to mesh? $\endgroup$ Commented May 10, 2016 at 15:08
  • $\begingroup$ These are the default setting, I never changed them. I added a screenshot of the dxf file. There are more than this one, but in principle it is all the same, areas with holes in them, which I would like to extrude. Thanks for your help ! $\endgroup$
    – digit
    Commented May 10, 2016 at 15:13
  • $\begingroup$ Hum seems like a standard DXF file, try re-importing again and don't convert it to mesh before extruding this time. Use the bezier curve options in the properties panel to extrude and or bevel your geometry instead. Or use the method described above by m.ardito to upload your file so we can look at it. $\endgroup$ Commented May 10, 2016 at 15:20
  • $\begingroup$ Same problem, see the image above... $\endgroup$
    – digit
    Commented May 10, 2016 at 15:27

You must log in to answer this question.

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