DXF组码大全及DXF基本结构(按数字次序排列的组码)——CAD vba

cad vba 编程创建选择集时需要fdata输入图元类型,图元类型有如下几种:

若选择多种图元可用逗号隔开,图元字母全称若记不住可用  *  代替任意字符,

如:fdata(0) = "*Polyline,Region,Hatch,circle" ,轻量线、区域、填充、圆可一并选择。

  下表列出了组码或组码范围以及组码值的解释。 在此表中,“固定”表明组码始终具有相同的用途。 如果组码不固定,则其用途取决于上下文。 关于此表中使用的缩写和格式方面的信息,请参见本参考的格式惯例

按数字次序排列的组码

组码

说明

-5

APP:永久反应器链

-4

APP:条件运算符(仅与 ssget 一起使用)

-3

APP:扩展数据 (XDATA) 标记(固定)

-2

APP:图元名参照(固定)

-1

APP:图元名。 每次打开图形时,图元名都会发生变化, 从不保存(固定)

0

表示图元类型的字符串(固定)

1

图元的主文字值

2

名称(属性标记、块名等)

3-4

其他文字或名称值

5

图元句柄;最多 16 个十六进制数字的字符串(固定)

6

线型名(固定)

7

文字样式名(固定)

8

图层名(固定)

9

DXF:变量名称标识符(仅在 DXF 文件的 HEADER 段中使用)

10

主要点;直线或文字图元的起点、圆的圆心,等等

DXF:主要点的 X 值(后跟 Y 和 Z 值代码 20 和 30)

APP:三维点(三个实数的列表)

11-18

其他点

DXF:其他点的 X 值(后跟 Y 值代码 21-28 和 Z 值代码 31-38)

APP:三维点(三个实数的列表)

20, 30

DXF:主要点的 Y 值和 Z 值

21-28, 31-37

DXF:其他点的 Y 值和 Z 值

38

DXF:如果非零,则为图元的标高

39

如果非零,则为图元的厚度(固定)

40-48

双精度浮点值(文字高度、缩放比例等)

48

线型比例;双精度浮点标量值;默认值适用于所有图元类型

49

重复的双精度浮点值。 一个图元的可变长度表(例如,LTYPE 表中的虚线长度)中可能会出现多个 49 组。 7x 组始终出现在第一个 49 组之前,用以指定表的长度

50-58

角度(在 DXF 文件中以度为单位,在 AutoLISP 和 ObjectARX 应用程序中以弧度为单位)

60

图元可见性;整数值;未赋值或值为 0 时表示可见;值为 1 时表示不可见

62

颜色号(固定)

66

“图元跟随”标志(固定)

67

空间 — 模型空间或图纸空间(固定)

68

APP:指示视口是处于打开状态但在屏幕上完全不可见,还是未激活或处于关闭状态

69

APP:视口标识号

70-78

整数值,例如重复计数、标志位或模式

90-99

32 位整数值

100

子类数据标记(将派生类名作为字符串) 从其他具体类派生的所有对象和图元类必须具有此标记。 子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。

对于从 ObjectARX 派生的每个不同的具体类的 DXF 名称来说,这是必须满足的额外要求(参见子类标记

102

控制字符串,后跟“{<任意名称>”或“}”。 与扩展数据 1002 组码类似,不同之处在于当字符串以“{”开始时,其后可跟任意字符串,字符串的解释取决于应用程序。 唯一允许的另外一个控制字符串是作为组结束符的“}”。 除了执行图形核查操作期间外,AutoCAD 不会解释这些字符串。 它们供应用程序使用

105

DIMVAR 符号表条目的对象句柄

110

UCS 原点(仅当将代码 72 设置为 1 时才显示)

DXF:X 值;APP:三维点

111

UCS X 轴(仅当将代码 72 设置为 1 时才显示)

DXF:X 值;APP:三维矢量

112

UCS Y 轴(仅当将代码 72 设置为 1 时才显示)

DXF:X 值;APP:三维矢量

120-122

DXF:UCS 原点的 Y 值,UCS X 轴和 UCS Y 轴

130-132

DXF:UCS 原点的 Z 值,UCS X 轴和 UCS Y 轴

140-149

双精度浮点值(例如点、标高和 DIMSTYLE 设置)

170-179

16 位整数值,例如表示 DIMSTYLE 设置的标志位

210

拉伸方向(固定)

DXF:拉伸方向的 X 值

APP:三维拉伸方向矢量

220, 230

DXF:拉伸方向的 Y 值和 Z 值

270-279

16 位整数值

280-289

16 位整数值

290-299

布尔标志值

300-309

任意字符串

310-319

具有相同表示和 1004 组码限制的任意二进制块:用最大长度为 254 个字符的十六进制字符串表示最大长度为 127 个字节的数据块

320-329

任意对象句柄;“按原样”获取的句柄值。 它们在 INSERT 和 XREF 操作期间不进行转换

330-339

软指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意软指针。 在 INSERT 和 XREF 操作期间进行转换

340-349

硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。 在 INSERT 和 XREF 操作期间进行转换

350-359

软所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意软所有者指针。 在 INSERT 和 XREF 操作期间进行转换

360-369

硬所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬所有者指针。 在 INSERT 和 XREF 操作期间进行转换

370-379

线宽枚举值 (AcDb::LineWeight)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 371-379 DXF 组码,因为 AutoCAD 和 AutoLISP 都始终假定 370 组码是图元的线宽。 这使 370 组码与其他“通用”图元字段具有相同的行为

380-389

PlotStyleName 类型枚举 (AcDb::PlotStyleNameType)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 381-389 DXF 组码,原因与上述线宽范围相同

390-399

表示 PlotStyleName 对象的句柄值的字符串,本质上是硬指针,但范围不同,更容易处理向后兼容。 作为对象 ID(在 DXF 文件中为句柄)和 AutoLISP 中的特殊类型存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 391-399 DXF 组码,原因与上述线宽范围相同

400-409

16 位整数

410-419

字符串

420-427

32 位整数值。 与真彩色一同使用时,表示 24 位颜色值的 32 位整数。 高阶字节(8 位)为 0;低阶字节为包含“蓝色”值 (0-255)、然后是“绿色”值的无符号字符;次高阶字节是“红色”值。 将此整数值转换为十六进制值将得到以下位掩码:0x00RRGGBB。 例如,红色==200、绿色==100 和蓝色==50 的真彩色为 0x00C86432,而在 DXF 中以十进制表示则为 13132850

430-437

字符串;用于真彩色时,则为表示颜色名称的字符串

440-447

32 位整数值。 用于真彩色时,表示透明度值

450-459

长整数

460-469

双精度浮点值

470-479

字符串

999

DXF:999 组码指示后面的行是注释字符串。 SAVEAS 不会在 DXF 输出文件中包含这样的组,但 OPEN 则包括这些组并忽略注释。 可以使用 999 组在您编辑的 DXF 文件中包含注释

1000

扩展数据中的 ASCII 字符串(最多可以包含 255 个字节)

1001

扩展数据的注册应用程序名(最多可以包含 31 个字节的 ASCII 字符串)

1002

扩展数据控制字符串(“{”或“}”)

1003

扩展数据图层名

1004

扩展数据中的字节数据块(最多可以包含 127 个字节)

1005

扩展数据中的图元句柄;最多可以包含 16 个十六进制数字的字符串

1010

扩展数据中的点

DXF:X 值(后跟 1020 和 1030 组)

APP:三维点

1020, 1030

DXF:点的 Y 值和 Z 值

1011

扩展数据中的三维世界空间位置

DXF:X 值(后跟 1021 和 1031 组)

APP:三维点

1021, 1031

DXF:世界空间位置的 Y 值和 Z 值

1012

扩展数据中的三维世界空间位移

DXF:X 值(后跟 1022 和 1032 组)

APP:三维矢量

1022, 1032

DXF:世界空间位移的 Y 值和 Z 值

1013

扩展数据中的三维空间方向

DXF:X 值(后跟 1022 和 1032 组)

APP:三维矢量

1023, 1033

DXF:世界空间方向的 Y 和 Z 值

1040

扩展数据双精度浮点值

1041

扩展数据距离值

1042

扩展数据缩放比例

1070

扩展数据 16 位有符号整数

1071

扩展数据 32 位有符号长整数

((-1 . \u003C图元名: 7ffff705c20>) ;实体名\n

(0 . “CIRCLE”) ;实体类型

\n(330 . \u003C图元名: 7ffff7039f0>) ;辅助实体名

\n(5 . “23A”) ;实体标号\n(100 . “AcDbEntity”) ;实体子类说明

\n(67 . 0) ;空间类型说明

\n(410 . “Model”) ;空间名\n(8 . “0”) ;图层名\n(100 . “AcDbCircle”) ;

\n(10 286.611 50.8336 0.0) ;圆心坐标\n(100.000) ;半径

\n(210 0.0 0.0 1.0)) ;3D延伸方向

扩展数据组码和说明

图元名

组码

说明

字符串

1000

扩展数据中字符串的最大长度为 255 个字节(第 256 个字节是为空字符保留的)

应用程序名称

1001

也是字符串值

应用程序名的最大长度为 31 个字节(第 32 个字节是为空字符保留的)

注意 不要将 1001 组添加到扩展数据中,因为 AutoCAD 假定它是新应用程序扩展数据组的开始

控制字符串

1002

扩展数据控制字符串可以是“{”或“}”。 这两个大括号使应用程序可以通过将数据细分为表来组织数据。 左大括号开始一个列表,右大括号结束最近的列表。 列表可以嵌套。

读取特定应用程序的扩展数据时,AutoCAD 会进行检查以确保大括号是成对的

图层名

1003

与扩展数据关联的图层名

二进制数据

1004

二进制数据组织成可变长度的数据块。 每个数据块的最大长度为 127 个字节。 在 ASCII 格式的 DXF 文件中,二进制数据以十六进制数字字符串的形式表示,每个二进制字节由两个数字字符表示

数据库句柄

1005

图形数据库中的图元句柄

注意 使用 INSERT、INSERT *、XREF BIND、XBIND 或 PARTIAL OPEN 将带有句柄和扩展数据句柄的图形输入到另一个图形时,扩展数据句柄将使用其相应图元句柄的转换方式进行转换,从而使两者之间的绑定保持不变。 EXPLODE 块操作或任何其他 AutoCAD 操作也是如此。 如果 AUDIT 检测出扩展数据句柄与图形文件中的图元句柄不匹配,将认为存在错误。 AUDIT 修复图元时,将句柄设置为 0。

3 个实数

1010, 1020, 1030

按 X、Y、Z 次序排列的三个实数值。 可将它们用作点或矢量记录。 AutoCAD 永远不会改变它们的值

世界空间位置

1011, 1021, 1031

与简单的三维点不同,世界空间坐标随扩展数据所属的父图元进行移动、缩放、旋转和镜像。 对父图元使用 STRETCH 命令并且此点位于选择窗口中时,世界空间位置也会被拉伸。

世界空间位移

1012, 1022, 1032

也是一个随着父图元进行缩放、旋转和镜像(而不是移动或拉伸)的三维点

世界方向

1013, 1023, 1033

也是一个随着父图元旋转和镜像(而不是移动、缩放或拉伸)的三维点

实数

1040

一个实数值

距离

1041

一个随着父图元进行缩放的实数值

比例因子

1042

也是一个随着父图元进行缩放的实数值。 距离和缩放因子的差别由应用程序定义

整数

1070

一个 16 位整数(有符号或无符号)

长整数

1071

一个 32 位有符号(长)整数

DXF 文件的基本结构

DXF 文件本质上由代码及关联值对组成。 代码(通常称为组码)表明其后的值的类型。 使用这些组码和值对,可以将 DXF 文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。 在 DXF 文件中,每个组码和值都各占一行。

每段都以一个后跟字符串 SECTION 的组码 0 开始, 其后是组码 2 和表示该段名称的字符串(例如,HEADER)。 每段都由定义其元素的组码和值组成。 每段都以一个后跟字符串 ENDSEC 的组码 0 结束。

从小图形中生成 DXF 文件,打印出来并在阅读本文时参考,可能会有助于用户理解本文的内容。

DXF 文件完整的结构如下:

  • HEADER 段。包含图形的基本信息。 它由 AutoCAD 数据库版本号和一些系统变量组成。 每个参数都包含一个变量名称及其关联的值。
  • CLASSES 段。包含应用程序定义的类的信息,这些类的实例出现在数据库的 BLOCKS、ENTITIES 和 OBJECTS 段中。 类定义在类的层次结构中是固定不变的。
  • TABLES 段。包含以下符号表的定义:

    APPID(应用程序标识表)

    BLOCK_RECORD(块参照表)

    DIMSTYLE(标注样式表)

    LAYER(图层表)

    LTYPE(线型表)

    STYLE(文字样式表)

    UCS(用户坐标系表)

    VIEW(视图表)

    VPORT(视口配置表)

  • BLOCKS 段。包含构成图形中每个块参照的块定义和图形图元。
  • ENTITIES 段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。
  • OBJECTS 段。包含图形中的非图形对象。 除图元、符号表记录以及符号表以外的所有对象都存储在此段。 OBJECTS 段中的条目样例是包含多线样式和组的词典。
  • THUMBNAILIMAGE 段。包含图形的预览图像数据。 此段为可选。

如果使用 SAVE 或 SAVEAS 命令的“选择对象”选项,那么所得到的 DXF 文件的 ENTITIES 区域将只包含选择的图元。

以下是一个简单的 Visual Basic 6 程序样例,它读取 DXF 文件,并且从给定段的给定对象中提取特定代码和值。

' ReadDXF 从 DXF 文件中提取指定的代码/值对。
' 此函数需要四个字符串参数、一个有效的 DXF
' 文件名、一个 DXF 段名、该段中对象的
' 名称以及由逗号分隔的代码列表。
'
Function ReadDXF( _
        ByVal dxfFile As String, ByVal strSection As String, _
        ByVal strObject As String, ByVal strCodeList As String)
    Dim tmpCode, lastObj As String
    Open dxfFile For Input As #1
    ' 获取第一个代码/值对
    codes = ReadCodes
    ' 遍历整个文件,直到“EOF”行
    While codes(1) <> "EOF"
        ' 如果组码为“0”,并且值为“SECTION”,则
        If codes(0) = "0" And codes(1) = "SECTION" Then
            ' 这必须是一个新的段,以便获取下一个
            ' 代码/值对。
            codes = ReadCodes()
            ' 如果此段是要获取的段,则
            If codes(1) = strSection Then
                ' 获取下一个代码/值对,并
                codes = ReadCodes
                ' 遍历此段,直到“ENDSEC”
                While codes(1) <> "ENDSEC"
                    ' 在某段中,所有的“0”代码都表示
                    ' 对象。 如果找到了“0”代码,则存储
                    ' 对象名称,供以后使用。
                    If codes(0) = "0" Then lastObj = codes(1)
                    ' 如果此对象是用户所需的对象,
                    If lastObj = strObject Then
                        ' 则在代码前后加上逗号
                        tmpCode = "," & codes(0) & ","
                        ' 如果此代码位于代码列表中,
                        If InStr(strCodeList, tmpCode) Then
                            ' 则附加返回值。
                            ReadDXF = ReadDXF & _
                                codes(0) & "=" & codes(1) & vbCrLf
                        End If
                    End If
                    ' 读取其他代码/值对
                    codes = ReadCodes
                Wend
            End If
        Else
            codes = ReadCodes
        End If
    Wend
    Close #1
End Function

' ReadCodes 从打开的文件中读取两行,并返回一个包含两个项目
' 的数组、一个组码及其组码值。 只要一次读取 DXF 文件中的两行代码, 
' 所有程序应该都能够顺利运行。 但为了使代码 
' 更可靠,应该添加一些进行错误检查和其他
' 检查的代码。
'
Function ReadCodes() As Variant
    Dim codeStr, valStr As String
    Line Input #1, codeStr
    Line Input #1, codeStr
    ' 修剪代码中的前导空格和后续空格
    ReadCodes = Array(Trim(codeStr), valStr)
End Function

获取entityname类名代码:



Sub 获取Entityname()
    ' This example creates several objects in model space. It then
    ' prompts the user to select an object. The example continues to
    ' have the user select objects until the user selects in empty space.
    
'    ' Create a Ray object in model space
'    Dim rayObj As AcadRay
'    Dim basePoint(0 To 2) As Double
'    Dim SecondPoint(0 To 2) As Double
'    basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0#
'    SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0#
'    Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint)
'
'    ' Create a polyline object in model space
'    Dim plineObj As AcadLWPolyline
'    Dim points(0 To 5) As Double
'    points(0) = 3: points(1) = 7
'    points(2) = 9: points(3) = 2
'    points(4) = 3: points(5) = 5
'    Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
'    plineObj.Closed = True
'
'    ' Create a line object in model space
'    Dim lineObj As AcadLine
'    Dim startPoint(0 To 2) As Double
'    Dim endPoint(0 To 2) As Double
'    startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
'    endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0
'    Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
'
'    ' Create a circle object in model space
'    Dim circObj As AcadCircle
'    Dim centerPt(0 To 2) As Double
'    Dim radius As Double
'    centerPt(0) = 20: centerPt(1) = 30: centerPt(2) = 0
'    radius = 3
'    Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius)
'
'    ' Create an ellipse object in model space
'    Dim ellObj As AcadEllipse
'    Dim majAxis(0 To 2) As Double
'    Dim center(0 To 2) As Double
'    Dim radRatio As Double
'    center(0) = 5#: center(1) = 5#: center(2) = 0#
'    majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0#
'    radRatio = 0.3
'    Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
'
'    ZoomAll
'
    ' Begin the selection
    Dim returnObj As AcadObject
    Dim basePnt As Variant
    
'    On Error Resume Next
    
    ' The following example waits for a selection from the user
RETRY:
    ThisDrawing.Utility.GetEntity returnObj, basePnt, "选择一个对象"
    
    If Err <> 0 Then
        Err.Clear
        MsgBox "已结束", , "GetEntity 示例"
        Exit Sub
    Else
        returnObj.Update
        MsgBox "对象的entityname是: " & returnObj.EntityName, , "GetEntity 示例"
        
        returnObj.Update
    End If
    
    GoTo RETRY
End Sub





另附type属性

Type 属性

指定 Leader、MenuGroup、PopupMenuItem、ToolbarItem、Polyline 或 PolygonMesh 对象的类型。

参阅 | 示例

语法

object.Type

object

3DPolyline , Layout, Leader, MenuGroup, PlotConfiguration, Polyline, PolygonMesh, PopupMenuItem, ToolbarItem
使用该属性的对象。

Type

Integer[整数];

Leader 使用 acLeaderType 常数; 可读写

acLineNoArrow

不带箭头的线。

acLineWithArrow

带箭头的线。

acSplineNoArrow

不带箭头的样条曲线。

acSplineWithArrow

带箭头的样条曲线。

MenuGroup 使用 acMenuGroupType 常数; 只读

acBaseMenuGroup

基本菜单组。

acPartialMenuGroup

局部菜单组。

PopupMenuItem 使用 acMenuItemType 常数; 只读

acMenuItem

菜单项。

acMenuSeparator

菜单分隔符。

acMenuSubMenu

子菜单。

ToolbarItem 使用 acToolbarItemType 常数; 只读

acToolbarButton

常规按钮。

acToolbarFlyout

弹出式按钮。

acToolbarControl

控制按钮。

acToolbarSeparator

分隔符。

3DPolyline 使用 ac3DPolylineType 常数; 可读写

acSimple3DPoly

简单多段线。

acQuadSpline3DPoly

二次B样条线。

acCubicSpline3DPoly

三次B样条线。

Polyline 使用 acPolylineType 常数; 可读写

acSimplePoly

简单多段线。

acFitCurvePoly

拟合曲线多段线。

acQuadSplinePoly

二次B样条线。

acCubicSplinePoly

三次B样条线。

PolygonMesh 使用 acPolymeshType 常数; 可读写

acSimpleMesh

简单的网络不带曲面拟合或平滑。

acQuadSurfaceMesh

二次B样条曲面拟合。

acCubicSurfaceMesh

三次B样条曲面拟合。

acBezierSurfaceMesh

贝塞尔曲面拟合。

Layout 与 PlotConfiguration 使用 acPlotType 常数; 可读写

acDisplay

打印当前显示的所有内容。

acExtents

打印落在当前选择空间范围内的所有内容。

acLimits

打印在当前空间界限内的所有内容。

acView

打印由 ViewToPlot 属性指定的命名视口。

acWindow

打印由 SetWindowToPlot 方法指定的窗口内的所有内容。

acLayout

打印落在指定图纸页边距内的所有内容,原点从布局选项卡中的0,0坐标算起。此选项在模型空间中打印时无效。

说明

PolygonMesh: 如果 PolygonMesh 的类型设置为 acSimpleMesh ,则 MN 顶点数值将用于顶点行和列的大小。对于其它类型的 PolygonMesh,MN 的密度值用来作为行和列的大小。

 

Sub Example_Type()
    ' This example creates a leader in model space.
    ' It then changes the type of the leader.
   
    Dim leaderObj As AcadLeader
    Dim points(0 To 8) As Double
    Dim leaderType As Integer
    Dim annotationObject As AcadEntity
    
    points(0) = 0: points(1) = 2: points(2) = 0
    points(3) = 4: points(4) = 4: points(5) = 0
    points(6) = 4: points(7) = 2: points(8) = 0
    leaderType = acLineNoArrow
    Set annotationObject = Nothing
        
    ' Create the leader object in model space
    Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, annotationObject, leaderType)
    ZoomAll
    
    ' Find the current leader type
    leaderType = leaderObj.Type
    MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例"
    
    ' Change the leader type
    leaderObj.Type = acLineWithArrow
    leaderObj.Update
    MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例"
    
    ' Change the leader type
    leaderObj.Type = acSplineNoArrow
    leaderObj.Update
    MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例"
    
    ' Change the leader type
    leaderObj.Type = acSplineWithArrow
    leaderObj.Update
    MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例"
    
End Sub

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值