% ----------------------------------------------------------------------------
% function hfssBox(fid, Name, Start, Size, Units, [Center1], [Radius1], ...
%                  [Axis1], [Center2], [Radius2], [Axis2], ...)
% 
% Popis funkce :
% -------------
% Funkce HfssBox(fid,HName,HMaterial,HStart,HSize,HUnits) slouží k vytvoření
% kvádru. Funkce nemá návratovou hodnotu.
% %
% Parametry :
% ------------
% fid - soubor identifikující historii HFSS skriptu.
% HName - jméno krychle .
% HStart - startovní pozice krychle, specifikované jako [x, y, z].
% HSize - velikosti stran krychle, specifikované jako [?x, ?y, ?z].
% HUnits - použité jednotky jako (např: 'mm', 'meter', a ostatní používané v HFSS ).
% HMaterial – požadovaný materiál krychle% 

% Priklad pouziti funkce :
% ---------
% fid = fopen('antenna.m', 'wt');
% ... 
% HfssBox(fid,'zarez2','vacuum',[18.35,0,0],[1,6,0.035],'mm');
%
% ----------------------------------------------------------------------------

function HfssBox(fid, HName, HMaterial, HStart, HSize, HUnits)
global Editor

%zapis do souboru temp
fprintf(fid,'%% Vytvoreni kvadru\n');
fprintf(fid,'invoke(Editor,''CreateBox'',...\n');
fprintf(fid,'{''NAME:BoxParameters'',...\n');
fprintf(fid,['''XPosition:='',''',num2str(HStart(1)),HUnits,''',...\n']);
fprintf(fid,['''YPosition:='',''',[num2str(HStart(2)),HUnits],''',...\n']);
fprintf(fid,['''ZPosition:='',''',[num2str(HStart(3)),HUnits],''',...\n']);
fprintf(fid,['''XSize:='',''',[num2str(HSize(1)),HUnits],''',...\n']);
fprintf(fid,['''YSize:='',''',[num2str(HSize(2)),HUnits],''',...\n']);
fprintf(fid,['''ZSize:='',''',[num2str(HSize(3)),HUnits],'''},...\n']);
fprintf(fid,'{''NAME:Attributes'',...\n');
fprintf(fid,['''Name:='',''',HName,''',...\n']);
fprintf(fid,'''Flags:='','''',...\n');
fprintf(fid,'''Color:='',''(132 132 193)'',...\n');
fprintf(fid,'''Transparency:='',0,...\n');
fprintf(fid,'''PartCoordinateSystem:='',''Global'',...\n');
fprintf(fid,['''MaterialName:='',''',HMaterial,''',...\n']);
fprintf(fid,'''SolveInside:='',true})\n\n');

%Prime vykonani v progrqamu Hfss
invoke(Editor,'CreateBox',...
    {'NAME:BoxParameters',...
    'XPosition:=',[num2str(HStart(1)),HUnits],...
    'YPosition:=',[num2str(HStart(2)),HUnits],...
    'ZPosition:=',[num2str(HStart(3)),HUnits],...
    'XSize:=',[num2str(HSize(1)),HUnits],...
    'YSize:=',[num2str(HSize(2)),HUnits],...
    'ZSize:=',[num2str(HSize(3)),HUnits]},...
    {'NAME:Attributes',...
    'Name:=',HName,...
    'Flags:=','',...
    'Color:=','(132 132 193)',...
    'Transparency:=',0,...
    'PartCoordinateSystem:=','Global',...
    'MaterialName:=',HMaterial,...
    'SolveInside:=',true})


end           
