civil-tools-v 0.0.5__py3-none-any.whl → 0.0.6__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.
- CivilTools/Const/Steel.py +3 -3
- CivilTools/FigureGenerator/BasicPNGPlotter.py +93 -5
- CivilTools/FigureGenerator/StairCalculationSheetPNGPlotter.py +595 -5
- CivilTools/FigureGenerator/__init__.py +1 -0
- CivilTools/ReportGenerator/DocPicture.py +5 -2
- CivilTools/ReportGenerator/StairCalculationReport.py +346 -52
- CivilTools/ReportGenerator/UtilFunctions.py +91 -0
- CivilTools/YDBLoader/BuildingDefine/StairPart/LoadDefine.py +15 -7
- CivilTools/YDBLoader/BuildingDefine/StairPart/StairComponent.py +8 -0
- CivilTools/YDBLoader/BuildingDefine/StairPart/StairPart.py +66 -6
- CivilTools/__init__.py +3 -1
- {civil_tools_v-0.0.5.dist-info → civil_tools_v-0.0.6.dist-info}/METADATA +1 -1
- {civil_tools_v-0.0.5.dist-info → civil_tools_v-0.0.6.dist-info}/RECORD +16 -16
- {civil_tools_v-0.0.5.dist-info → civil_tools_v-0.0.6.dist-info}/LICENSE +0 -0
- {civil_tools_v-0.0.5.dist-info → civil_tools_v-0.0.6.dist-info}/WHEEL +0 -0
- {civil_tools_v-0.0.5.dist-info → civil_tools_v-0.0.6.dist-info}/top_level.txt +0 -0
@@ -111,12 +111,20 @@ class StairPart:
|
|
111
111
|
]
|
112
112
|
|
113
113
|
@property
|
114
|
-
def
|
114
|
+
def up_real_rebar(self):
|
115
115
|
return f"E{self.up_d:d}@{self.up_dis:d}"
|
116
116
|
|
117
117
|
@property
|
118
118
|
def up_real_rebar_area(self):
|
119
|
-
return
|
119
|
+
return self.up_d * self.up_d * math.pi / 4 / self.up_dis * 1000
|
120
|
+
|
121
|
+
@property
|
122
|
+
def down_real_rebar(self):
|
123
|
+
return f"E{self.down_d:d}@{self.down_dis:d}"
|
124
|
+
|
125
|
+
@property
|
126
|
+
def down_real_rebar_area(self):
|
127
|
+
return self.down_d * self.down_d * math.pi / 4 / self.down_dis * 1000
|
120
128
|
|
121
129
|
def get_calculate_moments(self) -> List[float]:
|
122
130
|
if self.stair_type == "AT":
|
@@ -182,6 +190,38 @@ class StairPart:
|
|
182
190
|
]
|
183
191
|
return [0, 0, 0, 10, 20, 10, 0, 0]
|
184
192
|
|
193
|
+
def get_calculate_disp(self) -> List[float]:
|
194
|
+
if self.stair_type == "AT":
|
195
|
+
return [0, 0, self.components[0].u_2_x, self.components[0].u_2_y, 0, 0]
|
196
|
+
elif self.stair_type == "BT":
|
197
|
+
return [
|
198
|
+
self.components[0].u_2_x,
|
199
|
+
self.components[0].u_2_y,
|
200
|
+
self.components[1].u_2_x,
|
201
|
+
self.components[1].u_2_y,
|
202
|
+
0,
|
203
|
+
0,
|
204
|
+
]
|
205
|
+
elif self.stair_type == "CT":
|
206
|
+
return [
|
207
|
+
0,
|
208
|
+
0,
|
209
|
+
self.components[0].u_2_x,
|
210
|
+
self.components[0].u_2_y,
|
211
|
+
self.components[1].u_2_x,
|
212
|
+
self.components[1].u_2_y,
|
213
|
+
]
|
214
|
+
elif self.stair_type == "DT":
|
215
|
+
return [
|
216
|
+
self.components[0].u_2_x,
|
217
|
+
self.components[0].u_2_y,
|
218
|
+
self.components[1].u_2_x,
|
219
|
+
self.components[1].u_2_y,
|
220
|
+
self.components[2].u_2_x,
|
221
|
+
self.components[2].u_2_y,
|
222
|
+
]
|
223
|
+
return [0, -10, 20, -20, 0, -10]
|
224
|
+
|
185
225
|
def get_left_slab_table_moments(self):
|
186
226
|
moments = self.get_calculate_moments()
|
187
227
|
return [0, moments[1] * 0.25, moments[1]]
|
@@ -218,12 +258,32 @@ class StairPart:
|
|
218
258
|
shear_limit = 0.7 * 1 * ft * (self.main_thick - cover_thick) * 1000 / 1000
|
219
259
|
max_shear = max([abs(i) for i in shears])
|
220
260
|
if max_shear <= shear_limit:
|
221
|
-
shear_context = f"
|
261
|
+
shear_context = f"V_{{max}}={max_shear:.2f} kN < 0.7β_{{h}}f_{{t}}bh_{{0}}={shear_limit:.2f} kN,抗剪截面满足要求!"
|
222
262
|
else:
|
223
|
-
shear_context = f"
|
263
|
+
shear_context = f"V_{{max}}={max_shear:.2f} kN > 0.7β_{{h}}f_{{t}}bh_{{0}}={shear_limit:.2f} kN,*{{抗剪截面不满足要求!}}"
|
224
264
|
|
225
265
|
return shear_context
|
226
266
|
|
267
|
+
def get_displacement_validate(self, disp_p, disp_limit):
|
268
|
+
length = self.total_horizental_length
|
269
|
+
limit = length / disp_limit
|
270
|
+
disp_p = abs(disp_p)
|
271
|
+
if disp_p <= limit:
|
272
|
+
context = f"f_{{max}}={disp_p:.2f}mm < [f]={limit:.2f}mm({length:.0f}/{disp_limit:.0f}),挠度满足要求!"
|
273
|
+
else:
|
274
|
+
context = f"f_{{max}}={disp_p:.2f}mm > [f]={limit:.2f}mm({length:.0f}/{disp_limit:.0f}),*{{挠度不满足要求!}}"
|
275
|
+
return context
|
276
|
+
|
277
|
+
def get_w_validate(self, w_list, w_limit):
|
278
|
+
w_max = max(w_list)
|
279
|
+
if w_max < w_limit:
|
280
|
+
context = f"ω_{{max}}={w_max:.2f}mm<[ω]={w_limit:.2f}mm,裂缝满足要求!"
|
281
|
+
else:
|
282
|
+
context = (
|
283
|
+
f"ω_{{max}}={w_max:.2f}mm>[ω]={w_limit:.2f}mm,*{{裂缝不满足要求!}}"
|
284
|
+
)
|
285
|
+
return context
|
286
|
+
|
227
287
|
def init_default_data(self):
|
228
288
|
self.stair_width = 1500
|
229
289
|
self.stair_well_width = 100
|
@@ -233,8 +293,8 @@ class StairPart:
|
|
233
293
|
StairBeam(300, 500, 0),
|
234
294
|
StairBeam(300, 500, 0),
|
235
295
|
]
|
236
|
-
self.set_thickness(
|
237
|
-
self.set_real_rebar(10, 150,
|
296
|
+
self.set_thickness(120, 120, 120)
|
297
|
+
self.set_real_rebar(10, 150, 12, 150)
|
238
298
|
|
239
299
|
def __init__(self, position: Position, step_num):
|
240
300
|
self.position = position
|
CivilTools/__init__.py
CHANGED
@@ -1,29 +1,29 @@
|
|
1
|
-
CivilTools/__init__.py,sha256
|
1
|
+
CivilTools/__init__.py,sha256=gpxKUgn_LI3kaMxk9LPoumFehfd6CZbI-K-otlNlEqg,98
|
2
2
|
CivilTools/Const/CAD.py,sha256=NE5ceXZa2mKpL-OkDAPOA0ynSLJ1ipX3SLy0kwtmC3I,37
|
3
3
|
CivilTools/Const/Concrete.py,sha256=Ob5orPLYa0lgCuKcQbILPByYidQWeuiQ2udWVJWrXZ8,3183
|
4
|
-
CivilTools/Const/Steel.py,sha256=
|
4
|
+
CivilTools/Const/Steel.py,sha256=rX7bnMcEAVGzaFi0xUVI6jlwngAUKFKJzwxp4VpgvJo,621
|
5
5
|
CivilTools/Const/__init__.py,sha256=J0YTsXeBFqE0XtZEPWVh9KVAOOlmpo-k1sOVfMdYjw8,112
|
6
6
|
CivilTools/DXFGenerator/BasicDXF.py,sha256=3cKatghvTXhrNXMly8FI-PbcVZoncwa3thMjSRh4UkM,9125
|
7
7
|
CivilTools/DXFGenerator/DetailDXF.py,sha256=f9iy7S9x0SbgPyh_1e-8_puuWUdUJ6tFmzPrSeyPpPk,11449
|
8
8
|
CivilTools/DXFGenerator/DrawingAttribs.py,sha256=F3CElw80JVKxh9zYMAeQDKJSsmq-GRq9MAX9coSSUTk,1280
|
9
9
|
CivilTools/DXFGenerator/LayerManager.py,sha256=_FelBJNUsnDn66ZdVqBdnfYHvQ7roAO6irgFf2mDkjQ,664
|
10
10
|
CivilTools/DXFGenerator/__init__.py,sha256=0jtyx5QnPbhauFfgjj4I5uqCwTy-nSuKtT-tbyEUiwQ,147
|
11
|
-
CivilTools/FigureGenerator/BasicPNGPlotter.py,sha256=
|
11
|
+
CivilTools/FigureGenerator/BasicPNGPlotter.py,sha256=Sinfi3T5yooWm976rYxhq_m7FfEYWHnQ4f2H2WlFEk4,4548
|
12
12
|
CivilTools/FigureGenerator/BasicPltPlotter.py,sha256=DNuBgg5qwi0kbttrNLcnAr1G1rYNunNCOaLwc5_8dzk,4002
|
13
|
-
CivilTools/FigureGenerator/StairCalculationSheetPNGPlotter.py,sha256=
|
14
|
-
CivilTools/FigureGenerator/__init__.py,sha256
|
13
|
+
CivilTools/FigureGenerator/StairCalculationSheetPNGPlotter.py,sha256=bcamU20oFV9FxoxTyF2f7lCaTLd6AjF3-h3zOWMJ5y0,23403
|
14
|
+
CivilTools/FigureGenerator/__init__.py,sha256=-__7a5PBriMas2Bq-HbMv159Ia0D79xpZ8adgCiz02A,78
|
15
15
|
CivilTools/FigureGenerator/SeismicReport/Drift.py,sha256=DSP1i3FxbvIyKVAYJyze1UmAMNqQSv0WpGzwZfMFYOQ,3250
|
16
16
|
CivilTools/FigureGenerator/SeismicReport/ShearMassRatio.py,sha256=XpmPA9PeRED4Xzl_5LgJVgm9jEHuTda2GAFs5zMfVP8,2731
|
17
17
|
CivilTools/FigureGenerator/SeismicReport/ShearMoment.py,sha256=dYa4SK20u6MJXDsLAkpGk8t2U2tu3bEmBheu5D5nHek,2660
|
18
18
|
CivilTools/FigureGenerator/SeismicReport/__init__.py,sha256=QPYbo9DvhHmTwccgcZfsV7_TWephS_F44xbWgry9WXg,129
|
19
19
|
CivilTools/ReportGenerator/BasicGenerator.py,sha256=h5FDZvk0X0BozZrLFWxdvcUd2JjERIVUauTscdpi8zw,11329
|
20
20
|
CivilTools/ReportGenerator/DocParagraph.py,sha256=xJ9VWbi3IFu5nwJAS56ooQ49bCk4EBvme6IaY46DRP4,428
|
21
|
-
CivilTools/ReportGenerator/DocPicture.py,sha256=
|
21
|
+
CivilTools/ReportGenerator/DocPicture.py,sha256=gWHZ1kWUk1P0NvB5oI3tMhoLu08wTAt3HQwN2xa71Cc,356
|
22
22
|
CivilTools/ReportGenerator/DocTable.py,sha256=4RHti5oKVSAaZeZ3CL67thYHW8t42ezPeqBNK073rM0,1622
|
23
23
|
CivilTools/ReportGenerator/SeismicReport.py,sha256=ETUjTQZsInFCzW5Cjgt-UGul4tVN4ZiXQv0Xda6sDDo,15455
|
24
24
|
CivilTools/ReportGenerator/SeismicReportTemplate.py,sha256=TxgRBCT0vW25AMYvuAtrV0wFUyimAKMMn3KhzGZHJRQ,22104
|
25
|
-
CivilTools/ReportGenerator/StairCalculationReport.py,sha256=
|
26
|
-
CivilTools/ReportGenerator/UtilFunctions.py,sha256=
|
25
|
+
CivilTools/ReportGenerator/StairCalculationReport.py,sha256=_KIoV0Vk_xjn5-EAV3KmKog4fHg73kWZUWl9qEXRvN0,32566
|
26
|
+
CivilTools/ReportGenerator/UtilFunctions.py,sha256=VcQV6zK1MrS8ufmDnJ8F1adxmm2oMMIBlQm_imnlviM,12190
|
27
27
|
CivilTools/ReportGenerator/__init__.py,sha256=1FVcNtNFstmE8zEFABs9oVw7rHiulvUKx0tD1GNFJ58,332
|
28
28
|
CivilTools/YDBLoader/YDBLoader.py,sha256=4-s4qvdB5gp1SF0nchOYEYJId9dqgfXgPyVaJ89J4jw,20634
|
29
29
|
CivilTools/YDBLoader/YDBType.py,sha256=KVk_qpOwp4yAsHn96L5PAVTMMO8SU4lFOnnTMsH_qP0,109
|
@@ -46,16 +46,16 @@ CivilTools/YDBLoader/BuildingDefine/Section/ShapeEnum.py,sha256=hTHx2wnNp1hMhRDM
|
|
46
46
|
CivilTools/YDBLoader/BuildingDefine/Section/__init__.py,sha256=lX7D2FvzQzzZ7B6F4MnXGpAxcwbyVdJreBOZMRmsQmQ,64
|
47
47
|
CivilTools/YDBLoader/BuildingDefine/Slab/Slab.py,sha256=IIeqSlPiXJHKRHtNsVYV8pNEhnkfgzKWwBuhYuEsJyg,23
|
48
48
|
CivilTools/YDBLoader/BuildingDefine/Slab/__init__.py,sha256=8hlak8vB7Ib_F7pvtCgWXHRfM8O8OLtWlBkpxohcbgY,22
|
49
|
-
CivilTools/YDBLoader/BuildingDefine/StairPart/LoadDefine.py,sha256=
|
50
|
-
CivilTools/YDBLoader/BuildingDefine/StairPart/StairComponent.py,sha256=
|
51
|
-
CivilTools/YDBLoader/BuildingDefine/StairPart/StairPart.py,sha256=
|
49
|
+
CivilTools/YDBLoader/BuildingDefine/StairPart/LoadDefine.py,sha256=LUr1SILC3DCVkcFbMzxEMczKXsOVYew3BNhUhySKlUk,1285
|
50
|
+
CivilTools/YDBLoader/BuildingDefine/StairPart/StairComponent.py,sha256=MVPjh_8S8o_ioEyBWjjfLuWwYnsZXMYK-F19pIT2qTY,3276
|
51
|
+
CivilTools/YDBLoader/BuildingDefine/StairPart/StairPart.py,sha256=JRtd_Gl_1CmO3RLTlE1spBc-uiB1ngmMZ49JFn9vsDI,10773
|
52
52
|
CivilTools/YDBLoader/BuildingDefine/StairPart/__init__.py,sha256=Z7tqd0HHG_Wg1qFTt4kiJxofz08DLBnTywpY5vtJmZk,145
|
53
53
|
CivilTools/YDBLoader/SQLiteConnector/Connector.py,sha256=Yw0A0buUfrQDEHYNfvUNy-NjXt80ZSFF3N1YPdtPAFc,3495
|
54
54
|
CivilTools/YDBLoader/SQLiteConnector/RowDataFactory.py,sha256=CRStFrV9ac2bi_R1CB6LW4_MrXhMtfyOFWgrT31PkI4,1537
|
55
55
|
CivilTools/YDBLoader/SQLiteConnector/YDBTableName.py,sha256=Ab5SdIx7v-gO_MfJmwSkp9HeATi3BK58zWuZi812qeI,4624
|
56
56
|
CivilTools/YDBLoader/SQLiteConnector/__init__.py,sha256=0WWCCdLvlX0Rp-CjcVQc9oQ2b770Zd5TcMGxWBtToS4,116
|
57
|
-
civil_tools_v-0.0.
|
58
|
-
civil_tools_v-0.0.
|
59
|
-
civil_tools_v-0.0.
|
60
|
-
civil_tools_v-0.0.
|
61
|
-
civil_tools_v-0.0.
|
57
|
+
civil_tools_v-0.0.6.dist-info/LICENSE,sha256=nq3TNN3UrfULANUGIRvaZAI1jUn6HlYeLxIRjJvDxCc,1088
|
58
|
+
civil_tools_v-0.0.6.dist-info/METADATA,sha256=30HCitUgury4j7kvaQWblwNRrk18TbPS4dvkuw8xeYk,6184
|
59
|
+
civil_tools_v-0.0.6.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
60
|
+
civil_tools_v-0.0.6.dist-info/top_level.txt,sha256=AP0ng4FJ3z78LnGOjUzZaGRMMp-lDtw91Rlia8z--wM,11
|
61
|
+
civil_tools_v-0.0.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|