function MyNewMaterial=setMaterial(MyMaterial,MyGeometryName,GeometryDimenssion ) global model MyNewMaterial=MyMaterial; if GeometryDimenssion==2; for jM=1:length(MyMaterial) myNameTmp=['mat' MyMaterial(jM).name]; model.material.create(myNameTmp); model.material(myNameTmp).name(MyMaterial(jM).name); model.material(myNameTmp).propertyGroup.create('RefractiveIndex', 'Refractive index'); model.material(myNameTmp).propertyGroup('RefractiveIndex').set('n', {num2str(MyMaterial(jM).n)}); MySelection=model.selection([MyGeometryName '_' MyMaterial(jM).Object2Sel{1}]).entities(2); for jMM=2:length(MyMaterial(jM).Object2Sel) MySelection=[MySelection model.selection([MyGeometryName '_' MyMaterial(jM).Object2Sel{jMM}]).entities(2)]; end MyNewMaterial(jM).Selection=MySelection; model.material(myNameTmp).selection.set(MySelection); end disp('material set 2D') end if GeometryDimenssion==3; % set materials for jM=1:length(MyMaterial) myNameTmp=['mat' MyMaterial(jM).name]; model.material.create(myNameTmp); model.material(myNameTmp).name(MyMaterial(jM).name); model.material(myNameTmp).propertyGroup.create('RefractiveIndex', 'Refractive index'); model.material(myNameTmp).propertyGroup('RefractiveIndex').set('n', {num2str(MyMaterial(jM).n)}); MySelection=model.selection([MyGeometryName '_' MyMaterial(jM).Object3Sel{1}]).entities(3); for jMM=2:length(MyMaterial(jM).Object3Sel) MySelection=[MySelection model.selection([MyGeometryName '_' MyMaterial(jM).Object3Sel{jMM}]).entities(3)]; end MyNewMaterial(jM).Selection=MySelection; model.material(myNameTmp).selection.set(MySelection); end disp('material set 3D') end end