{ "cells": [ { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/#8.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/0.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/1.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/2.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/3.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/4.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/5.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/6.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/7.dxf',\n", " '/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/8.dxf']" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scansdir = \"/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata\"\n", "import os\n", "dxfs = [ os.path.join(scansdir, f) for f in sorted(os.listdir(scansdir)) if f[-4:] == \".dxf\"]\n", "dxfs" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "import ezdxf\n", "ds = [ ezdxf.readfile(f) for f in dxfs ]\n" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [], "source": [ "import math, numpy\n", "from matplotlib import pyplot as plt\n", "%matplotlib inline\n", "\n", "def pltd(d, c):\n", " ptsout = [ ]\n", " for e in d.entities:\n", " if e.dxftype() == \"LINE\":\n", " #print(e.dxf.start[0], e.dxf.start[1], e.dxf.end[0], e.dxf.end[1])\n", " plt.plot([e.dxf.start[0], e.dxf.end[0]], [e.dxf.start[1], e.dxf.end[1]], c=c)\n", " ptsout.append([e.dxf.start[0], e.dxf.start[1]])\n", " ptsout.append([e.dxf.end[0], e.dxf.end[1]])\n", "\n", " elif e.dxftype() == \"SPLINE\":\n", " ps = list(e.control_points)\n", " #print(len(ps), ps[0], ps[-1])\n", " plt.plot([p[0] for p in ps], [p[1] for p in ps], c=c)\n", " ptsout.extend([[p[0], p[1]] for p in ps])\n", " \n", " elif e.dxftype() == \"ARC\":\n", " xs, ys = [ ], [ ]\n", " for a in numpy.linspace(e.dxf.start_angle, e.dxf.end_angle, 10):\n", " ax = e.dxf.center[0] + e.dxf.radius * math.cos(math.radians(a))\n", " ay = e.dxf.center[1] + e.dxf.radius * math.sin(math.radians(a))\n", " xs.append(ax)\n", " ys.append(ay)\n", " ptsout.append([ax, ay])\n", " plt.plot(xs, ys, c=c)\n", " else:\n", " print(e.dxftype())\n", " return ptsout" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(16,5))\n", "for i, d in enumerate(ds):\n", " pltd(d, \"blue\" if (i%2) else \"red\")\n", "plt.gca().set_aspect('equal', adjustable='box')\n" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "/home/julian/repositories/Future-Hangglider/HGnotebooks/DXFaerofoilrescandata/8.dxf\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "d = ds[-1]\n", "pts = pltd(d, \"blue\" if (i%2) else \"red\")\n", "plt.gca().set_aspect('equal', adjustable='box')\n", "print(dxfs[-1])" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot([p[0] for p in pts], [p[1] for p in pts])" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "fout = open(os.path.join(scansdir, \"0.csv\"), \"w\")\n", "for p in pts:\n", " fout.write(\"%f,%f\\n\" % (p[0], p[1]))\n", "fout.close()\n" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "207" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(pts)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.6" } }, "nbformat": 4, "nbformat_minor": 2 }