⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dxfortranstd.f90

📁 DXF producer by Fortran
💻 F90
📖 第 1 页 / 共 5 页
字号:
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "9.525"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DASHEDX2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Dashed (2x) ____  ____  ____  ____  ____  ___"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "38.1"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "25.4"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-12.7"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DIVIDE"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Divide ____ . . ____ . . ____ . . ____ . . ____"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     6"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "31.75"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "12.7"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-6.35"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DIVIDE2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Divide (.5x) __..__..__..__..__..__..__..__.._"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     6"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "15.875"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DIVIDEX2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Divide (2x) _______  .  .  _______  .  .  _____"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     6"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "63.5"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "25.4"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-12.7"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-12.7"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-12.7"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DOT"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Dot . . . . . . . . . . . . . . . . . . . . . ."
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-6.35"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DOT2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Dot (.5x) ....................................."
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "3.175"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "DOTX2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Dot (2x) .  .  .  .  .  .  .  .  .  .  .  .  . "
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "12.7"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.0"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-12.7"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "HIDDEN"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Hidden __ __ __ __ __ __ __ __ __ __ __ __ __ _"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "9.525"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "6.35"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-3.175"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "HIDDEN2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Hidden (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "0.1875"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.125"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-0.0625"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "LTYPE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "HIDDENX2"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(A)') "     0"
   write (FileNum,fmt='(A)') "  3"
   write (FileNum,fmt='(A)') "Hidden (2x) ____ ____ ____ ____ ____ ____ ____"
   write (FileNum,fmt='(A)') " 72"
   write (FileNum,fmt='(A)') "    65"
   write (FileNum,fmt='(A)') " 73"
   write (FileNum,fmt='(A)') "     2"
   write (FileNum,fmt='(A)') " 40"
   write (FileNum,fmt='(A)') "0.75"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "0.5"
   write (FileNum,fmt='(A)') " 49"
   write (FileNum,fmt='(A)') "-0.25"
   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "ENDTAB"
   write (FileNum,fmt='(A)') "  0"
!- Layer Def       ------------------------------------------------------------
   write (FileNum,fmt='(A)') "TABLE"
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "LAYER"
   write (FileNum,fmt='(A)') " 70"
   write (FileNum,fmt='(I6)')            l              !+ num. of layer's
   write (FileNum,fmt='(A)') "  0"

   do i=1,l
       write (FileNum,fmt='(A)') "LAYER"
       write (FileNum,fmt='(A)') "  2"
       write (FileNum,fmt='(A)')            trim(layerDef(i,1))  !+ layer name
       write (FileNum,fmt='(A)') " 70"
       write (FileNum,fmt='(A)') "     0"
       write (FileNum,fmt='(A)') " 62"
       write (FileNum,fmt='(A)')            trim(layerDef(i,3))
       write (FileNum,fmt='(A)') "  6"
       write (FileNum,fmt='(A)')            trim(layerDef(i,2)) !+ layer linetype def
       write (FileNum,fmt='(A)') "  0"
   end do
   write (FileNum,fmt='(A)') "ENDTAB"
   write (FileNum,fmt='(A)') "  0"

!- End of header --------------------------------------------------------------

   write (FileNum,fmt='(A)') "ENDSEC"
!==========================================================

   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)') "SECTION"   
   write (FileNum,fmt='(A)') "  2"
   write (FileNum,fmt='(A)') "ENTITIES"
  
 return
 end subroutine dfBegin


!
!+ End the DXF File.
!
Subroutine dfEnd(FileNum) 
 
! Description: 
!   End the DXF file <FileNum>
! 
! Method: 
! No comment...
!
! Current Code Owner: 
! Carlos Otero & Davide Santos
! (Department of Civil Engineering of the University of Algarve - Portugal)     
! www.ualg.pt/est/adec/csc/dxfortran
! 
! History: 
! Version   Date     Comment 
! -------   ----     ------- 
!     0.1  00.11     Carlos Otero & Davide Santos
! 
! Code Description: 
!   Language:  Fortran 90. 
!   Software Standards: "European Standards for Writing and  
!                        Documenting Exchangeable Fortran 90 Code". 
! 
 
Implicit None 
 
! Declarations must be of the form: 
 
! Subroutine arguments 

! Scalar arguments with intent(in): 
 
integer ,intent(in):: FileNum         ! File number.

!- End of header ---------------------------------------------------------------  

   write (FileNum,fmt='(A)') "  0"
   write (FileNum,fmt='(A)')"ENDSEC"
   write (FileNum,fmt='(A)')"  0"
   write (FileNum,fmt='(A)')"EOF"

   close(unit=FileNum)

 return
 end subroutine dfEnd

!
!Draw a Arc with a center point and a radius
!
subroutine dfArc				&
               (FileNum,		&
               Layer,			&
               Color,			&
               X,				&
               Y,				&
               Z,				&
               Radius,			&
			   SAngle,			&
			   EAngle,			&
			   Thick)          
!
! Description: 
! 
! Draw a ARC in the in the file <FileNum> in the layer <Layer>
! and in the color <Color> with coordenates (X,Y,Z) with radius <Radius> 
! and thikness Thick
! 
! Method: 
! No comment...
!
! Current Code Owner: 
! David Santos
! (Department of Civil Engineering of the University of Algarve - Portugal)     
! www.ualg.pt/est/adec/csc/dxfortran
! 
! History: 
! Version   Date        Comment 
! -------   --------    ------- 
! 1.0		04.02.23	Davide Santos
!
! Code Description: 
!   Language:  Fortran 90. 
!   Software Standards: "European Standards for Writing and  
!                        Documenting Exchangeable Fortran 90 Code". 
! 

Implicit None 
 
! Include statements: 
! Declarations must be of the form: 
 
! Subroutine arguments 
! Scalar arguments with intent(in): 

Real, Intent (in)        ::             &
                              X,        &		!+ Coordenate XX
                              Y,        &		!+ Coordenate YY
                              Z,        &		!+ Coordenate ZZ
							  SAngle,	&		!+ Start Angle
							  EAngle,	&		!+ End Angle
                              Radius,   &		!+ Radius of the Arc							  
							  Thick					!+ Thickness		

Integer   ,Intent (in)   ::   FileNum			!+ File number
                          
Character , Intent(in)   ::               &
                              Color *(*), &		!+ Arc Color
                              Layer *(*)		!+ Arc Layer

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -