[NTG-context] Creating SVG: using MetaFun, exporting proper units, conversion to DXF

Mojca Miklavec mojca.miklavec.lists at gmail.com
Wed Jun 29 12:31:47 CEST 2016


Hi,

I want to play with CNC and don't yet have any experience with CAD
software (nor the licence for the expensive ones) other than perhaps
some Blender, so I decided to try to use the super ugly route with
    metapost -> svg -> dxf -> g-code
for the first time.

I have a few questions.

(1) I love Hans' shortcuts in metafun, but I seem to remember that things like
    input metafun;
or perhaps
    input mp-tool;
used to work, so that I don't have to remember to use
    mpost -mem=metafun my-drawings.mp
when compiling the graphics.

Did the method with "input" ever work (or is it supposed to work)? Now
I'm getting a bunch of weird errors.
I would love to specify everything in the source file and then just
call mpost. If that doesn't work, that's fine, I can still add
"-mem=metafun", but ...

(2) I guess that using "raw metapost" is the only sane way to generate
SVG. If I use metapost inside ConTeXt that's probably not going to
work, right?

(3) Is there any way to convince the SVG output mode to generate something like
    <svg ... width="100.0mm" height="100.0mm" ... >
rather than
    <svg ... width="283.46456692913387" height="283.46456692913387" ... >
because the program I use to convert SVG to DXF has troubles
interpreting "points" properly. I read somewhere that they assume 90
points per inch because that's Inkskape's default.

(4) Does anyone have a better proposal for conversion into DXF (or
G-code)? I'm currently playing with FreeCAD and I've seen some
tutorials showing that AutoCAD can open PDF directly, but I don't want
to buy AudoCAD just for the sake of converting files.

(Not to mention that FreeCAD's SVG importer crashes when reading
output from MetaPost unless I manually remove parts of the SVG, but
that's an unrelated problem that I'm somehow able to overcome.)

Thank you,
    Mojca


More information about the ntg-context mailing list