/PMACRO
FINISH        
/CLEAR           !ANSYSڴ
*AFUN,DEG        !ýǶȵλ
/FILENAME, suspendome             !幤ļ
/TITLE, the model of suspendome   !幤
!1ģͻ
*SET,Kn,6        !ÿǵ
*SET,Nx,16       !Ȧ
*SET,f,17.025    !ʸ
*SET,Span,92     !ÿ
!2֧񷶥ṹϲǵļβ
*DIM,numnode,,Nx,1     !嵥ÿȦڵ
*DO,i,1,Nx,1
*SET,numnode(i),Kn*i   !㵥ÿȦĸֵ
*ENDDO
*DIM,num,,Nx+1,1       !ÿȦڵ,ĵ㵥ΪһȦ
*SET,num(1),1          !һȦĵ㣩ڵΪ1
*DO,i,2,Nx+1,1
*SET,num(i),num(i-1)+numnode(i-1) !IȦĵڵŲֵnum
*ENDDO
/PREP7               !ǰģ
!3嵥Ԫ͡Ժ͸˼ʵ
ET,1,BEAM4           !Ǹ˼ĵԪΪBEAM4
MP,ex,1,2.06e11      !ֹܵĲϵĵģ
MP,dens,1,7850       !ֹܵĲϵܶ  
MP,alpx,1,1.2e-5     !ֹܵĲϵϵ
MP,prxy,1,0.3        !ֹܵĲϵĲɱ
TB,BISO,1,1,2,       !ֹܵıϵΪ˫ģ
TBTEMP,0             !ֹܵıϵӦ¶
TBDATA,,345e6,0,,,,  !ֹܵĵǿΪ345MPa  
!嵥Ԫʵ
R,1,37.13e-4,1803.07e-8,1803.07e-8,0.203,0.203  !ֹp203x6ʵ
!4ҽڵ
CSYS,2                       !תΪϵ
R=(Span*Span/4+f*f)/(2*f)    !ʸߺͿȼ뾶R
DPha=Atn(Span/2/Sqrt(R*R-Span*Span/4))/Nx  !Ȧ˶ӦļнDpha
N,1,R,0,90                  ! 嶥1ŽڵλΪR,0,90
*DO,i,1,Nx                  ! 1NxȦĽڵѭ
*DO,j,1,Kn*i                ! ԳĽڵѭ,iȦɷΪKn*i
    x=R                     ! x
    y=(j-1)*360/(Kn*i)      ! y꣬ȦϵĽڵĿΪKnȦ
    z=90-i*DPha             ! z
N,1+Kn*(i-1)*i/2+j,x,y,z    ! μ㲢ڵıźλ
*ENDDO
*ENDDO
LOCAL,11,1,0,0,0      !ԭ㴦һϵΪ11
CSYS,11               !ֲϵ11
!5ϲǸ˼
TYPE,1        !õǰĵԪΪ1
MAT,1         !õǰĲԱΪ1
REAL,1        !õǰʵΪ1
! 
*DO,i,1,Nx                              !1NxȦĽѭ
*DO,j,1,Kn*i-1                          !1Kn*i-1ԳĽѭ
E,1+Kn*(i-1)*i/2+j,1+Kn*(i-1)*i/2+j+1   !ɵԪ
*ENDDO
E,1+Kn*(i-1)*i/2+1,1+Kn*(i-1)*i/2+Kn*i  !һԳĻ
*ENDDO
! ĵԪ
*DO,i,1,Kn                              !ԸԳѭ
E,1,1+i                                 !Ĵ˵Ԫ
*ENDDO
*DO,j,1,Nx-1                            !Ȧ2ȦʼȦѭ
*DO,k,1,Kn                              !ԸԳѭ
*DO,i,1,j+1                             !ÿԳڵĸѭ
*IF,i,EQ,j+1,THEN                       !жǷǵǰԳڵһ
*IF,k,EQ,Kn,THEN                        !жǷһԳ
E,1+Kn*(j-1)*j/2+1,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i 
!1һ
*ELSE
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i   
!һڵһ
*ENDIF
*ELSE
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i    !һ
*ENDIF
*ENDDO
*DO,i,1,j
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i+1  !һ㸺
*ENDDO
*ENDDO
*ENDDO

!Լн           
D,all,UX,0  ! ԼнڵXɶ
D,all,UY,0  ! ԼнڵYɶ
D,all,UZ,0  ! ԼнڵZɶ
csys,0       !ѿϵ
nrotat,all   !ڵ귽תѿƽеλ
finish       !˳ǰ
/solu      !
antype,0   !÷Ϊ
fcum,add   !úطʽΪۼ
!ʩأطϵȡ1.0
*use,E:\BOOK_APDL\chapter_5\exzample5.3\dead_load.mac,1.0
!ʩѩأطϵȡ0.5
*use,E:\BOOK_APDL\chapter_5\exzample5.3\snow_load.mac,0.5
solve   !о
/post1  !
rsys,0   !ϵΪѿϵ
Num_node=817   !ڵĿ
*dim,rf_z,,Num_node,1   !ڵĵЧڵ
*do,i,1,Num_node,1
*get,rt_f,node,i,rf,fz   !ȡIڵ㴦֧
*set,rf_z(i),rt_f/9.8    !Iڵ㴦ĵЧ
*enddo
!дʩӵЧڵļmass21_create.mac
*DIM,Array_PreName,CHAR,Num_node      !һάַ
*DIM,Node_Num,ARRAY,Num_node          !һάΪ
*DIM,Array_PostName,CHAR,Num_node,2   !άַ
*DO,i,1,Num_node
   *SET,Array_PreName(i),'*SET,RFZ(' !һάַ鸳ַ'*SET,RFZ('
   *SET,Node_Num(i),i                !ڵ鸳ڵ
   *SET,Array_PostName(i,1),'),'     !άַĵ1иַ'),'
   *SET,Array_PostName(i,2),'*arg1'  !άַĵ2иַ'*arg1'
*ENDDO
*CFOPEN,E:\BOOK_APDL\chapter_5\exzample5.7\mass21_create,mac      
!ڱĿ¼´/ļmass21_create.mac
*vwrite,
('csys,0')
*vwrite,
('et,108,mass21,0,0,2')
*vwrite,
('*dim,rfz,,817,1')
*VWRITE,Array_PreName(1),Node_Num(1),Array_PostName(1,1),rf_z(1),Array_PostName(1,2)  
! ոʽ˳򽫸ڵĵЧдļ
! 趨һַܳ6ַ,ڶַܳ6λ
! ַܳ6ַ,ĸַܳ16λ,С8λ  
(a10,f4.0,a2,f16.8,a5)   
*vwrite,
('*do,i,1,1201,1')
*vwrite,
('r,1000+i,rfz(i)')
*vwrite,
('*enddo')
*vwrite,
('*do,i,1,1201,1')
*vwrite,
('type,108')
*vwrite,
('real,1000+i')
*vwrite,
('e,i')
*vwrite,
('*enddo')
*CFCLOS