雅阁架空线路辅助设计软件(WCAD)材料统计

No.名称型号规格及参数单位数量备注
1110DSn(15)伞型终端塔110DSN(15)呼称高度 = 15 m4 
23560ZS2(12)上字型直线塔3560ZS2(12)呼称高度 = 12 m22 
3110DSn(12)伞型终端塔110DSN(12)呼称高度 = 12 m1 
4导线LGJ-120/20S = 134.49 sqmmm19668.387 
5地线GJ-25S = 26.6 sqmmm13110.692 
6横担2Ⅰ1*1400 × 455 mm3 
7横担2Ⅰ11800 × 455 mm3 
8绝缘子串Ⅰ型绝缘子串标称荷载 = 0 t5 
9绝缘子串Ⅱ型绝缘子串标称荷载 = 7 t5 
10绝缘子串Ⅲ型绝缘子串标称荷载 = 10 t5 
11防振锤FD-3重量 = 4.50 kg156 
12护线条FYH-120/20重量 = 0.57 kg90 
13防振锤FG-100重量 = 5.90 kg62 
14悬垂线夹XGU-4标称荷载 = 0 t3 
15L型联板L-1040标称荷载 = 0 t3 
16U形挂环U-10标称荷载 = 0 t3 
17球头挂环Q-7标称荷载 = 0 t3 
18拉线GJ-50L = 2×16.971 m, S = 49.48 sqmm3 
19拉线棒Ⅰ2L = 4.101 m, D = φ19 mm, 热镀锌3 
20拉盘LP10L = 1000 mm, W = 500 mm, H = 180 mm, C183 
21抱箍 热镀锌12 
22平行挂板PD-10热镀锌6 
23楔形线夹NX-2热镀锌6 
24可调式 UT 型线夹NUT-2热镀锌6 
25双拉线联板LV-2015热镀锌3 
26U 形挂板U-12热镀锌6 
27螺栓、螺母及垫圈M10×70热镀锌24 
28拉线GJ-25L = 2×19.799 m, S = 26.6 sqmm3 
29拉线棒Ⅰ1L = 4.101 m, D = φ16 mm, 热镀锌3 
30拉盘LP8L = 800 mm, W = 400 mm, H = 180 mm, C183 
31平行挂板PD-7热镀锌6 
32楔形线夹NX-1热镀锌6 
33可调式 UT 型线夹NUT-1热镀锌6 
34双拉线联板LV-1214热镀锌3 
35扁钢-40热镀锌m240 
36螺栓、螺母及垫圈φ16×45×45热镀锌12 
37底盘DP10-1L = 1000 mm, W = 1000 mm, H = 180 mm, C183 
38卡盘KP10-1L = 1000 mm, W = 300 mm, H = 150 mm, C183 
39卡盘KP10-2L = 1000 mm, W = 300 mm, H = 150 mm, C183 

时间 2025/4/14 13:15
编号 DLGZADDR
项目名称 DEMO 110kV OHTL Project
单位系统 公斤(kg)
语言 简体中文

雅阁架空线路辅助设计软件(WCAD)放线报告

编号:DLGZADDR

架空电力线路设计放线报告

项目名称: DEMO 110kV OHTL Project

单位系统: 公斤(kg)

语言: 简体中文

放线概况

项目数值备注
回路单回路 
地线单地线 
系数利用力学计算数据 
总里程(m)6545.78 
杆型种类3 
耐张段数4 
杆塔数量27 
导线 单线长度(m)6556.129有效长度
地线 单线长度(m)6555.346有效长度

杆塔明细表

杆塔编号杆塔型号呼称高度(m)杆塔埋深(m)转角度数档距(m)耐张段长(m)/代表档距(m)备注
1110DSN(15)150左0°   
1 – 2    202.4561034.52           213.316 
23560ZS2(12)120左0°  
2 – 3    227.098 
33560ZS2(12)120左0°  
3 – 4    219.974 
43560ZS2(12)120左0°  
4 – 5    235.68 
53560ZS2(12)120左0°  
5 – 6    149.312 
6110DSN(15)150左0°   
6 – 7    265.559908.145         232.673 
73560ZS2(12)120左0°  
7 – 8    184.9 
83560ZS2(12)120左0°  
8 – 9    218.512 
93560ZS2(12)120左0°  
9 – 10    239.174 
10110DSN(15)150左0°   
10 – 11    301.111952.701               284.11 
113560ZS2(12)120左0°  
11 – 12    235.428 
123560ZS2(12)120左0°  
12 – 13    325.33 
133560ZS2(12)120左0°  
13 – 14    269.366 
143560ZS2(12)120左0°  
14 – 15    300.425 
153560ZS2(12)120左0°  
15 – 16    283.338 
163560ZS2(12)120左0°  
16 – 17    237.704 
17110DSN(12)120左0°   
17 – 18    280.712650.414                     271.51 
183560ZS2(12)120左0°  
18 – 19    229.018 
193560ZS2(12)120左0°  
19 – 20    250.592 
203560ZS2(12)120左0°  
20 – 21    204.298 
213560ZS2(12)120左0°  
21 – 22    239.968 
223560ZS2(12)120左0°  
22 – 23    260.01 
233560ZS2(12)120左0°  
23 – 24    280.116 
243560ZS2(12)120左0°  
24 – 25    325.854 
253560ZS2(12)120左0°  
25 – 26    277.382 
263560ZS2(12)120左0°  
26 – 27    302.466 
27110DSN(15)150左0°   

为类添加集合

一、首先创建三个基础类(ClassA、ClassB、ClassC)

‘ ClassA.cls
‘(空类,可根据需要添加属性或方法,见 建立类模块

‘ ClassB.cls
‘(空类,可根据需要添加属性或方法,见 建立类模块

‘ ClassC.cls
‘(空类,可根据需要添加属性或方法,见 建立类模块

二、创建主类(MainClass)包含三个集合

‘ MainClass.cls
Option Explicit

Private m_colItemsA As Collection
Private m_colItemsB As Collection
Private m_colItemsC As Collection

‘ 类初始化时创建集合
Private Sub Class_Initialize()
Set m_colItemsA = New Collection
Set m_colItemsB = New Collection
Set m_colItemsC = New Collection
End Sub

‘ 添加ClassA实例到集合A
Public Sub AddItemA(objA As ClassA)
m_colItemsA.Add objA
End Sub

‘ 添加ClassB实例到集合B
Public Sub AddItemB(objB As ClassB)
m_colItemsB.Add objB
End Sub

‘ 添加ClassC实例到集合C
Public Sub AddItemC(objC As ClassC)
m_colItemsC.Add objC
End Sub

‘ 获取集合A(只读)
Public Property Get ItemsA() As Collection
Set ItemsA = m_colItemsA
End Property

‘ 获取集合B(只读)
Public Property Get ItemsB() As Collection
Set ItemsB = m_colItemsB
End Property

‘ 获取集合C(只读)
Public Property Get ItemsC() As Collection
Set ItemsC = m_colItemsC
End Property

‘ 清理资源
Private Sub Class_Terminate()
Set m_colItemsA = Nothing
Set m_colItemsB = Nothing
Set m_colItemsC = Nothing
End Sub

三、使用示范

Dim mainObj As New MainClass
Dim objA As New ClassA
Dim objB As New ClassB
Dim objC As New ClassC

‘ 添加对象到各个集合
mainObj.AddItemA objA
mainObj.AddItemB objB
mainObj.AddItemC objC

‘ 遍历集合示例
Dim item As Object
For Each item In mainObj.ItemsA
‘ 处理ClassA实例
Next

For Each item In mainObj.ItemsB
‘ 处理ClassB实例
Next

For Each item In mainObj.ItemsC
‘ 处理ClassC实例
Next

四、代码说明

  1. 三个基础类(ClassA/B/C)可根据实际需求添加成员
  2. MainClass使用Collection对象管理三个不同类型的集合
  3. 通过AddItemX方法确保类型安全,只能添加指定类型的实例
  4. 通过只读属性ItemsX暴露集合的访问
  5. 在Class_Terminate中释放集合资源
  6. 使用For Each循环可以方便地遍历集合成员

五、注意事项

VB6的集合是1-based索引(从1开始),如果需要更强大的集合操作,可以考虑使用Dictionary对象或自定义集合类。

让一个类成为另一个类的属性

‘一、建立子类 CAddress.cls
Private m_Street As String
Private m_City As String

Public Property Get Street() As String
Street = m_Street
End Property

Public Property Let Street(ByVal sStreet As String)
m_Street = sStreet
End Property

Public Property Get City() As String
City = m_City
End Property

Public Property Let City(ByVal sCity As String)
m_City = sCity
End Property

‘ 二、建立父类 CPerson.cls
Private m_Address As CAddress ‘ 声明 CAddress 类型的私有变量

‘ 自动初始化 CAddress 实例
Private Sub Class_Initialize()
Set m_Address = New CAddress
End Sub

‘ 清理资源
Private Sub Class_Terminate()
Set m_Address = Nothing
End Sub

‘ 通过 Property Get 公开 CAddress 实例
Public Property Get Address() As CAddress
Set Address = m_Address
End Property

‘ 可选:允许外部设置 CAddress 实例
Public Property Set Address(ByVal objAddress As CAddress)
Set m_Address = objAddress
End Property

‘ 三、在窗体或模块中使用:
Dim person As CPerson
Set person = New CPerson

‘ 设置地址属性
With person.Address
.Street = “123 Main St”
.City = “New York”
End With

‘ 读取地址属性
MsgBox “地址:” & person.Address.Street & “, ” & person.Address.City

‘四、注意事项

Set person.Address = New CAddress ‘ 正确
person.Address = New CAddress ‘ 错误(缺少 Set)

建立类模块

‘ 一、类模块代码

‘ 类名: clsWire
‘ 包含8个参数、2个方法、1个事件

Option Explicit

‘ —————————-
‘ 1. 定义私有变量(8个参数)
‘ —————————-
Private pMaterial As String ‘ 材料
Private pLength As Double ‘ 长度
Private pDiameter As Double ‘ 直径
Private pVoltage As Double ‘ 电压
Private pCurrent As Double ‘ 电流
Private pResistance As Double ‘ 电阻
Private pTemperature As Double ‘ 温度
Private pIsInsulated As Boolean ‘ 是否有绝缘层

‘ —————————-
‘ 2. 定义事件
‘ —————————-
Event StatusChanged(ByVal Message As String)

‘ —————————-
‘ 类初始化(设置默认值)
‘ —————————-
Private Sub Class_Initialize()
pMaterial = “Copper” ‘ 默认材料为铜
pLength = 0
pDiameter = 0
pVoltage = 0
pCurrent = 0
pResistance = 0
pTemperature = 25 ‘ 默认温度25°C
pIsInsulated = False
End Sub

‘ —————————-
‘ 属性定义(8个参数)
‘ —————————-
Public Property Get Material() As String
Material = pMaterial
End Property
Public Property Let Material(ByVal Value As String)
pMaterial = Value
End Property

Public Property Get Length() As Double
Length = pLength
End Property
Public Property Let Length(ByVal Value As Double)
pLength = Value
End Property

Public Property Get Diameter() As Double
Diameter = pDiameter
End Property
Public Property Let Diameter(ByVal Value As Double)
pDiameter = Value
End Property

Public Property Get Voltage() As Double
Voltage = pVoltage
End Property
Public Property Let Voltage(ByVal Value As Double)
pVoltage = Value
End Property

Public Property Get Current() As Double
Current = pCurrent
End Property
Public Property Let Current(ByVal Value As Double)
pCurrent = Value
End Property

Public Property Get Resistance() As Double
Resistance = pResistance
End Property
Public Property Let Resistance(ByVal Value As Double)
pResistance = Value
End Property

Public Property Get Temperature() As Double
Temperature = pTemperature
End Property
Public Property Let Temperature(ByVal Value As Double)
pTemperature = Value
End Property

Public Property Get IsInsulated() As Boolean
IsInsulated = pIsInsulated
End Property
Public Property Let IsInsulated(ByVal Value As Boolean)
pIsInsulated = Value
End Property

‘ —————————-
‘ 方法1:计算功率
‘ —————————-
Public Function CalculatePower() As Double
CalculatePower = pVoltage * pCurrent ‘ P = V * I
RaiseEvent StatusChanged(“功率计算完成: ” & CalculatePower & “W”)
End Function

‘ —————————-
‘ 方法2:检查安全性
‘ —————————-
Public Sub CheckSafety()
Dim msg As String
If pTemperature > 80 Then
msg = “警告:温度过高(” & pTemperature & “°C)!”
ElseIf pCurrent > 10 Then
msg = “警告:电流超过安全阈值!”
Else
msg = “系统状态正常”
End If
RaiseEvent StatusChanged(msg) ‘ 触发事件
End Sub

‘ 二、调用

‘ 在窗体代码中:
Dim WithEvents myWire As clsWire ‘ 必须使用 WithEvents 捕获事件

Private Sub Form_Load()
Set myWire = New clsWire
myWire.Voltage = 220
myWire.Current = 5
myWire.Temperature = 75

‘ 调用方法
Debug.Print “功率:” & myWire.CalculatePower()
myWire.CheckSafety

End Sub

‘ 处理事件
Private Sub myWire_StatusChanged(ByVal Message As String)
MsgBox Message, vbInformation, “导线状态”
End Sub