📄 dxfortran_example.f90
字号:
!
!
! by:csilva@ualg.pt
!
!
PROGRAM DXFortran_example
USE DXFortranSTD
IMPLICIT NONE
CHARACTER(len=15), DIMENSION(:,:), ALLOCATABLE :: layer_def ! Layers def
CHARACTER (len=8 ) :: Layer ,Color ! Other vars
INTEGER :: FileID
REAL :: x, y, z, Height, Factor, Angle, Radius
INTEGER :: Alignh, Alignv, i
CHARACTER (len=8 ) :: Style
CHARACTER (len=50) :: text
x = 50.0
y = 100.0
z = 0.0
text = "DXFortran"
Factor = 1.0
Angle = 0.0
! - Align left : <Alignh> = 0 - Align none : <Alignv> = 0
! - Align center : <Alignh> = 1 - Align bottom : <Alignv> = 1
! - Align right : <Alignh> = 2 - Align middle : <Alignv> = 2
! - Align top : <Alignv> = 3
Alignh = 1
Alignv = 2
! Text Styles: STANDARD, ROMANS, ROMAND, ROMANT.
Style = "ROMANT"
!-----------------------------------+
! Layer defenition
!-----------------------------------+
ALLOCATE(layer_def(4,3))
layer_def(1,1)= "0" !+ Layer name (0 default layer)
layer_def(1,2)= "continuous" !+ Linetype
layer_def(1,3)= "7" !+ Color
layer_def(2,1)= "layer1"
layer_def(2,2)= "continuous"
layer_def(2,3)= "1"
layer_def(3,1)= "layer2"
layer_def(3,2)= "continuous"
layer_def(3,3)= "2"
layer_def(4,1)= "layer3"
layer_def(4,2)= "continuous"
layer_def(4,3)= "3"
Layer = "layer1"
Color = "bylayer"
FileID = 10
OPEN (FileID , FILE = "DXFortran_example.dxf")
!
!+ Begin DXF Example file
!
CALL dfBegin(FileID,layer_Def)
!
!+++ Polyline example
!
Layer = "0"
CALL dfBeginPline (FileID, Layer, Color)
CALL dfPlVertex (FileID, Layer, Color, 0.0, 0.0, Z)
CALL dfPlVertex (FileID, Layer, Color, 100.0, 0.0, Z)
CALL dfPlVertex (FileID, Layer, Color, 100.0, 100.0, Z)
CALL dfPlVertex (FileID, Layer, Color, 0.0, 100.0, Z)
CALL dfPlVertex (FileID, Layer, Color, 0.0, 0.0, Z)
CALL dfEndPline (FileID, Layer, Color)
!
!+++ Text Example
!
Color ="5"
x = 50.0
y = 95.0
z = 0.0
text = "DXFortran"
Height = 6.0
Factor = 1
Angle = 0.0
Alignh = 1 ! Align center
Alignv = 2 ! Align middle
Style = "ROMAND" ! Text Styles: STANDARD, ROMANS, ROMAND, ROMANT.
CALL dfText (FileID, Layer, Color, X, Y, Z, Text, Height, &
Factor, Angle, Alignh, Alignv, Style)
y = 89.0
text = "UNIVERSIDADE DO ALGARVE "
Height = 3.0
Factor = 1
Angle = 0.0
Style = "ROMANT" ! Text Styles: STANDARD, ROMANS, ROMAND, ROMANT.
CALL dfText (FileID, Layer, Color, X, Y, Z, Text, Height, &
Factor, Angle, Alignh, Alignv, Style)
y = 84.0
text = "Escola Superior de Tecnologia"
Height = 2.5
Factor = 1
Angle = 0.0
Style = "ROMAND" ! Text Styles: STANDARD, ROMANS, ROMAND, ROMANT.
CALL dfText (FileID, Layer, Color, X, Y, Z, Text, Height, &
Factor, Angle, Alignh, Alignv, Style)
y = 80.0
text = "Area Departamental de Engenharia Civil"
Height = 2.0
Factor = 1
Angle = 0.0
Style = "ROMANS" ! Text Styles: STANDARD, ROMANS, ROMAND, ROMANT.
CALL dfText (FileID, Layer, Color, X, Y, Z, Text, Height, &
Factor, Angle, Alignh, Alignv, Style)
!
!+ Circle example
!
Color = "bylayer"
Layer = "layer1"
Radius = 5.5
DO i=1,5
CALL dfCircle (FileID, Layer, Color, 10.0 + Radius*i, 15.0, Z, Radius-i)
END DO
!
!+ Donut example
!
Layer = "layer2"
Radius = 5.5
DO i=1,5
CALL dfDonut(FileID, Layer, Color,0.0, (Radius-i)*2.0, 10.0 + Radius*i, 30.0)
END DO
!
!+ 3D Face example
!
Layer = "layer3"
Do i=1,3
CALL df3DFace (FileID, Layer, "bylayer", Color, &
50.0+10.0*i, 20.0, 0.0,&
60.0+10.0*i, 20.0, 0.0,&
60.0+10.0*i, 10.0, 0.0,&
50.0+10.0*i, 10.0, 0.0)
END DO
!
!+ Point example
!
Color = "4"
DO i=-50, 50
CALL dfpoint (FileID, Layer, Color, REAL(i)+50.0, REAL(i)**2./100.0+40.0, 0.0)
END DO
!
!+ Solid example
!
DO i=1,4
CALL dfSolid(FileID,Layer,"bylayer","bylayer", &
20.0+10.0*i,60.0,&
30.0+10.0*i,60.0,&
30.0+10.0*i,50.0,&
20.0+10.0*i,50.0,&
0.0,0.0)
END DO
!
!+ End DXF Example file
!
CALL dfEnd(FileID)
CLOSE(FileID)
DEALLOCATE(layer_def)
STOP
END PROGRAM DXFortran_example
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -