/num,1
/nerr,0,1e4
rsys
*if,arg3,eq,0,then
arg3 = 9
*endif
*if,arg2,eq,0,then
arg2=1
*endif
/era
*if,_vscal,eq,0,then
_vscal=.4
*endif
/vscal,,_vscal
/user
nsle
*if,arg1,le,1,then
PLVECT,B, , , ,VECT,ELEM,ON,0
*elseif,arg1,eq,2,then
PLVECT,H, , , ,VECT,ELEM,ON,0
*else
plvval
*endif
/noera
/edge,,1
/device,vector,on
cm,pltmat,elem
*set,zdifmat
*dim,zdifmat,,1000
ndifmat=0
*if,arg2,eq,1,then
*do,idifmat,1,1000
*get,elcnt,elem,,count
*if,elcnt,eq,0,exit
ndifmat=ndifmat+1
*get,elmxz,elem,,num,max
*get,edifmat,elem,elmxz,attr,mat
zdifmat(ndifmat)=edifmat
esel,u,mat,,edifmat
*enddo
*endif
*if,arg2,eq,2,then
*do,idifmat,1,1000
*get,elcnt,elem,,count
*if,elcnt,eq,0,exit
ndifmat=ndifmat+1
*get,elmxz,elem,,num,max
*get,edifmat,elem,elmxz,attr,real
zdifmat(ndifmat)=edifmat
esel,u,real,,edifmat
*enddo
*endif
*if,arg2,eq,3,then
*do,idifmat,1,1000
*get,elcnt,elem,,count
*if,elcnt,eq,0,exit
ndifmat=ndifmat+1
*get,elmxz,elem,,num,max
*get,edifmat,elem,elmxz,attr,type
zdifmat(ndifmat)=edifmat
esel,u,type,,edifmat
*enddo
*endif
*if,arg2,eq,4,then
*do,idifmat,1,1000
*get,elcnt,elem,,count
*if,elcnt,eq,0,exit
ndifmat=ndifmat+1
*get,elmxz,elem,,num,max
*get,edifmat,elem,elmxz,attr,esys
zdifmat(ndifmat)=edifmat
esel,u,esys,,edifmat
*enddo
*endif
*if,arg2,eq,1,then
esel,,mat,,zdifmat(1)
eplo
/noera
*do,ipltmat,2,ndifmat
esel,,mat,,zdifmat(ipltmat)
eplo
*enddo
*endif
*if,arg2,eq,2,then
esel,,real,,zdifmat(1)
eplo
/noera
*do,ipltmat,2,ndifmat
esel,,real,,zdifmat(ipltmat)
eplo
*enddo
*endif
*if,arg2,eq,3,then
esel,,type,,zdifmat(1)
eplo
/noera
*do,ipltmat,2,ndifmat
esel,,type,,zdifmat(ipltmat)
eplo
*enddo
*endif
*if,arg2,eq,4,then
esel,,esys,,zdifmat(1)
eplo
/noera
*do,ipltmat,2,ndifmat
esel,,esys,,zdifmat(ipltmat)
eplo
*enddo
*endif
/plopt
:end
cmsel,,pltmat
/NUM
/CONT,
/plopt,defa
/erase
/nerr,1,1e4
/dev,vector,off
/edge
/mrep,plvln,arg1,arg2,arg3
/GOPR