durusmail: mems-talk: Re: Curved Shapes
Re: Curved Shapes
2005-10-28
solvent bottles
2005-11-01
2005-11-01
2005-11-01
2005-10-31
Re: Curved Shapes
Martin J Prest
2005-10-31
Here's an example m-file for MATLAB and associated cif output file.

The m-file generates an Archimedean spiral. The arc-length, path width and
number of points can be varied.

Alter the parametric equations for x(i) and y(i) to generate different types of
spiral.

The program puts the output on layer "L0", change this if you need to.

For further info. on the cif file format see this URL:

http://www.wrcad.com/manual/xicmanual/node478.html

and for more on spirals:

http://www.mathematische-basteleien.de/spiral.htm

Regards,

Martin.

-------------------------

spiral.m file:

% cif spirals
% M.J. Prest. University of Birmingham, UK. 2005

pi=3.142;
width=20; % path width
c=100/(2*pi); % radius factor
tot=100; % total number of points
x=zeros(tot,'int16');
y=zeros(tot,'int16');
rot=6*pi; % angle to rotate spiral
fid=fopen('spiral.cif','w+');
fprintf(fid,'DS 0 100 1;\n'); % define symbol 0, multiplier 100/1
fprintf(fid,'L L0; \n'); % layer L0
fprintf(fid,['W ',num2str(width),' 0 0']); % (wire) path width, 1st point
for i=1:tot
    a=i*rot/tot;
    x(i)=int16(a*c*cos(a));
    y(i)=int16(a*c*sin(a));
        fprintf(fid,[' ',num2str(x(i)),' ',num2str(y(i))]);
    if i/5==int16(i/5) & i < tot % 5 points per line
        fprintf(fid,'\n');
    end
end
fprintf(fid,[';\n','DF;\n','End;\n']); % end of symbol, end of file
status=fclose(fid);
plot(x,y);

------------------------------

The output spiral.cif file:

DS 0 100 1;
L L0;
W 20 0 0 3 1 6 2 8 5 9 8 9 12
 8 16 5 20 2 24 -3 27 -9 29
 -16 29 -23 28 -30 25 -37 20 -43 14
 -48 6 -51 -3 -52 -13 -52 -24 -49 -35
 -43 -46 -35 -56 -25 -64 -13 -71 0 -75
 15 -77 30 -75 45 -71 60 -63 73 -53
 84 -40 93 -24 99 -6 101 13 100 33
 95 52 85 71 73 88 56 103 37 114
 15 122 -8 126 -32 125 -56 119 -79 109
 -101 94 -119 75 -134 53 -144 27 -150 0
 -150 -29 -145 -58 -134 -85 -118 -111 -97 -134
 -71 -152 -42 -166 -11 -174 22 -176 56 -171
 88 -160 119 -143 146 -120 168 -92 186 -60
 196 -24 201 13 198 51 187 88 170 124
 146 156 115 183 80 204 41 218 0 225
 -43 224 -85 215 -126 197 -163 172 -194 141
 -220 103 -238 61 -249 15 -250 -32 -242 -79
 -226 -125 -201 -167 -168 -204 -128 -234 -83 -257
 -34 -271 18 -275 70 -270 121 -255 168 -230
 210 -197 246 -155 274 -108 292 -55 300 1;
DF;
End;

-------------------------
Dr. Martin Prest
Research Fellow
Emerging Device Technology Research Centre
Department of Electronic, Electrical and Computer Engineering
School of Engineering
The University of Birmingham
Birmingham
B15 2TT
U.K.
+44 (0)121 41 44348
-------------------------



> -----Original Message-----
> From: William Benard [mailto:wbenard@mems-exchange.org]
> Sent: 28 October 2005 17:09
> To: mems-talk@memsnet.org
> Subject: [mems-talk] Re: Curved Shapes
>
>
> > From: Sebastian Sosin 
> > Subject: [mems-talk] curved shapes
> >
> > Does anybody knows of a software tool in witch is possible to create
> > structures such as spirals or sinus or other shapes that
> can be defined
> > by a math function and export it in CIF or GDS?
>
> Sebastian,
>
> The CIF format is text based, so it is pretty straightforward
> to write a
> program in just about any language/environment (e.g. C,
> Python, Matlab) to
> generate a CIF compatible text file containing mathematically
> computed
> features.
>
> Regards,
> William
>
>
reply