!***************************************************************
! EDGESHAPE               / 2002-08-16	 / Vertex Systems
!***************************************************************
!
#JOINT_SHAPING#
!
!debug ./EDGESHAPE2.dbg
!
This= get_aux_object(#THIS#)
Edge= get_aux_object(#EDGE#)
Area= get_actual_area(Edge)
Det= get_aux_object(#DETAIL#)
if (This < 1) then exit
if (Area < 1) then exit
if (Det < 1) then exit
!
Offset= get_joint_param(This,"OFFSET")
Detail$= get_joint_param(This,"DET")
!
Geom= 1
Geom2= 2
!
P= 1
X= 2
Y= 3
Z= 4
P2= 5
PeP= 6
PeN= 7
AP= 8
AN= 9
!
get_origin_pos(Det) P,X,Y,Z
!
Num= get_area_param(Area,"NUM")
if Num <> 0 then exit 
get_area_plane(Area) PeP,PeN,"TOP"
!
get_vxgeom(Geom) Edge
if vxgeom_exists(Geom) == 0 then exit
!
point_to_vxgeom(P2) Geom,P
if is_in_vxgeom(Geom,P2,0,0.1) == 0 then exit
!
insert_edges(Edge) "ALL",P2
Ptr= This
loop
  Ptr= next_object(Ptr)
  exitif (Ptr < 1) 
  Type$= get_object_type(Ptr)
  A= get_actual_area(Ptr)
  if (A > 0) then
    Num= get_area_param(A,"NUM")
    if Num <> 0 then 
      if (Num > 0) then
        offset_vxgeom(Geom2) Geom,PeP,PeN,Offset
      else
        offset_vxgeom(Geom2) Geom,PeP,PeN,0
      endif
      get_area_plane(A) AP,AN,"TOP"
      proj_vxgeom_dir(Geom2) Geom2,AP,AN,PeN
      if set_edge_shape(Ptr,Geom2,PERP,0) == 0 then exit

      del_area_frmdata(Ptr)
    else
      add_area_frmdata(Ptr) "DETAIL",Detail$
    endif
  endif
endloop
!
set RETURN "1"
!
#JOINT_SHAPING#
!
#EDIT_FORM#
!
charset= latin1
port_size= 2 30
vxdbase_winstyle= only
has_pulldowns= 0
text_font= 5
field_font= 5
!
!
header= "Detail parameters"
!
text(1)= 2  3  {SHEATHING+" "+OFFSET}
!
field(1)=  OFFSET    1  2  20  4   7
!
group(1)= 1+2 1 1 
!
#EDIT_FORM#