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:[email protected]]
> Sent: 28 October 2005 17:09
> To: [email protected]
> 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
>
>