!***************************************************************
! SINGLEEDGE                 / 2002-08-14 / Vertex Systems
!***************************************************************
!
!
Params= get_aux_object(#JOINTPREPROG#)
if Params < 1 then exit
!
P= 1
X= 2
Y= 3
Z= 4
vec_to(Z) 0,0,1
!
Geom= 1
!
I= 1
Found0= 0
loop
  Role$= "EDGE"&I:N?.0
  Edge= get(Role$)
  Edge= get_aux_object(Edge)
  exitif Edge == 0
  Type$= get_object_type(Edge)
  if cmp(Type$,"EDGEOBJ") == 1 then
    get_vxgeom(Geom) Edge
    get_vxgeom_point(P) Geom,"MID"
    get_vxgeom_tan(X) Geom,P
    Xx= vec_get_x(X)
    Xy= vec_get_y(X)
    vec_to(X) Xx,Xy,0
    Len= vec_len(X)
    if Len < 0.01 then vec_to(X) 1,0,0
    vec_cross_prod(Y) Z,X
    Macro= new_macro("","",P,X,Y,Z,1,1,0)
    if Macro > 0 then
      set_macro_param(Macro) "ROLE1","EDGE"
      set_macro_param(Macro) "EDGE",Role$
      set "RETURN" "1"
    endif
  endif
  I= I+1
endloop
!
