A MEMS Clearinghouse® and information portal
for the MEMS and Nanotechnology community
RegisterSign-In
MEMSnet Home About Us What is MEMS? Beginner's Guide Discussion Groups Advertise Here
News
MEMSnet Home: MEMS-Talk: Re: Curved Shapes
Re: Curved Shapes
2005-10-28
William Benard
solvent bottles
2005-11-01
William Lanford-Crick
2005-11-01
Jim Beall
2005-11-01
Neal Ricks
2005-11-01
Bin Liu
2005-10-31
Martin J Prest
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:[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
>
>
reply
Events
Glossary
Materials
Links
MEMS-talk
Terms of Use | Contact Us | Search
MEMS Exchange
MEMS Industry Group
Coventor
Harrick Plasma
Tanner EDA
Mentor Graphics Corporation
MEMS Technology Review
Addison Engineering
University Wafer