您的位置:

PlantUML教程详解

一、Plant3D教程

PlantUML是由Arnaud Roques开发的一种使用简单文本语言描述UML图形的工具。虽然PlantUML以其流程图而闻名,但它也可以用于绘制Plant3D图形。下面是一个简单的Plant3D图形的代码示例:

@startuml
scale 1.5
!define ICONURL https://raw.githubusercontent.com/rabelenda/cicon-asset/main
!define ICONSIZE 64
!define BROKENIMAGE $ICONURL/main/broken.png
!define OBJECT_SIGNATURE_BGCOLOR #7FFF00

!define PlantIcon(TaskName, IconName) node "[[" + $ICONURL/planticon/${IconName}.png?sanitize=true&size=${ICONSIZE}|$TaskName" as $TaskName
!define WorkPackageIcon(TaskName, IconName) node "[[" + $ICONURL/workpackageicon/${IconName}.png?sanitize=true&size=${ICONSIZE}|$TaskName" as $TaskName
!define MarkIcon(IconName) node "[[" + $ICONURL/main/${IconName}.png?sanitize=true&size=${ICONSIZE}" as $TaskName
!define HelpIcon(IconName) node "[[" + $ICONURL/main/${IconName}.png?sanitize=true&size=${ICONSIZE}" as $TaskName

TaskName(Mechanical Engineering) #Powderblue {
  WorkPackageIcon(Sensors, sensors)
  WorkPackageIcon(Control Systems, controls)
  WorkPackageIcon(Airframe, airframe)
  WorkPackageIcon(Propulsion, propulsion)
  PlantIcon(Integration, integration)
  PlantIcon(Fabrication, fabrication)
  PlantIcon(Assembly, assembly)
  MarkIcon(Paint, paint)
  MarkIcon(Simulations, simulations)
  MarkIcon(Testing, testing)
  HelpIcon(Help, help)
  HelpIcon(Report, report)
  HelpIcon(Schedule, schedule)
  HelpIcon(Documentation, documentation)
}

@enduml

在上面的代码中,我们先定义了一系列常量,包括图标URL、大小和默认的背景颜色。然后我们定义了一些宏,例如PlantIcon、WorkPackageIcon、MarkIcon和HelpIcon。这些宏根据预定义的常量和任务名称生成节点,节点用于表示任务或者工作包。在我们的示例中,我们定义了一个Mechanical Engineering任务,并在该任务下定义了各种工作包和任务。使用PlantUML,我们可以轻松地将所有定义组织成图形,该图形对于项目管理非常有用。

二、PlantUML语法

PlantUML的语法非常简单,它使用文本标记和代码生成图形。在本节中,我们将介绍PlantUML常用的语法元素。

2.1 关键字

PlantUML包含一些关键字,这些关键字在文本中必须正确拼写,才能正确生成图形。下面是一些常用的关键字:

  • node: 表示一个节点。
  • component: 表示一个组件。
  • database: 表示一个数据库。
  • actor: 表示一个操作者。
  • interface: 表示一个接口。
  • package: 表示一个包。
  • class: 表示一个类。
  • enum: 表示一个枚举。
  • usecase: 表示一个用例。

2.2 注释

PlantUML支持两种注释:单行注释和多行注释。单行注释用//标记,多行注释用'和'

// 这是一个单行注释
'
这是一个多行注释
'

2.3 连接符

PlantUML使用连接符来指示关系。下面是一些常用的连接符:

  • -- : 表示双向关系。
  • -->: 表示单向关系。
  • <|-- : 表示继承关系。
  • .. : 表示聚合 / 组合关系。

2.4 样式

PlantUML允许我们改变对象和关系的样式,例如颜色、字体和边框。下面是一些使用样式的示例:

@startuml

!define ICONURL https://raw.githubusercontent.com/rabelenda/cicon-asset/main
!define ICONSIZE 64

node "Node Name" as Node {
  rectangle #CadetBlue {
    -- A
    -- B
    -- C
  }
}

Node : A --> (foo)
Node : B --> (bar)
Node : C --> (baz)

@enduml

2.5 变量

PlantUML支持变量,使得代码更容易重用和维护。下面是一个使用变量的示例:

@startuml

!define TEXTCOLOR #000000
!define BORDERCOLOR #A0A0A0
!define FONTSIZE 14

skinparam class {
    BorderColor $BORDERCOLOR
    ArrowColor $BORDERCOLOR
    BackgroundColor White
    FontColor $TEXTCOLOR
    FontName Arial
    FontSize $FONTSIZE
}

class Foo {
    + method1()
    - method2()
}

Foo --|> Bar

@enduml

三、PlantUML流程图

PlantUML的一个主要用途是绘制流程图。下面是一个简单的流程图的示例:

@startuml

start
if (条件) then (yes)
  :相应操作;
else (no)
  :另一个操作;
endif
stop

@enduml

在上面的示例代码中,start和stop都表示节点,if-then-else表示条件分支结构。如果条件为yes,则执行相应操作,否则执行另一个操作。

结语

PlantUML是一个功能强大的绘图工具,它能够轻松地绘制UML图形和流程图。本文详细介绍了Plant3D教程、PlantUML语法和流程图绘制。通过本文的学习,相信读者对PlantUML有了更深入的了解,并能够使用PlantUML绘制高质量的图形。