• Non ci sono risultati.

%Crea il .bdf della griglia modificata partendo dal .bdf originale e dal %report creato direttamente da Patran, in cui si deve esplicitare di %plottare le posizioni originali e gli spostamenti dei nodi

N/A
N/A
Protected

Academic year: 2021

Condividi "%Crea il .bdf della griglia modificata partendo dal .bdf originale e dal %report creato direttamente da Patran, in cui si deve esplicitare di %plottare le posizioni originali e gli spostamenti dei nodi"

Copied!
12
0
0

Testo completo

(1)

Programma matlab: BDF_P_changer.m

%---%

% MAIN PROG: %

%---%

%Crea il .bdf della griglia modificata partendo dal .bdf originale e dal

%report creato direttamente da Patran, in cui si deve esplicitare di

%plottare le posizioni originali e gli spostamenti dei nodi.

% Construct a questdlg with options

choice = questdlg('Nel BDF è già stato caricato il campo di pressioni?', ...

'Switching Menu', ...

'Si, è solo da modificare.','No, va inserito.','No, va inserito.');

% Handle response switch choice

case 'Si, è solo da modificare.' disp([choice ' coming right up.']) dessert = 1;

%Legge il report e crea la matrice della griglia deformata.

%---%

%--- Prog_Mat1 ---%

%---%

(2)

fid = fopen('P_map.nas');

tmp=[];

tline1 = fgetl(fid); %crea una stringa uguale alla i-esima riga del testo

tline2= regexprep(tline1,'PLOAD4',''); %sostituisce lo spazio a PLOAD4 while ischar(tline1);

%disp(tline2);

if tline1~=-1;

tline2= regexprep(tline1,'PLOAD4',''); %sostituisce lo spazio a PLOAD4 tline3= regexprep(tline2,',',' '); %sostituisce lo spazio alla virgola nline=str2num(tline3); %trasforma la stringa in numeri

tmp=vertcat(tmp,nline); %concatena le stringhe verticalmente end;

tline1 = fgetl(fid);

end;

C1=tmp(:,1);

C2=tmp(:,2);%+tmp(:,5);

C3=tmp(:,3);%+tmp(:,6);

%C4=tmp(:,4)+tmp(:,7);

C=[C1,C2,C3];

fclose(fid);

msg1='--- passo 1 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

pause(3);

(3)

%---%

%--- Prog_Mat2 ---%

%---%

file=fopen('Mappa_P.txt','w');

bdf2=[];

i0= length(C1);

for i=1:i0;

c1_str = num2str(C1(i));

l1=length(c1_str );

a1 = 15-l1;

if l1>15

c1_str = c1_str(1:15);

%else

% for j=1:a1

% c1_str = [c1_str,' '];

% end end

c2_str = num2str(C2(i));

l2=length(c2_str );

a2 = 8-l2;

if l2>8

c2_str = c2_str(1:8);

%else

% for j=1:a2

% c2_str = [c2_str,' '];

% end end

c3_str = num2str(C3(i),'%7.7f');

l3=length(c3_str );

(4)

a3 = 8-l3;

if l3>8

c3_str = c3_str(1:8);

%else

% for j=1:a3

% c3_str = [c3_str,' '];

% end end

s_i = ['PLOAD4,' c1_str,',', c2_str ,',', c3_str,',,,'];

num2str(C4(i))];

l_si= length(s_i);

fprintf(file,'%s\r\n',s_i);

bdf2=strvcat(bdf2,s_i);

end;

msg1='--- passo 2 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

fclose(file);

pause(3);

%---%

%--- Prog_Mat3 ---%

%---%

fid1 = fopen('Str_Sym.bdf');

fid1_array=[];

(5)

%temp=[];

n=0;

del_line=[];

%array=['GRID'];

Tline1 = fgetl(fid1); %crea una stringa uguale alla i-esima riga del testo

while ischar(Tline1);

%disp(Tline1);

if regexpi( Tline1,'PLOAD4'); %Riconosce la sringa2 all'interno della stringa1

del_line=vertcat(del_line,n); %crea un vettore con il numero delle righe da cembiare

%findstr(kdbvj,isdvbi)

end;

Tline1 = fgetl(fid1); %cambia l'i-esima riga di testo n=n+1; %conta le righe

fid1_array=strvcat(fid1_array,Tline1); %concatena le stringhe verticalmente

end;

dl_star=max(del_line)+1;

if regexpi(fid1_array(dl_star),'*');

del_line=vertcat(del_line,dl_star); %crea un vettore cin il numero delle righe da cembiare

(6)

end;

msg1='--- passo 3 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

fclose(fid1);

pause(3);

%crea il nuovo .bdf corretto

%---%

%--- Prog_Mat4 ---%

%---%

stop_line=del_line(1);

start_line=del_line(length(del_line))+1;

fine=length(fid1_array(:,1));

bdf1=fid1_array(1:stop_line,:);

bdf3=fid1_array(start_line:fine,:);

bdf=strvcat(bdf1,bdf2,bdf3);

fid2 = fopen('BDF_P_Mapped.bdf','w');

k0= length(bdf);

for k=1:k0;

bdf_line=bdf(k,:);

fprintf(fid2,'%s\r\n',bdf_line);

(7)

end

%prova=['lsajfbqc'];

%fprintf(fid2,prova);

fclose(fid2);

msg1='--- passo 4 di 4 COMPLETO ---';

msg2='---';

msg3='--- Grazie per aver scelto ---';

msg4='---- GuiZzo Software ---';

msg5='---';

msg6=' ';

msg=strvcat(msg2,msg1,msg2,msg6,msg6,msg2,msg3,msg4,msg5);

msg

%img=imread('PaulKlee.jpg');

%image(img );

case 'No, va inserito.'

disp([choice ' coming right up.']) dessert = 2;

%---%

% MAIN PROG: %

%---%

%Legge il report e crea la matrice della griglia deformata.

%---%

%--- Prog_Mat1 ---%

(8)

%---%

fid = fopen('P_map.nas');

tmp=[];

tline1 = fgetl(fid); %crea una stringa uguale alla i-esima riga del testo

tline2= regexprep(tline1,'PLOAD4',''); %sostituisce lo spazio a PLOAD4 while ischar(tline1);

%disp(tline2);

if tline1~=-1;

tline2= regexprep(tline1,'PLOAD4',''); %sostituisce lo spazio a PLOAD4 tline3= regexprep(tline2,',',' '); %sostituisce lo spazio alla virgola nline=str2num(tline3); %trasforma la stringa in numeri

tmp=vertcat(tmp,nline); %concatena le stringhe verticalmente end;

tline1 = fgetl(fid);

end;

C1=tmp(:,1);

C2=tmp(:,2);%+tmp(:,5);

C3=tmp(:,3);%+tmp(:,6);

%C4=tmp(:,4)+tmp(:,7);

C=[C1,C2,C3];

fclose(fid);

msg1='--- passo 1 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

(9)

pause(3);

%---%

%--- Prog_Mat2 ---%

%---%

file=fopen('Mappa_P.txt','w');

bdf2=[];

i0= length(C1);

for i=1:i0;

c1_str = num2str(C1(i));

l1=length(c1_str );

a1 = 15-l1;

if l1>15

c1_str = c1_str(1:15);

end

c2_str = num2str(C2(i));

l2=length(c2_str );

a2 = 8-l2;

if l2>8

c2_str = c2_str(1:8);

end

c3_str = num2str(C3(i),'%7.7f');

l3=length(c3_str );

a3 = 8-l3;

if l3>8

c3_str = c3_str(1:8);

end

s_i = ['PLOAD4,' c1_str,',', c2_str ,',', c3_str,',,,'];

(10)

% s_i = ['GRID ' num2str(C1(i)), ' ' num2str(C2(i)) , ' ' num2str(C3(i)), ' ' num2str(C4(i))];

l_si= length(s_i);

fprintf(file,'%s\r\n',s_i);

bdf2=strvcat(bdf2,s_i);

end;

line_1=['$ Pressure Loads of Load Set : pload4.105.2D '];

bdf2=strvcat(line_1,bdf2);

msg1='--- passo 2 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

fclose(file);

pause(3);

%---%

%--- Prog_Mat3 ---%

%---%

fid1 = fopen('Str_Sym.bdf');

fid1_array=[];

n=0;

del_line=[];

line1 = fgetl(fid1); %crea una stringa uguale alla i-esima riga del testo

while ischar(Tline1);

(11)

%disp(Tline1);

if regexpi( Tline1,'ENDDATA'); %Riconosce la sringa2 all'interno della stringa1

del_line=n; %crea un vettore con il numero delle righe da cembiare

%findstr(kdbvj,isdvbi)

end;

%temp=strvcat(temp,Tline1);

Tline1 = fgetl(fid1); %cambia l'i-esima riga di testo n=n+1; %conta le righe

fid1_array=strvcat(fid1_array,Tline1); %concatena le stringhe verticalmente

end;

msg1='--- passo 3 di 4 COMPLETO ---';

msg2='---';

msg=strvcat(msg2,msg1,msg2);

msg

fclose(fid1);

pause(3);

%crea il nuovo .bdf corretto

%---%

%--- Prog_Mat4 ---%

%---%

(12)

stop_line=del_line-2;

start_line=del_line-1;

fine=length(fid1_array(:,1));

bdf1=fid1_array(1:stop_line,:);

bdf3=fid1_array(start_line:fine,:);

bdf=strvcat(bdf1,bdf2,bdf3);

fid2 = fopen('BDF_P_Mapped.bdf','w');

k0= length(bdf);

for k=1:k0;

bdf_line=bdf(k,:);

fprintf(fid2,'%s\r\n',bdf_line);

end

fclose(fid2);

msg1='--- passo 4 di 4 COMPLETO ---';

msg2='---';

msg3='--- Grazie per aver scelto ---';

msg4='---- GuiZzo Software ---';

msg5='---';

msg6=' ';

msg=strvcat(msg2,msg1,msg2,msg6,msg6,msg2,msg3,msg4,msg5);

msg

%img=imread('PaulKlee.jpg');

%image(img );

end;

Riferimenti

Documenti correlati

Tutte le dichiarazioni, come già evidenziato, devono essere rese in lingua italiana ed essere accompagnate da una fotocopia leggibile del documento d’identità del

5 Modifica art.. 10 presentato, verificando la congruità dei costi previsti anche ai fini dell’autorizzazione all’effettuazione di interventi di natura definitiva

3 Bertelli al varo della prima Luna Rossa con la moglie Miuccia Prada,a Cagliari PAESE : Italia.. PAGINE : 42;43 SUPERFICIE :

‐ l’articolo 13, commi 3 e 4, il quale demanda ad appositi provvedimenti del Commissario straordinario la definizione dei criteri tecnici per l’accertamento

[r]

Organo: INAIL. Documento:

di aver tenuto conto, nel formulare l'offerta riferita all'appalto di cui trattasi, di tutti gli elementi/voci di costo che concorrono alla esecuzione del

BDF Digital vanta una lunga esperienza nei sistemi di automazione per il settore della plastica, dagli estrusori e presse ad iniezione (ibride e full electric) fino alle