civil-tools-v 0.0.4__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.
@@ -111,12 +111,20 @@ class StairPart:
111
111
  ]
112
112
 
113
113
  @property
114
- def up_real_rebar_str(self):
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 f"{(self.up_d*self.up_d * math.pi/4/self.up_dis):.3f}"
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"Vmax={max_shear:.2f}kN < 0.7βhftbh0={shear_limit:.2f}kN,抗剪截面满足要求!"
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"Vmax={max_shear:.2f}kN > 0.7βhftbh0={shear_limit:.2f}kN,抗剪截面不满足要求!"
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(140, 140, 140)
237
- self.set_real_rebar(10, 150, 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 +1,3 @@
1
- from . import YDBLoader, ReportGenerator,FigureGenerator,DXFGenerator
1
+ from . import YDBLoader, ReportGenerator, FigureGenerator, DXFGenerator
2
+
3
+ __version__ = "0.0.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: civil_tools_v
3
- Version: 0.0.4
3
+ Version: 0.0.6
4
4
  Summary: A powerful tool for civil engineer in their work.
5
5
  Home-page: https://github.com/VincentXGao/civil-tools
6
6
  Author: Xinyu Gao (Vincent)
@@ -1,29 +1,29 @@
1
- CivilTools/__init__.py,sha256=-wp56jTtm8saVtMIQvuSDDtuYuXPMbO6XlgUxIOPirY,69
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=VevShJZu6P_9fvIJQQMugQMUdk-SEEIdtDIXzI9vKAY,621
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=7PjRuArFc4y-NYy6WQCyfkpCahVCwtipJYEKk1My1D4,1982
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=iVOEY3MXu7x9D1d3W6fofPCUOHaR06lT9CsssNGqeBI,200
14
- CivilTools/FigureGenerator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- CivilTools/FigureGenerator/SeismicReport/Drift.py,sha256=aYzTm2hDcnpLQ_I-EPctQ2MIdjLHRE9Lr89Ns9mRYBQ,2437
13
+ CivilTools/FigureGenerator/StairCalculationSheetPNGPlotter.py,sha256=bcamU20oFV9FxoxTyF2f7lCaTLd6AjF3-h3zOWMJ5y0,23403
14
+ CivilTools/FigureGenerator/__init__.py,sha256=-__7a5PBriMas2Bq-HbMv159Ia0D79xpZ8adgCiz02A,78
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=9bJ6Zjw7Z6yB_h_H1_2wL9KZxA14zW-jmsKb_EEGxAc,246
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=gr2fafvYjTJCM4_JIiE9G5xbiy4W30TfmEjj3DW882Q,21566
26
- CivilTools/ReportGenerator/UtilFunctions.py,sha256=7qvAsZvoJN9pakENjBMYhrqP73xj5T4FuhSHa1t8lSA,9398
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=DYYjAlndN5J--d7vDD_-2Eq57WlRHi-NTjBQ9qgwtag,964
50
- CivilTools/YDBLoader/BuildingDefine/StairPart/StairComponent.py,sha256=E0VL9c0WC9CPVsf3ByXn49SExx6GKFalHRauhkawaLE,3066
51
- CivilTools/YDBLoader/BuildingDefine/StairPart/StairPart.py,sha256=0HLLcQbjOECbWHPKtci4mNOWv7CcgO4UVrtUyPwfeQw,8537
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.4.dist-info/LICENSE,sha256=nq3TNN3UrfULANUGIRvaZAI1jUn6HlYeLxIRjJvDxCc,1088
58
- civil_tools_v-0.0.4.dist-info/METADATA,sha256=73P0idnOtFmp17Fa8_ToenifeUIiLPfxaHbdN_LSD1I,6184
59
- civil_tools_v-0.0.4.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
60
- civil_tools_v-0.0.4.dist-info/top_level.txt,sha256=AP0ng4FJ3z78LnGOjUzZaGRMMp-lDtw91Rlia8z--wM,11
61
- civil_tools_v-0.0.4.dist-info/RECORD,,
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,,