4
$\begingroup$

I am currently trying to 3D model a trophy for a film festival. Roughly speaking, the trophy will look like two people holding a large strip of film. For this model, i need to extrude the following 2D Shape:

enter image description here

I have created this shape as an SVG using InkScape. It is proving quite difficult for me to import it into blender and extrude it however. The SVG is one path, and blender succesfully imports it as one curve. I convert this curve to a mesh, enter edit mode, and everything looks just fine:

enter image description here

Here is the problem: How do i create one face from this that I can extrude? There's no easy way I can see to select the nodes in a way where I make just this face. An alternative approach would be to make one SVG object be the outer edge and another SVG object be the holes. Then I could easily select every node on the outer edge and make a face, extrude it, then (somewhat) easily make a face for every hole, extrude all those faces, and use a boolean modifier to remove that from the outer edge. This works in theory, but the object I get from applying the boolean modifier is an absolute mess with non-manifold edges everywhere. Also yes, I have checked that my normals are correct.

What's the best way to accomplish this thing I am trying to do?

Any help is appreciated.

The SVG in question is here (not allowed to embed the svg file itself):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="172.53326mm"
   height="13.507841mm"
   viewBox="0 0 172.53326 13.507841"
   version="1.1"
   id="svg2338"
   inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
   sodipodi:docname="SvgTest3.svg">
  <defs
     id="defs2332" />
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="1.4"
     inkscape:cx="293.91946"
     inkscape:cy="149.65288"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     inkscape:document-rotation="0"
     showgrid="false"
     fit-margin-top="0"
     fit-margin-left="0"
     fit-margin-right="0"
     fit-margin-bottom="0"
     inkscape:window-width="1920"
     inkscape:window-height="1009"
     inkscape:window-x="-8"
     inkscape:window-y="-8"
     inkscape:window-maximized="1" />
  <metadata
     id="metadata2335">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(-7.0933692,-25.184845)">
    <path
       id="rect886"
       style="fill:none;stroke:#f10000;stroke-width:0.412001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.979839"
       d="m 7.2993697,25.390846 v 13.09584 H 179.42064 v 
        -13.09584 h -18.973 a 6.2140163,5.8849331 0 0 1 
        -1.66966,2.875277 6.2140163,5.8849331 0 0 1 -8.7881,0 
        6.2140163,5.8849331 0 0 1 -1.66966,-2.875277 H 
        33.440409 a 6.2140163,5.8849331 0 0 1 
        -1.624706,2.695959 6.2140163,5.8849331 0 0 1 
        -8.787578,0 6.2140163,5.8849331 0 0 1 
        -1.62419,-2.695959 z m 4.3733763,5.303552 c 1.473151,0 
        2.659269,1.02026 2.659269,2.287198 v 1.99471 c 
        0,1.26696 -1.186118,2.287198 -2.659269,2.287198 
        -1.47314,0 -2.659269,-1.020238 -2.659269,-2.287198 v 
        -1.99471 c 0,-1.266938 1.186129,-2.287198 
        2.659269,-2.287198 z m 10.422103,0 c 1.47314,0 
        2.659269,1.02026 2.659269,2.287198 v 1.99471 c 
        0,1.26696 -1.186129,2.287198 -2.659269,2.287198 
        -1.47315,0 -2.658753,-1.020238 -2.658753,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185603,-2.287198 
        2.658753,-2.287198 z m 10.583332,0 c 1.473152,0 
        2.659271,1.02026 2.659271,2.287198 v 1.99471 c 
        0,1.26696 -1.186129,2.287198 -2.659271,2.287198 
        -1.473139,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185611,-2.287198 
        2.65875,-2.287198 z m 10.583333,0 c 1.473153,0 
        2.659272,1.02026 2.659272,2.287198 v 1.99471 c 
        0,1.26696 -1.186119,2.287198 -2.659272,2.287198 
        -1.473139,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185611,-2.287198 
        2.65875,-2.287198 z m 10.583333,0 c 1.473142,0 
        2.659272,1.02026 2.659272,2.287198 v 1.99471 c 
        0,1.26696 -1.18613,2.287198 -2.659272,2.287198 
        -1.473149,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185601,-2.287198 
        2.65875,-2.287198 z m 10.583334,0 c 1.473141,0 
        2.659271,1.02026 2.659271,2.287198 v 1.99471 c 
        0,1.26696 -1.18613,2.287198 -2.659271,2.287198 
        -1.47314,0 -2.658751,-1.020238 -2.658751,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185611,-2.287198 
        2.658751,-2.287198 z m 10.583333,0 c 1.473147,0 
        2.659271,1.02026 2.659271,2.287198 v 1.99471 c 
        0,1.26696 -1.186124,2.287198 -2.659271,2.287198 
        -1.473142,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185608,-2.287198 
        2.65875,-2.287198 z m 10.583333,0 c 1.473147,0 
        2.659271,1.02026 2.659271,2.287198 v 1.99471 c 
        0,1.26696 -1.186124,2.287198 -2.659271,2.287198 
        -1.473139,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185611,-2.287198 
        2.65875,-2.287198 z m 10.583333,0 c 1.473145,0 
        2.659272,1.02026 2.659272,2.287198 v 1.99471 c 
        0,1.26696 -1.186127,2.287198 -2.659272,2.287198 
        -1.473142,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.185608,-2.287198 
        2.65875,-2.287198 z m 10.58333,0 c 1.47315,0 
        2.65927,1.02026 2.65927,2.287198 v 1.99471 c 0,1.26696 
        -1.18612,2.287198 -2.65927,2.287198 -1.47315,0 
        -2.65875,-1.020238 -2.65875,-2.287198 v -1.99471 c 
        0,-1.266938 1.1856,-2.287198 2.65875,-2.287198 z m 
        10.58334,0 c 1.47314,0 2.65927,1.02026 2.65927,2.287198 
        v 1.99471 c 0,1.26696 -1.18613,2.287198 
        -2.65927,2.287198 -1.47315,0 -2.65875,-1.020238 
        -2.65875,-2.287198 v -1.99471 c 0,-1.266938 
        1.1856,-2.287198 2.65875,-2.287198 z m 10.58333,0 c 
        1.47314,0 2.65927,1.02026 2.65927,2.287198 v 1.99471 c 
        0,1.26696 -1.18613,2.287198 -2.65927,2.287198 
        -1.47314,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.18561,-2.287198 
        2.65875,-2.287198 z m 10.58333,0 c 1.47314,0 
        2.65927,1.02026 2.65927,2.287198 v 1.99471 c 0,1.26696 
        -1.18613,2.287198 -2.65927,2.287198 -1.47314,0 
        -2.65875,-1.020238 -2.65875,-2.287198 v -1.99471 c 
        0,-1.266938 1.18561,-2.287198 2.65875,-2.287198 z m 
        10.58334,0 c 1.47314,0 2.65927,1.02026 2.65927,2.287198 
        v 1.99471 c 0,1.26696 -1.18613,2.287198 
        -2.65927,2.287198 -1.47315,0 -2.65875,-1.020238 
        -2.65875,-2.287198 v -1.99471 c 0,-1.266938 
        1.1856,-2.287198 2.65875,-2.287198 z m 10.58333,0 c 
        1.47314,0 2.65926,1.02026 2.65927,2.287198 v 1.99471 c 
        0,1.26696 -1.18613,2.287198 -2.65927,2.287198 
        -1.47315,0 -2.65875,-1.020238 -2.65875,-2.287198 v 
        -1.99471 c 0,-1.266938 1.1856,-2.287198 
        2.65875,-2.287198 z m 10.58333,0 c 1.47314,0 
        2.65927,1.02026 2.65927,2.287198 v 1.99471 c 0,1.26696 
        -1.18613,2.287198 -2.65927,2.287198 -1.47314,0 
        -2.65875,-1.020238 -2.65875,-2.287198 v -1.99471 c 
        0,-1.266938 1.18561,-2.287198 2.65875,-2.287198 z" />
  </g>
</svg>
$\endgroup$
5
  • $\begingroup$ Convert to mesh then Alt F? $\endgroup$
    – moonboots
    Commented Aug 10, 2023 at 19:12
  • $\begingroup$ Model it, instead? (Increase Subdiv. level to 1.. I left it off by accident) $\endgroup$
    – Robin Betts
    Commented Aug 10, 2023 at 20:35
  • $\begingroup$ if you don't need to bend the strip and it's only straight with an extrude thickness then Cornivius answer will suffice. $\endgroup$
    – Harry McKenzie
    Commented Aug 11, 2023 at 2:33
  • $\begingroup$ To be honest, I think it would be easier to just manually model a square with a hole and array it. $\endgroup$ Commented Dec 2 at 13:38
  • $\begingroup$ Then you can conform it to a curve if you want to to make it bendy $\endgroup$ Commented Dec 2 at 13:40

2 Answers 2

5
$\begingroup$

If you import the SVG into blender it'd be a path/Curve. If you go to the curve tab on the right hand menus and set it to 2D, and Fill Mode 'Both' it should give you a flat object where the inside lines create the holes.

enter image description here

You can also Extrude it in the Geometry section on the right. Then you can just convert it to a mesh. If it's going to be deformed then probably give it a Sharp remesh modifier too

Import SVG is an addon that comes with Blender. In case you don't have it activates, got to Edit->Preferences->Add ons and search SVG, then activate it enter image description here

$\endgroup$
4
  • $\begingroup$ Thanks. This worked, but the generated mesh is unfortunately filled with nonmanifold edges everywhere. Will I maybe just have to model this, like @Robin Betts sugests? $\endgroup$
    – Buster Bie
    Commented Aug 11, 2023 at 5:35
  • $\begingroup$ Does a Remesh modifier in sharp mode not solve that issue? If the curve is very messy when you import it, in Edit mode, go to Curve->Clean Up->Decimate curve. This might solve it. Otherwise, yea, modeling it would be quicker $\endgroup$
    – Cornivius
    Commented Aug 11, 2023 at 11:37
  • $\begingroup$ For modeling you can't have 1 face. each of the holes needs to be connected to the outside vertices with 2 edges. The quicker way to model this would be to separate the wholes into another object, fill them and extrude them so they are solid 'cylinders' and use them with a boolean modifier on the original part, that you have also filled and extruded. That will cut the holes throw it without having to connect them manually $\endgroup$
    – Cornivius
    Commented Aug 11, 2023 at 11:41
  • $\begingroup$ Hi @Cornivius. I ended up splitting the SVG into smaller parts i could model manually (fill in the faces) and then copy paste and join. Unfortunately, the remesh modifier fails to even apply, and extruding the holes as a seperate object and then using a boolean modifier also generates a ton of non-manifold edges. $\endgroup$
    – Buster Bie
    Commented Aug 13, 2023 at 8:08
1
$\begingroup$

Drag-and-dropping an SVG file imports it as a Grease Pencil object. Alternatively, you can use:

File > Import > Scalable Vector Graphics (.SVG)

This method allows you to create a curve from the SVG, which you can then modify further, such as extruding or editing the geometry.

$\endgroup$

You must log in to answer this question.

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