files brynjarh23 found on the basement computer

This commit is contained in:
2025-10-16 14:42:56 +00:00
parent 6e31fe8cad
commit b820ff3a07
3784 changed files with 654066 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
function Foamcutter_demo
%
% Forrit sem b<EFBFBD>r til G-k<EFBFBD><EFBFBD>a fyrir frau<EFBFBD>plastskera sem sta<EFBFBD>settur
% er <EFBFBD> vindgangar<EFBFBD>mi H<EFBFBD>sk<EFBFBD>lans <EFBFBD> Reykjav<EFBFBD>k.
% <EFBFBD>ttaksbreyta: G-k<EFBFBD><EFBFBD>i sem skrifa<EFBFBD>ur er <EFBFBD> skr<EFBFBD>nna 'filename.gcode'
% H<EFBFBD>fundur: ISR, H<EFBFBD>sk<EFBFBD>linn <EFBFBD> Reykjav<EFBFBD>k, Vor 2013
% <EFBFBD>essi k<EFBFBD><EFBFBD>i gerir r<EFBFBD><EFBFBD> fyrir a<EFBFBD> hlutur hafi eins l<EFBFBD>gun <EFBFBD> sitt hvorum enda
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
clear all
% Nafn <EFBFBD>ttaksskr<EFBFBD>ar. Endingin skal vera .gcode.
filename='test.gcode';
%
%Upphafssta<EFBFBD>a
x0 = 0;
y0 = 0;
% Skali sem skalar mm yfir <EFBFBD> f<EFBFBD>rslueiningar frau<EFBFBD>plastskera
skali = 8.889;
ns=40; %fj<EFBFBD>ldi skrefa <EFBFBD> ferli
x(1) = x0; %Fyrsti punktur <EFBFBD> ferli er upphafssta<EFBFBD>a
y(1) = y0;
% Allir punktar <EFBFBD> ferli eru reikna<EFBFBD>ir <EFBFBD>t og skrifa<EFBFBD>ir <EFBFBD> r<EFBFBD>ttri r<EFBFBD><EFBFBD>
% inn <EFBFBD> vektorana x og y. Punktarnir ver<EFBFBD>a a<EFBFBD> vera <EFBFBD> s<EFBFBD>mu r<EFBFBD><EFBFBD> og
% skerinn <EFBFBD> a<EFBFBD> skera <EFBFBD>v<EFBFBD> annars kemur st<EFBFBD>kk <EFBFBD> skur<EFBFBD>inn.
% H<EFBFBD>r er form<EFBFBD>lur fyrir ferilinn. <EFBFBD>essu <EFBFBD>arf a<EFBFBD> breyta ef <EFBFBD> a<EFBFBD> skera <EFBFBD>t
% anna<EFBFBD> form.
h = 100; %t<EFBFBD>lur sem <EFBFBD>kvar<EFBFBD>a st<EFBFBD>r<EFBFBD> <EFBFBD> demohlut
b = 50; % <EFBFBD>verm<EFBFBD>l boga
ii = 1;
% teiknar beina l<EFBFBD>nu <EFBFBD> ns skrefum
lina(x(1),y(1),-b/2,h,ns);
%teiknar h<EFBFBD>lfhring <EFBFBD> ns skrefum me<EFBFBD> mi<EFBFBD>ju <EFBFBD> (0,h) og rad<EFBFBD>us b/2
bogi(x(ii),y(ii),0,h,pi,-1,ns);
% teiknar a<EFBFBD>ra beina l<EFBFBD>nu <EFBFBD> ns skrefum
lina(x(ii),y(ii),x0,y0,ns);
%Ferill plotta<EFBFBD>ur sko<EFBFBD>i<EFBFBD> vel hvort hann hefur r<EFBFBD>tt form <EFBFBD><EFBFBD>ur en
% G-k<EFBFBD><EFBFBD>inn er keyr<EFBFBD>ur <EFBFBD> kutterinn.
plot(x,y,'r')
axis equal
grid on
hold off
l = length(x);
% GCODE t<EFBFBD>knbreytir -> breytir l<EFBFBD>nuvigrum <EFBFBD> f<EFBFBD>rslul<EFBFBD>nur G-k<EFBFBD><EFBFBD>a.
% Fyrst er vigrum breytt <EFBFBD>r sta<EFBFBD>setningarvigrum yfir <EFBFBD> f<EFBFBD>rsuvigra
% <EFBFBD> f<EFBFBD>rslueiningum frau<EFBFBD>plastskera.
for i=1:l-1
xx(i)=(x(i+1)-x(i))*skali;
yy(i)=(y(i+1)-y(i))*skali;
end
%Svo er skr<EFBFBD>in opnu<EFBFBD>
fid=fopen(filename,'wt');
%Og g-k<EFBFBD><EFBFBD>inn skrifa<EFBFBD>ur <EFBFBD> hana
% Upphafspunktur ath. a<EFBFBD> x - y hli<EFBFBD>in hefur vi<EFBFBD>sn<EFBFBD>in y <EFBFBD>s
fprintf(fid,['G1 X' num2str(x0*skali) ' Y' num2str(-y0*skali) ' F2000\n']);
fprintf(fid,['G1 A' num2str(x0*skali) ' B' num2str(y0*skali) ' F2000\n']);
% Ferill
for i=1: l-1
fprintf(fid,['G1 X' num2str(xx(i)) ' Y' num2str(-yy(i)) ' F2000\n']);
fprintf(fid,['G1 A' num2str(xx(i)) ' B' num2str(yy(i)) ' F2000\n']);
end
%Setur skerhausa aftur <EFBFBD> n<EFBFBD>llpunkt
fprintf(fid,['G1 X' num2str(-x0*skali) ' Y' num2str(y0*skali) ' F2000\n']);
fprintf(fid,['G1 A' num2str(-x0*skali) ' B' num2str(-y0*skali) ' F2000\n']);
% f<EFBFBD>ll til a<EFBFBD> teikna l<EFBFBD>nur og boga
function lina(x1,y1,x2,y2,n)
dx = (x2 -x1)/n;
dy = (y2 - y1)/n; %F<EFBFBD>rsluhnit
for i = 1:n
ii = ii+1;
x(ii)=x1 + dx*i;
y(ii)=y1 + dy*i;
end
end
function bogi(x1,y1,x0,y0,horn,k,n)
r = sqrt((x1-x0)^2+(y1-y0)^2);
fi = atan2((y1-y0),(x1-x0));
for i = 1:n
ii = ii+1;
theta = k*i*horn/n;
x(ii) = x0 + r*cos(theta+fi);
y(ii) = y0+r*sin(theta+fi);
end
end
end