*get,prkey_,active,0,prkey
/nopr
*get,actcs_,active,,csys
entity_array,'a','aset1_','array'
a1_=ecount
*do,abc_,1,a1_,1
asel,s,area,,aset1_(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_max_entity
*get,ksettyp_,parm,kset1_,type
*if,ksettyp_,eq,1,then
*set,kset1_(1),
*endif
entity_array,'k','kset1_','array'
k1_=ecount
*do,xyz_,1,k1_,1
csys,csn+5
dist__=kz(kset1_(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
abrta_=1
*exit
*else
abrta_=0
*endif
*enddo
*if,abrta_,eq,0,then
init_entity_num
csys,csn+5
asel,s,loc,z,0
*get,acount,area,,count
*if,acount,gt,1,then
*get,aset2tp_,parm,aset2_,type
*if,aset2tp_,eq,1,then
*set,aset2_(1),
*endif
entity_array,'a','aset2_','array'
a2_=ecount
*do,ijkm_,1,a2_,1
asel,s,area,,aset2_(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+6,0,kcnt_,k_min,xypt_
get_max_entity
*get,ksettyp_,parm,kset1_,type
*if,ksettyp_,eq,1,then
*set,kset1_(1),
*endif
entity_array,'k','kset1_','array'
k1_=ecount
*do,xyz_,1,k1_,1
csys,csn+6
dist__=kz(kset1_(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
abrta2_=1
*exit
*else
abrta2_=0
*endif
*enddo
*set,kset1_(1),
*if,abrta2_,eq,0,then
*if,ijkm_,eq,1,then
addindx_=0
addindx_=addindx_+1
*dim,addset_,array,a2_,1
addset_(addindx_,1)=aset2_(ijkm_,1)
*else
addindx_=addindx_+1
addset_(addindx_,1)=aset2_(ijkm_,1)
*endif
*endif
*enddo
*do,qrs_,1,a2_,1
*if,qrs_,eq,1,then
*if,addset_(qrs_,1),ne,0,then
asel,s,area,,addset_(qrs_,1)
*endif
*else
*if,addset_(qrs_,1),ne,0,then
asel,a,area,,addset_(qrs_,1)
*endif
*endif
*enddo
aadd,all
init_entity_num
aplot
*endif
*endif
*get,addtyp_,parm,addset_,type
*if,addtyp_,eq,1,then
*set,addset_(1),
*endif
*enddo
csdele,csn+5,csn+6,1
csys,actcs_
init_entity_num
aplot
*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,ijkm_,
*set,aset1_(1),
*set,kset1_(1),
*set,aset2_(1),
*set,addset_(1),
*if,prkey_,eq,1,then
/go
*endif