               p]
         ]
     (subs (str
-         (if (contains? r :solid)
+         (if (contains-not-null r :solid)
            (str (nextline)
                (generate
                  (merge

        (common i)
        (point (:point i))
    ])
      (if (contains? i :xscale) (str (nextline) "41" (nextline) (:xscale i)) "")
      (if (contains? i :yscale) (str (nextline) "42" (nextline) (:yscale i)) "")
      (if (contains? i :zscale) (str (nextline) "43" (nextline) (:zscale i)) "")
      (if (contains? i :rotation) (str (nextline) "50" (nextline) (:rotation i)) "")
      (if (contains? i :cols) (str (nextline) "70" (nextline) (:cols i)) "")
      (if (contains? i :colspacing) (str (nextline) "44" (nextline) (:colspacing i)) "")
      (if (contains? i :rows) (str (nextline) "71" (nextline) (:rows i)) "")
      (if (contains? i :rowspacing) (str (nextline) "45" (nextline) (:rowspacing i)) "")
    )
  )


    "40" "0.0"
  ]))

(defn contains-not-null [m k]
  (and (contains? m k) (not= nil (k m))))

(defn common [c]
  (let [parent (:parent c c)]
    (str "8" (nextline) (:layer parent)
        (if (contains-not-null parent :color) (str (nextline) "62" (nextline) (:color parent)) "")
        (if (contains-not-null parent :extrusion) (str (nextline) (point (:extrusion parent) 200)))
        (if (contains-not-null parent :lineType) (str (nextline) "6" (nextline) (:lineType parent)))
        (if (contains-not-null parent :lineWeight) (str (nextline) "370" (nextline) (:lineWeight parent)))
        (if (contains-not-null parent :lineTypeScale) (str (nextline) "48" (nextline) (:lineTypeScale parent)))
        (if (contains-not-null parent :thickness) (str (nextline) "39" (nextline) (:thickness parent)))
    )))

(defmethod generate :face [f]
