Inkscape.org
  1. #1
    cartoonygothica cartoonygothica @cartoonygothicpunker
    *

    While trying to figure out why Inkscape kept crashing when a node coordinate extension was being used on one of my drawings, a fellow user got rid of a lot of defs from the file. I tried to look up what defs are, but I couldn't find any helpful explanations, so far. I want to know not only what defs are, but also where I can find them and how I can clean them up.

  2. #2
    Tyler Durden Tyler Durden @TylerDurden
    *

    Defs are parts of an SVG document that do not display on the screen or in print.  They contain instructions on patterns, gradients, symbols, etc., that are used by objects that do get displayed.

    Defs can get placed in the document in the process of designing and editing. If they are associated with a design feature that gets deleted, they might not be automatically deleted

    Unused defs are easily removed by using File>Clean Up Document.

     

     

    Here is the content of the simple svg attached (two rectangles, one with a pattern, one with a gradient). The defs are highlighted.

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <!-- Created with Inkscape (http://www.inkscape.org/) -->
    <svg
       width="633.813537598"
       height="626.949157715"
       viewBox="0 0 633.813537598 626.949157715"
       version="1.1"
       id="svg5"
       sodipodi:docname="Defs.svg"
       inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
       xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
       xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
       xmlns:xlink="http://www.w3.org/1999/xlink"
       xmlns="http://www.w3.org/2000/svg"
       xmlns:svg="http://www.w3.org/2000/svg">
      <sodipodi:namedview
         id="namedview7"
         pagecolor="#ffffff"
         bordercolor="#000000"
         borderopacity="0.25"
         inkscape:showpageshadow="2"
         inkscape:pageopacity="0.0"
         inkscape:pagecheckerboard="0"
         inkscape:deskcolor="#d1d1d1"
         inkscape:document-units="px"
         showgrid="false"
         inkscape:zoom="0.515193291235"
         inkscape:cx="318.327126518"
         inkscape:cy="314.445088389"
         inkscape:current-layer="layer1" />
      <defs
         id="defs2">
        <linearGradient
           id="linearGradient3951">
          <stop
             style="stop-color:#23e1ff;stop-opacity:1;"
             offset="0"
             id="stop3949" />
          <stop
             style="stop-color:#008000;stop-opacity:1;"
             offset="1"
             id="stop3947" />
        </linearGradient>
        <pattern
           inkscape:collect="always"
           xlink:href="#Checkerboard"
           id="pattern3442"
           patternTransform="scale(28.3050847554,23.7288135666)" />
        <pattern
           inkscape:collect="always"
           patternUnits="userSpaceOnUse"
           width="2"
           height="2"
           patternTransform="translate(0,0) scale(10,10)"
           id="Checkerboard"
           inkscape:stockid="Checkerboard">
          <rect
             style="fill:black;stroke:none"
             x="0"
             y="0"
             width="1"
             height="1"
             id="rect1957" />
          <rect
             style="fill:black;stroke:none"
             x="1"
             y="1"
             width="1"
             height="1"
             id="rect1959" />
        </pattern>
        <radialGradient
           xlink:href="#linearGradient3951"
           id="radialGradient3953"
           cx="505.677978516"
           cy="487.372894287"
           fx="505.677978516"
           fy="487.372894287"
           r="162.457626343"
           gradientTransform="matrix(1,0,0,0.6338028255,0,178.47457961)"
           gradientUnits="userSpaceOnUse" />
      </defs>
      <g
         inkscape:label="Layer 1"
         inkscape:groupmode="layer"
         id="layer1"
         transform="translate(-80.0847473145,-68.6440658569)">
        <rect
           style="fill:url(#pattern3442);fill-opacity:1;stroke-width:3.77953;stop-color:#000000"
           id="rect111"
           width="324.915252686"
           height="205.9322052"
           x="132.711868286"
           y="114.406791687" />
        <rect
           style="fill:url(#radialGradient3953);fill-opacity:1;stroke-width:3.77953;stop-color:#000000"
           id="rect221"
           width="324.915252686"
           height="205.9322052"
           x="343.220336914"
           y="384.406799316" />
      </g>
    </svg>
     
    Defs
  3. #3
    cartoonygothica cartoonygothica @cartoonygothicpunker

    Ah, okay. Thanks.

  4. #4
    削除されたユーザー gulshan212 🚫

    Hello this is Gulshan Negi

    I am a newbie here. Well, in Inkscape, "defs" (short for "definitions") are a way to store and reuse certain elements, such as patterns, gradients, and symbols, within a document. These elements can be defined once and then used multiple times throughout the document, which can save time and reduce file size. 

    Thanks