*get,prkey_,active,0,prkey
/nopr
vol_=arg1
init_entity_num
*get,vcount_,volu,,count
*if,vol_,eq,0,then
*if,vcount_,eq,1,then
vol_=vm
*endif
*endif
*get,actcs_,active,,csys
vsel,s,volu,,vol_
aslv,s
entity_array,'a','aset2_','array'
a2_=ecount
*do,abc_,1,a2_,1
asel,s,area,,aset2_(abc_,1)
asum
lsla,s
ksll,s
get_min_entity
*get,kcnt_,kp,k_min,nxth
*get,acx_,area,,cent,x
*get,acy_,area,,cent,y
*get,acz_,area,,cent,z
csys,0
k,,acx_,acy_,acz_
get_max_entity
xypt_=km
cskp,csn+5,0,kcnt_,k_min,xypt_
*get,ksettyp_,parm,kset2_,type
*if,ksettyp_,eq,1,then
*set,kset2_(1),
*endif
entity_array,'k','kset2_','array'
k2_=ecount
*do,xyz_,1,k2_,1
csys,csn+5
dist__=kz(kset2_(xyz_,1))
prec_=4
tol_=10**(-prec_-1)
*if,abs(dist__),lt,tol_,then
dist__=0
*else
*if,abs(dist__),ge,(10*tol_),then
round_num,dist__,prec_
*else
round_num,dist__,prec_+1
*endif
dist__=num_
*endif
*if,dist__,ne,0,then
*exit
*else
*if,xyz_,eq,k2_,then
*get,aset1tp_,parm,aset1_,type
*if,aset1tp_,ne,1,then
*dim,aset1_,array,a2_,1
*endif
aset1_(abc_,1)=aset2_(abc_,1)
*endif
*endif
*enddo
*enddo
init_entity_num
elcnt_=0
*do,ijk_,1,a2_,1
*if,aset1_(ijk_,1),ne,0,then
elcnt_=elcnt_+1
*endif
*enddo
*dim,plnra_,array,elcnt_,1
elcnt_=0
*do,ijk_,1,a2_,1
*if,aset1_(ijk_,1),ne,0,then
elcnt_=elcnt_+1
plnra_(elcnt_,1)=aset1_(ijk_,1)
*endif
*enddo
*set,kset2_(1),
*set,aset1_(1),
*set,aset2_(1),
*get,acnt_,parm,plnra_,dim,x
*do,ijkm_,1,acnt_,1
*if,plnra_(ijkm_,1),ne,0,then
asel,s,area,,plnra_(ijkm_,1)
asum
lsla,s
ksll,s
get_min_entity
*get,kcnt_,kp,k_min,nxth
*get,acx_,area,,cent,x
*get,acy_,area,,cent,y
*get,acz_,area,,cent,z
csys,0
k,,acx_,acy_,acz_
get_max_entity
xypt_=km
cskp,csn+5,0,kcnt_,k_min,xypt_
*do,abc_,1,acnt_,1
*if,abc_,eq,1,then
*if,plnra_(abc_,1),ne,0,then
asel,s,area,,plnra_(abc_,1)
frstset_=0
*else
frstset_=1
*endif
*else
*if,plnra_(abc_,1),ne,0,then
*if,frstset_,eq,0,then
asel,a,area,,plnra_(abc_,1)
*else
asel,s,area,,plnra_(abc_,1)
frstset_=0
*endif
*endif
*endif
*enddo
asel,r,loc,z,0
*get,acount_,area,,count
*if,acount_,gt,1,then
entity_array,'a','aset%ijkm_%','array'
*elseif,acount_,eq,1,then
ecount=acount_
*endif
*do,def_,1,ecount,1
*if,acount_,gt,1,then
arry_search,'plnra_',aset%ijkm_%(def_,1)
*elseif,acount_,eq,1,then
get_max_entity
arry_search,'plnra_',am
*endif
rplnra_=hit(1,1,1)
cplnra_=hit(1,2,1)
plnra_(rplnra_,cplnra_)=0
*enddo
*endif
*enddo
*go,:skip
*get,acnt_,parm,plnra_,dim,x
*do,abc_,1,acnt_,1
*get,aacnt_,parm,aset%abc_%,dim,x
*if,aacnt_,gt,0,then
*do,xyz_,1,aacnt_,1
asel,s,area,,aset%abc_%(xyz_,1)
vsla,s
*get,vcount_,volu,,count
*if,vcount_,gt,1,then
keepa_=0
*elseif,vcount_,eq,1,then
keepa_=1
*endif
*if,keepa_,eq,0,then
aset%abc_%(xyz_,1)=0
*endif
*enddo
*endif
*enddo
*get,acnt_,parm,plnra_,dim,x
*go,:skip
arr_='aset164'
*get,acnt_,parm,%arr_%,dim,x
*do,i,1,acnt_,1
*if,i,eq,1,then
asel,s,area,,%arr_%(i,1)
*else
asel,a,area,,%arr_%(i,1)
*endif
*enddo
*get,acnt_,parm,plnra_,dim,x
*do,i,1,acnt_,1
*get,asettyp_,parm,aset%i%,type
*if,asettyp_,eq,1,then
*set,aset%i%,
*endif
*enddo
*set,a1_,
*set,ecount,
*set,xypt_,
*set,acx_,
*set,acy_,
*set,acz_,
*set,k1_,
*set,kcnt_,
*set,actcs_,
*set,dist__,
*set,abc_,
*set,xyz_,
*set,k_min,
*set,prec_,
*set,tol_,
*set,abrta_,
*set,num_,
*set,a2_,
*set,abrta2_,
*set,addindx_,
*set,qrs_,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,
*set,aset1_(1),
*set,kset1_(1),
*set,aset2_(1),
*set,addset_(1),
*if,prkey_,eq,1,then
/go
*endif
:skip