Drawing 3d nets - Archimedean solids
Java, 1552

import java.awt.*;import java.awt.image.*;import java.io.*;import javax.imageio.*;class
A{public static void main(String[]x)throws
Exception{String[]a={&quot;33623368356:356;66&quot;,&quot;33413341334535463547354735473444&quot;,&quot;33823382338:3586338&gt;358&gt;358&gt;358?88&quot;,&quot;66456:466:466845684668466766&quot;,&quot;334144453546354635474746464646464647354634463446344744&quot;,&quot;88456:466:466:4668458&lt;468&lt;468&lt;468:456846684668466788&quot;,&quot;33343535353231333535313133353447353434353534313133353447353545343535313133353447353545343444&quot;,&quot;33513351335233593554335433593554335935543359355433593559355835593559355935593455&quot;,&quot;33:233:233:433:B35:833:833:B35:833:B35:833:B35:833:B35:B35:833:B35:B35:B35:B35:C::&quot;,&quot;66566:576:57696869576969586969586:586969576969586857685868586766&quot;,&quot;334155453546354635463547594658465846584658473546354634463546344635463446354634463547584657465746574657473546344634463446344755&quot;,&quot;::456:466:466:466:466845:@46:@46:@46:@46:&gt;4568466:4668466:4668466:4668466:4668466845:&gt;46:&gt;46:&gt;46:&gt;46:&lt;45684668466846684667::&quot;,&quot;333531333434343132333434353531313335343434323232323334343435353231333133343556343434313233323335345935353532313331313132333233353535343557343133343556343434355934353535593432333234355935323335345935323335345935323335345935343459313334353455&quot;};BufferedImage
m=new BufferedImage(1300,1300,1);Graphics2D g=m.createGraphics();g.translate(500,500);String
s=a[Integer.valueOf(x[0])-1];int f=1,i=0,n,t;while(i&lt;s.length()){n=s.charAt(i++)-48;t=s.charAt(i++);while(t--&gt;48){g.drawLine(0,0,20,0);g.translate(20,0);g.rotate(f*Math.PI*2/n);}f=-f;}ImageIO.write(m,&quot;png&quot;,new File(&quot;o.png&quot;));}}

Ungolfed:
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class A {
    static int f = 1;
    static Graphics2D g;

    static void fixtrans() {
        double[] m = new double[6];
        g.getTransform().getMatrix(m);
        for (int i = 0; i &lt; 6; ++i) {
            if (Math.abs(m[i] - Math.round(m[i])) &lt; 1e-5) {
                m[i] = Math.round(m[i]);
            }
        }
        g.setTransform(new AffineTransform(m));
    }

    static void d(String s) {
        for (int i = 0; i &lt; s.length();) {
            int n = s.charAt(i++) - '0';
            int t = s.charAt(i++) - '0';
            for (int j = 0; j &lt; t; ++j) {
                g.drawLine(0, 0, 20, 0);
                g.translate(20, 0);
                g.rotate(f * Math.PI * 2 / n);
                fixtrans(); // optional, straightens some lines
            }
            f = -f;
        }
    }

    public static void main(String[] args) throws Exception {
        String[] a = {
                &quot;33623368356:356;66&quot;,
                &quot;33413341334535463547354735473444&quot;,
                &quot;33823382338:3586338&gt;358&gt;358&gt;358?88&quot;,
                &quot;66456:466:466845684668466766&quot;,
                &quot;334144453546354635474746464646464647354634463446344744&quot;,
                &quot;88456:466:466:4668458&lt;468&lt;468&lt;468:456846684668466788&quot;,
                &quot;33343535353231333535313133353447353434353534313133353447353545343535313133353447353545343444&quot;,
                &quot;33513351335233593554335433593554335935543359355433593559355835593559355935593455&quot;,
                &quot;33:233:233:433:B35:833:833:B35:833:B35:833:B35:833:B35:B35:833:B35:B35:B35:B35:C::&quot;,
                &quot;66566:576:57696869576969586969586:586969576969586857685868586766&quot;,
                &quot;334155453546354635463547594658465846584658473546354634463546344635463446354634463547584657465746574657473546344634463446344755&quot;,
                &quot;::456:466:466:466:466845:@46:@46:@46:@46:&gt;4568466:4668466:4668466:4668466:4668466845:&gt;46:&gt;46:&gt;46:&gt;46:&lt;45684668466846684667::&quot;,
// bad          &quot;333531333434343132333434353531313335343434323232323334343435353231333133343556343434313233323335345935353532313331313132333233353535343557343133343556343434355934353531333459343434355935323335345935323335345935323335345935323335345935353455&quot;
                &quot;333531333434343132333434353531313335343434323232323334343435353231333133343556343434313233323335345935353532313331313132333233353535343557343133343556343434355934353535593432333234355935323335345935323335345935323335345935343459313334353455&quot;};

        BufferedImage img = new BufferedImage(1300, 1300, BufferedImage.TYPE_INT_RGB);
        g = img.createGraphics();
        g.translate(500, 500);
        d(a[Integer.parseInt(args[0]) - 1]);
        String f = args[0] + &quot;.png&quot;;
        ImageIO.write(img, &quot;png&quot;, new File(f));
    }
}

Results (trimmed, negated, joined and scaled):

The shapes are quite unusual :) but correct as far as I can tell (let me know if you find any errors). They were generated (in a separate program) by constructing the face graph and cutting cycles in a DFS.
I'm sure this can be golfed quite a lot more using e.g. python and turtle.
Edit: oops, the last case was self-intersecting a bit. I fixed the code (by hand), here's the updated image: