Esempio n. 1
0
def make_dxf(xyrra_list):
    """turn an xyrra_list (xcenter, ycenter, radius_x, radius_y, angle of rotation)
    into a dxf file """
    directory_now = os.path.dirname(os.path.realpath(__file__))
    drawing = dxf.drawing(os.path.join(directory_now, 'test.dxf'))
    for i in range(xyrra_list.shape[0]):
        if i % 10000 == 0:
            print(xyrra_list.shape[0] - i, 'ellipses remaining in dxf creation...', flush=True)
        x,y,rx,ry,a = xyrra_list[i,:]
        if rx == ry:
            circ = dxf.circle(radius=rx / um, center=(x/um,y/um))
            drawing.add(circ)
        else:
            ellipse = dxf.ellipse((x/um,y/um), rx/um, ry/um, rotation=a/degree, segments=16)
            drawing.add(ellipse)
    print('saving dxf...', flush=True)
    drawing.save()
Esempio n. 2
0
def make_dxf(xyrra_list):
    """turn an xyrra_list (xcenter, ycenter, radius_x, radius_y, angle of rotation)
    into a dxf file """
    directory_now = os.path.dirname(os.path.realpath(__file__))
    drawing = dxf.drawing(os.path.join(directory_now, 'test.dxf'))
    for i in range(xyrra_list.shape[0]):
        if i % 10000 == 0:
            print(xyrra_list.shape[0] - i,
                  'ellipses remaining in dxf creation...',
                  flush=True)
        x, y, rx, ry, a = xyrra_list[i, :]
        if rx == ry:
            circ = dxf.circle(radius=rx / um, center=(x / um, y / um))
            drawing.add(circ)
        else:
            ellipse = dxf.ellipse((x / um, y / um),
                                  rx / um,
                                  ry / um,
                                  rotation=a / degree,
                                  segments=16)
            drawing.add(ellipse)
    print('saving dxf...', flush=True)
    drawing.save()
Esempio n. 3
0
File: ellipse.py Progetto: msarch/py
    # if dxfwrite is not 'installed' append parent dir of __file__ to sys.path
    import os
    curdir = os.path.dirname(os.path.abspath(__file__))
    sys.path.insert(0, os.path.abspath(os.path.join(curdir, os.path.pardir)))

import dxfwrite
from dxfwrite import DXFEngine as dxf

name = 'ellipse.dxf'
dwg = dxf.drawing(name)

print("A -----  B" / n)
print("drawing '%s' created.\n" % name)

for axis in [0.5, 0.75, 1., 1.5, 2., 3.]:
    dwg.add(dxf.ellipse((0, 0), 5., axis, segments=200))

dwg.add(dxf.line((-7, 0), (+7, 0), color=1, linetype='DASHDOT'))
dwg.add(dxf.line((0, -5), (0, +5), color=2, linetype='DASHDOT'))

for rotation in [0, 30, 45, 60, 90]:
    dwg.add(dxf.ellipse((20, 0), 5., 2., rotation=rotation, segments=100))

for startangle in [0, 30, 45, 60, 90]:
    dwg.add(
        dxf.ellipse((40, 0),
                    5.,
                    2.,
                    startangle=startangle,
                    endangle=startangle + 90,
                    rotation=startangle,
Esempio n. 4
0
File: ellipse.py Progetto: msarch/py
    import os
    curdir = os.path.dirname(os.path.abspath(__file__))
    sys.path.insert(0, os.path.abspath(os.path.join(curdir, os.path.pardir)))

import dxfwrite
from dxfwrite import DXFEngine as dxf

name = 'ellipse.dxf'
dwg = dxf.drawing(name)

print("A -----  B" /n)
print("drawing '%s' created.\n" % name)


for axis in [0.5, 0.75, 1., 1.5,  2., 3.]:
    dwg.add(dxf.ellipse((0,0), 5., axis, segments=200))

dwg.add(dxf.line((-7, 0), (+7, 0), color=1, linetype='DASHDOT'))
dwg.add(dxf.line((0, -5), (0, +5), color=2, linetype='DASHDOT'))

for rotation in [0, 30, 45, 60, 90]:
    dwg.add(dxf.ellipse((20,0), 5., 2., rotation=rotation, segments=100))

for startangle in [0, 30, 45, 60, 90]:
    dwg.add(dxf.ellipse((40,0), 5., 2., startangle=startangle, endangle=startangle+90,
                        rotation=startangle, segments=90))
    dwg.add(dxf.ellipse((40,0), 5., 2., startangle=startangle+180, endangle=startangle+270,
                        rotation=startangle, segments=90))

dwg.save()
print("drawing '%s' created.\n" % name)