civil-tools-v 0.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. CivilTools/DXFGenerator/BasicDXF.py +3 -0
  2. CivilTools/DXFGenerator/__init__.py +0 -0
  3. CivilTools/FigureGenerator/BasicPNGPlotter.py +43 -0
  4. CivilTools/FigureGenerator/BasicPltPlotter.py +3 -0
  5. CivilTools/FigureGenerator/StairCalculationSheetPNGPlotter.py +16 -0
  6. CivilTools/FigureGenerator/__init__.py +0 -0
  7. CivilTools/ReportGenerator/BasicGenerator.py +267 -0
  8. CivilTools/ReportGenerator/DocParagraph.py +17 -0
  9. CivilTools/ReportGenerator/DocPicture.py +9 -0
  10. CivilTools/ReportGenerator/DocTable.py +41 -0
  11. CivilTools/ReportGenerator/SeismicReport.py +220 -0
  12. CivilTools/ReportGenerator/SeismicReportTemplate.py +240 -0
  13. CivilTools/ReportGenerator/StairCalculationReport.py +465 -0
  14. CivilTools/ReportGenerator/UtilFunctions.py +225 -0
  15. CivilTools/ReportGenerator/__init__.py +7 -0
  16. CivilTools/YDBLoader/BuildingDefine/Beam/Beam.py +26 -0
  17. CivilTools/YDBLoader/BuildingDefine/Beam/__init__.py +1 -0
  18. CivilTools/YDBLoader/BuildingDefine/Column/Column.py +16 -0
  19. CivilTools/YDBLoader/BuildingDefine/Column/__init__.py +1 -0
  20. CivilTools/YDBLoader/BuildingDefine/ComponentType.py +10 -0
  21. CivilTools/YDBLoader/BuildingDefine/Geometry/Grid.py +21 -0
  22. CivilTools/YDBLoader/BuildingDefine/Geometry/Joint.py +25 -0
  23. CivilTools/YDBLoader/BuildingDefine/Geometry/StandFloor.py +2 -0
  24. CivilTools/YDBLoader/BuildingDefine/Geometry/__init__.py +3 -0
  25. CivilTools/YDBLoader/BuildingDefine/GlobalResult/BasicResult.py +45 -0
  26. CivilTools/YDBLoader/BuildingDefine/GlobalResult/SeismicResult.py +128 -0
  27. CivilTools/YDBLoader/BuildingDefine/GlobalResult/__init__.py +2 -0
  28. CivilTools/YDBLoader/BuildingDefine/Section/Section.py +49 -0
  29. CivilTools/YDBLoader/BuildingDefine/Section/ShapeEnum.py +42 -0
  30. CivilTools/YDBLoader/BuildingDefine/Section/__init__.py +2 -0
  31. CivilTools/YDBLoader/BuildingDefine/Slab/Slab.py +2 -0
  32. CivilTools/YDBLoader/BuildingDefine/Slab/__init__.py +1 -0
  33. CivilTools/YDBLoader/BuildingDefine/StairPart/LoadDefine.py +38 -0
  34. CivilTools/YDBLoader/BuildingDefine/StairPart/StairComponent.py +95 -0
  35. CivilTools/YDBLoader/BuildingDefine/StairPart/StairPart.py +206 -0
  36. CivilTools/YDBLoader/BuildingDefine/StairPart/__init__.py +3 -0
  37. CivilTools/YDBLoader/BuildingDefine/__init__.py +9 -0
  38. CivilTools/YDBLoader/SQLiteConnector/Connector.py +80 -0
  39. CivilTools/YDBLoader/SQLiteConnector/RowDataFactory.py +45 -0
  40. CivilTools/YDBLoader/SQLiteConnector/YDBTableName.py +96 -0
  41. CivilTools/YDBLoader/SQLiteConnector/__init__.py +3 -0
  42. CivilTools/YDBLoader/YDBLoader.py +224 -0
  43. CivilTools/YDBLoader/YDBType.py +5 -0
  44. CivilTools/YDBLoader/__init__.py +4 -0
  45. CivilTools/__init__.py +1 -0
  46. civil_tools_v-0.0.1.dist-info/LICENSE +21 -0
  47. civil_tools_v-0.0.1.dist-info/METADATA +98 -0
  48. civil_tools_v-0.0.1.dist-info/RECORD +50 -0
  49. civil_tools_v-0.0.1.dist-info/WHEEL +5 -0
  50. civil_tools_v-0.0.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,240 @@
1
+ from typing import List
2
+
3
+ class ChapterTemplate:
4
+ def __init__(self, title,paragraph:List,table=None,picture=None,table_context = None,*args, **kwargs):
5
+ self.title = title
6
+ self.paragraph = paragraph
7
+ self.table = table
8
+ self.picture = picture
9
+ self.table_context = table_context
10
+
11
+ class SRTemplate:
12
+ # 前情提要
13
+ FIRST_INFO = lambda model_name : f"*{{本报告内容针对模型“{model_name}”,请注意核对模型名称!}}"
14
+ # 小震章节提要
15
+ SEISMIC_CHAPTER_TITLE = ChapterTemplate(
16
+ title = lambda index : f"{index}.小震弹性分析的主要结果",
17
+ paragraph= lambda index, yjk_version :[
18
+ f"本模型弹性计算分析和构件设计软件采用YJK{yjk_version},结构计算模型如图{index}.0.1所示,结构计算假定如下:",
19
+ "1. *{XXXX作为上部结构的嵌固端;}",
20
+ "2. 计算结构整体指标按刚性板假定,构件验算时按弹性板设计。",
21
+ "*{(这里需要一张图片!)}"
22
+ ],
23
+ picture=lambda index : f"图{index}.0.1 YJK计算模型示意图"
24
+ )
25
+ # 嵌固层
26
+ SEISMIC_EMBEDDING = ChapterTemplate(
27
+ title = lambda index, sub_index : f"{index}.{sub_index} 嵌固层",
28
+ paragraph= lambda index, sub_index :[
29
+ "采用《高层建筑混凝土结构技术规程》附录E剪切刚度的计算公式,"+
30
+ "计算地下室顶板上下两层的侧向刚度比值。地下室范围的墙、柱构件取至塔楼外三个梁跨。"+
31
+ f"计算结果见表{index}.{sub_index}.1,表明*{{地下室的刚度满足结构嵌固端的要求,"+
32
+ "结构分析将嵌固端选取在地下室顶板是合理的。}",
33
+ ],
34
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 嵌固层验算",
35
+ table_context = [
36
+ ["-","X向剪切刚度(kN/m)","Y向剪切刚度(kN/m)",r"层高H_{i}(m)","X向剪切刚度比","Y向剪切刚度比","结论"],
37
+ ["首层","-","-","-","-","-","-",],
38
+ ["地下一层","-","-","-","-","-","-",],
39
+ ]
40
+ )
41
+
42
+ # 结构质量
43
+ PROJECT_MASS = ChapterTemplate(
44
+ title = lambda index, sub_index : f"{index}.{sub_index} 结构质量",
45
+ paragraph= lambda index, sub_index,**kwargs :[
46
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
47
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
48
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
49
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
50
+ ],
51
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
52
+ table_context = lambda **kwargs : [
53
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
54
+ ["恒载","-","-","-",],
55
+ ["活载*0.5","-","-","-",],
56
+ ["总质量(D+0.5L)","-","-","-",],
57
+ ]
58
+ )
59
+
60
+ # 振型与周期
61
+ PERIOD = ChapterTemplate(
62
+ title = lambda index, sub_index : f"{index}.{sub_index} 振型与周期",
63
+ paragraph= lambda index, sub_index,**kwargs :[
64
+ f"表{index}.{sub_index}.1为强制刚性楼板假定下计算得到的结构模态信息," +
65
+ f"结构前三振型如图{index}.{sub_index}.1所示。",
66
+ "从上表可以看出,X、Y方向平动的质量参与系数均大于90%,满足规范要求。"
67
+ ],
68
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构模态信息",
69
+ table_context = lambda **kwargs : [
70
+ ["振型号","周期","平动系数(X+Y)","扭转系数","X向平动质量参与系数(累计)","Y向平动质量参与系数(累计)"],
71
+ ["1","-","-","-","-","-",],
72
+ ["2","-","-","-","-","-",],
73
+ ["3","-","-","-","-","-",],
74
+ ["4","-","-","-","-","-",],
75
+ ["5","-","-","-","-","-",],
76
+ ["6","-","-","-","-","-",],
77
+ ["7","-","-","-","-","-",],
78
+ ["8","-","-","-","-","-",],
79
+ ["9","-","-","-","-","-",],
80
+ ]
81
+ )
82
+
83
+ # 楼层剪重比
84
+ SHEAR_MASS_RATIO = ChapterTemplate(
85
+ title = lambda index, sub_index : f"{index}.{sub_index} 楼层剪重比",
86
+ paragraph= lambda index, sub_index,**kwargs :[
87
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
88
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
89
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
90
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
91
+ ],
92
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
93
+ table_context = lambda **kwargs : [
94
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
95
+ ["恒载","-","-","-",],
96
+ ["活载*0.5","-","-","-",],
97
+ ["总质量(D+0.5L)","-","-","-",],
98
+ ]
99
+ )
100
+
101
+ # 楼层剪力及倾覆力矩
102
+ SHEAR_AND_MOMENT = ChapterTemplate(
103
+ title = lambda index, sub_index : f"{index}.{sub_index} 楼层剪力及倾覆力矩",
104
+ paragraph= lambda index, sub_index,**kwargs :[
105
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
106
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
107
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
108
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
109
+ ],
110
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
111
+ table_context = lambda **kwargs : [
112
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
113
+ ["恒载","-","-","-",],
114
+ ["活载*0.5","-","-","-",],
115
+ ["总质量(D+0.5L)","-","-","-",],
116
+ ]
117
+ )
118
+
119
+ # 框架倾覆力矩占比
120
+ HORIZENTAL_MOMENT_RATIO_FOR_COLUMN = ChapterTemplate(
121
+ title = lambda index, sub_index : f"{index}.{sub_index} 框架倾覆力矩占比",
122
+ paragraph= lambda index, sub_index,**kwargs :[
123
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
124
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
125
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
126
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
127
+ ],
128
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
129
+ table_context = lambda **kwargs : [
130
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
131
+ ["恒载","-","-","-",],
132
+ ["活载*0.5","-","-","-",],
133
+ ["总质量(D+0.5L)","-","-","-",],
134
+ ]
135
+ )
136
+
137
+ # 结构位移与层间位移
138
+ DISP_AND_DRIFT = ChapterTemplate(
139
+ title = lambda index, sub_index : f"{index}.{sub_index} 结构位移与层间位移",
140
+ paragraph= lambda index, sub_index,**kwargs :[
141
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
142
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
143
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
144
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
145
+ ],
146
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
147
+ table_context = lambda **kwargs : [
148
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
149
+ ["恒载","-","-","-",],
150
+ ["活载*0.5","-","-","-",],
151
+ ["总质量(D+0.5L)","-","-","-",],
152
+ ]
153
+ )
154
+
155
+ # 侧向刚度比
156
+ HORIZENTAL_STIFFNESS_RATIO = ChapterTemplate(
157
+ title = lambda index, sub_index : f"{index}.{sub_index} 侧向刚度比",
158
+ paragraph= lambda index, sub_index,**kwargs :[
159
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
160
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
161
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
162
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
163
+ ],
164
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
165
+ table_context = lambda **kwargs : [
166
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
167
+ ["恒载","-","-","-",],
168
+ ["活载*0.5","-","-","-",],
169
+ ["总质量(D+0.5L)","-","-","-",],
170
+ ]
171
+ )
172
+
173
+ # 扭转位移比
174
+ ROTATION_RATIO = ChapterTemplate(
175
+ title = lambda index, sub_index : f"{index}.{sub_index} 扭转位移比",
176
+ paragraph= lambda index, sub_index,**kwargs :[
177
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
178
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
179
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
180
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
181
+ ],
182
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
183
+ table_context = lambda **kwargs : [
184
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
185
+ ["恒载","-","-","-",],
186
+ ["活载*0.5","-","-","-",],
187
+ ["总质量(D+0.5L)","-","-","-",],
188
+ ]
189
+ )
190
+ # 刚重比
191
+ STIFFNESS_MASS_RATIO = ChapterTemplate(
192
+ title = lambda index, sub_index : f"{index}.{sub_index} 刚重比",
193
+ paragraph= lambda index, sub_index,**kwargs :[
194
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
195
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
196
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
197
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
198
+ ],
199
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
200
+ table_context = lambda **kwargs : [
201
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
202
+ ["恒载","-","-","-",],
203
+ ["活载*0.5","-","-","-",],
204
+ ["总质量(D+0.5L)","-","-","-",],
205
+ ]
206
+ )
207
+ # 楼层侧向受剪承载力比
208
+ SHEAR_CAPACITY_RATIO = ChapterTemplate(
209
+ title = lambda index, sub_index : f"{index}.{sub_index} 楼层侧向受剪承载力比",
210
+ paragraph= lambda index, sub_index,**kwargs :[
211
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
212
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
213
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
214
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
215
+ ],
216
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
217
+ table_context = lambda **kwargs : [
218
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
219
+ ["恒载","-","-","-",],
220
+ ["活载*0.5","-","-","-",],
221
+ ["总质量(D+0.5L)","-","-","-",],
222
+ ]
223
+ )
224
+ # 风荷载下的结构舒适度验算
225
+ WIND_ACC = ChapterTemplate(
226
+ title = lambda index, sub_index : f"{index}.{sub_index} 风荷载下的结构舒适度验算",
227
+ paragraph= lambda index, sub_index,**kwargs :[
228
+ f"本塔楼结构重力荷载代表值为{kwargs["total_mass"]}吨,"+
229
+ f"地上部分的结构楼板面积为{kwargs["total_area"]}平方米,"+
230
+ f"按结构楼板折算的重量约为{kwargs["average_load"]:.2f}kN/m2。"+
231
+ f"其中恒载及活载详情见表{index}.{sub_index}.1。",
232
+ ],
233
+ table=lambda index, sub_index : f"表{index}.{sub_index}.1 结构质量组成",
234
+ table_context = lambda **kwargs : [
235
+ ["类别","数值(t)","占比","单位楼板面积重量\r(kN/m^{2})",],
236
+ ["恒载","-","-","-",],
237
+ ["活载*0.5","-","-","-",],
238
+ ["总质量(D+0.5L)","-","-","-",],
239
+ ]
240
+ )