跳转到内容

DXFortran

0% developed
来自维基教科书,开放世界中的开放书籍

DXFortran

[编辑 | 编辑源代码]

DXFortran 项目旨在为 FORTRAN90 程序员开发一个以 DXF(绘图交换格式)格式的矢量图形库。这是一个免费软件发行版。

URL:http://www.ualg.pt/est/adec/csc/dxfortran

目的

DXFortran 项目旨在为 FORTRAN90 程序员开发一个以 DXF(绘图交换格式)格式的矢量图形库。这是一个免费软件发行版。

创建这个图形库的目的是让 FORTRAN90 中的程序员能够自动生成矢量格式的图形,而无需了解 DXF 结构。

开发此工具的原因与 DXF 的良好可移植性有关,以及能够支持图形工具的开发,这些工具需要 CAD 系统的处理。

结构

DXFortran 将由一个标准库(DXFortranStd)构成,该库包含 DXF 格式的所有基本命令,例如

  • dfLine() - LINE
  • dfPline() - POLYLINE
  • dfText() - TEXT
  • 等等...

该库将支持以下属性

  • 图层;
  • 3D;
  • 颜色;
  • 线型;
  • 等等...

从 DXFortran 标准将构建主题库,例如

  • DXFortran Math - 用于数学应用的图形函数库。
  • DXFortran Engineering - 用于工程应用的图形函数库。
  • 等等...

开发

DXFortran 标准库将由项目团队(Davide Santos 和 Carlos Silva)开发。

该团队将继续为主题函数做出贡献,并管理对项目贡献的相关代码。

对于想要做出贡献的用户,将在项目页面上提供一套代码编写规则,这些规则是根据欧洲 FORTRAN90 编写规范制定的。

在每个函数(例程)中,将在标题中注明作者的姓名和来源(工作地点和国家)。

库的使用

该库将以源代码的形式提供。

每个用户都必须在其程序的代码中包含 DXFortranStd 模块和所需函数的模块。

DXFortranStd

[编辑 | 编辑源代码]
dfBegin()
[编辑 | 编辑源代码]

注释

开始绘制。

Usace 模式

CALL dfBegin(FileNum, Layer_def)

参数

Scalar arguments with intent(in):
# FileNum - File number (Integer);
# Layer_def - Layer definition (Character), 2D matrix.

导入的例程或函数

None

示例

图层配置示例

CHARACTER (len=15),DIMENSION (2,3) :: layer_def
layer_def(1,1)="0" layer_def(1,2)="continuous"
layer_def(1,3)="7"
layer_def(2,1)="layer1"
layer_def(2,2)="continuous"
layer_def(2,3)="1" 
CALL dfBegin(FileNum,layer_def)

线型定义

CENTER {Center ____ _ ____ _ ____ _ ____ _ ____ _ ____}
CENTER2 {Center (.5x) ___ _ ___ _ ___ _ ___ _ ___ _ ___}
CENTERX2 {Center (2x) ________ __ ________ __ _____}
DASHDOT {Dash dot __ . __ . __ . __ . __ . __ . __ . __}
DASHDOT2 {Dash dot (.5x) _._._._._._._._._._._._._._._.}
DASHDOTX2 {Dash dot (2x) ____ . ____ . ____ . ___}
DASHED {Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _}
DASHED2 {Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _}
DASHEDX2 {Dashed (2x) ____ ____ ____ ____ ____ ___}
DIVIDE {Divide ____ . . ____ . . ____ . . ____ . . ____}
DIVIDE2 {Divide (.5x) __..__..__..__..__..__..__..__.._}
DIVIDEX2 {Divide (2x) _______ . . _______ . . _____}
DOT {Dot . . . . . . . . . . . . . . . . . . . . . .}
DOT2 {Dot (.5x) .....................................}
DOTX2 {Dot (2x) . . . . . . . . . . . . .}
HIDDEN {Hidden __ __ __ __ __ __ __ __ __ __ __ __ __ _}
HIDDEN2 {Hidden (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _}
HIDDENX2 {Hidden (2x) ____ ____ ____ ____ ____ ____ ____}

注释

结束绘制。

Usace 模式

CALL dfEnd(FileNum)

参数

Scalar arguments with intent(in):
# FileNum - File number

导入的例程或函数

示例

CALL dfEnd(FileNum)

Fortran 市场

Fortran 90 - Fortran 77 程序员的转换课程

G95 项目

编写和记录可交换 Fortran 90 代码的欧洲标准

华夏公益教科书