def _html(self, precision=2): yield '摩擦桩单桩竖向受拉承载力计算' yield self.formatx('L', digits=precision) yield self.formatx('u', digits=precision) yield self.formatx('Ap', digits=precision) yield '地质资料:' t = [] qik = self.para_attrs('qik') t.append([ '地层编号', '地层名称(m)', '地层厚度(m)', '{}({})'.format(qik.symbol, qik.unit) ]) for i in range(len(self.li)): t.append([i, self.layers[i], self.li[i], self.qik[i]]) yield html.table2html(t) eq = '0.3·u·∑αi·qik·li' yield self.format('Rt', eq=eq, digits=precision) yield self.format('R0', digits=precision) ok = self.Rt > self.R yield '{} {} {}, {}满足规范要求。'.format( self.format('R', digits=precision), '<' if ok else '>', self.format('Rt', digits=precision, omit_name=True), '' if ok else '不') # if ok: # yield '(安全系数{:.2f})'.format(self.K) return
def _html(self, precision=2): yield '按嵌岩桩计算桩基竖向承载力' yield self.format('L', digits=None) yield self.format('u', digits=precision) yield self.format('Ap', digits=precision) yield '地质资料:' t = [] t.append(('地层编号', '地层名称(m)', '地层厚度(m)', 'q<sub>ik</sub>(kPa)', 'f<sub>rk</sub>(kPa)')) for i in range(len(self.li)): t.append((i, self.layers[i], self.li[i], self.qik[i], self.frk[i])) yield html.table2html(t) yield self.format('c1', precision) yield self.format('ζs', precision) eq = 'c1·Ap·frk+u·∑<i>c</i><sub>2i</sub>·<i>h</i><sub>i</sub>·<i>f</i><sub>rki</sub>+0.5·ζs·u·∑qik·li' if self.option: yield self.format('Nn', eq='u·∑<i>q</i><sub>ni</sub>·li', digits=precision) eq += ' - Nn' yield self.format('Ra', eq=eq, digits=precision) yield self.format('R0', digits=None) ra = self.para_attrs('Ra') ok = self.Ra > self.R yield '{} {} {}, {}满足规范要求。'.format( self.format('R', digits=precision), '≤' if ok else '>', self.format('Ra', digits=precision, omit_name=True), '' if ok else '不') return
def _html(self, digits=2): for para in self.inputs: yield self.format(para, digits=None) yield self.format('b',digits) yield '{}{}{}'.format( self.format('a_', digits), '>' if self.overlaped else '≤', self.format('d', digits, omit_name=True) ) yield '跨中垂直于板跨方向相邻车轮分布宽度范围{}重叠。'.format('' if self.overlaped else '不') yield '支承处垂直于板跨方向的荷载分布宽度按单轮计算。' yield '垂直于板跨方向的荷载分布宽度:' t = [] t.append(['距板跨端部的距离(m)', '荷载分布宽度(m)']) for item in self.a: t.append(item) yield html.table2html(t, digits, True) yield '{}{}{}'.format( self.format('ac_', digits, eq='(a1+2*h)+2*lc'), '>' if self.overlaped_c else '≤', self.format('d', digits, omit_name=True) ) yield '悬臂端垂直于板跨方向相邻车轮分布宽度范围{}重叠,故{}。'.format( '' if self.overlaped_c else '不', self.format('a_c', digits, omit_name=True) )
def _html(self,digits=2): if self.code == 'GB': pass elif self.code == 'JTG': pass elif self.code == 'TB': yield '<h2>偏心受压构件验算</h2><p>《铁路桥涵混凝土结构设计规范》(TB 10092-2017)</p>' for key in self.tables: yield '<h3>{}</h3>'.format(key) yield html.table2html(self.tables[key],digits)
def html(self, digits=2): tables = {} th = [] titles = ['计算位置', '计算方法', 't', 'bs', 'ε1', 'fced', 'Cid', 'Ciu', 'Tid', 'Tiu'] for title in titles: try: attr = self.para_attrs(title) s = '{} {} {}'.format( attr.name, attr.symbol, '' if attr.unit == '' else '({})'.format(attr.unit) ) th.append(s) except: th.append(title) for o in ['x', 'y']: tb = [] tb.append(th) Rst = self.Rstx if o == 'x' else self.Rsty if len(Rst) < 1: continue for rst in Rst: row = [] for item in rst: row.append(item) tb.append(row) tables[o] = tb doc = '<div>' doc += '<p>(1)承台承载力</p>' doc += '<p>{}</p>'.format(self.format('Fd')) doc += '<p>{}</p>'.format(self.format('Mxd')) doc += '<p>{}</p>'.format(self.format('Myd')) for key in tables: doc += '{}方向'.format(key) doc += html.table2html(tables[key], digits, True) doc += '</div>' # if len(self.fc_beams) > 0: for fc in self.fc_beams: doc += '<div>{}</div>'.format(fc.html()) # 柱或墩台向下冲切 doc += '<p>(2)柱或墩台向下冲切</p>' if self.punching_capacity_down: doc += '<div>{}</div>'.format(self.punching_capacity_down.html()) # 角桩或边桩向上冲切 doc += '<p>(3)角桩或边桩向上冲切</p>' if self.punching_capacity_ups: for pcu in self.punching_capacity_ups: doc += '<div>{}</div>'.format(pcu.html()) return doc
def _html(self, digits=2): for param in ('α', 'μ', 'Δt', 'xsp'): yield self.format(param, digits) tb = [] rh = ['墩(台)号'] for i in range(len(self.xs)): rh.append(i) tb.append(rh) for param in ('xs', 'fixeds', 'kb', 'kp', 'ks', 'Ws', 'move_status', 'Fs'): attr = self.para_attrs(param) chname = attr.name if attr.unit == '' else '{}({})'.format( attr.name, attr.unit) tb.append([chname] + getattr(self, param)) yield html.table2html(tb, digits)
def _html(self, digits=2): for param in self.inputs: yield self.format(param) yield self.format('α', eq='(m*b1/E/I)<sup>0.2</sup>') if self.αh <= 2.5: yield '{} ≤ 2.5, 不满足适用条件,计算结果仅供参考。'.format( self.format('αh', omit_name=True)) yield self.format('kh', eq='C0/(α*E)*I0/I') for param in ('δHH', 'δHM', 'δMH', 'δMM'): yield self.format(param) yield self.format('x0', eq='H0*δHH+M0*δHM') yield self.format('φ0', eq='-(H0*δMH+M0*δMM)') yield '{} ({})'.format(self.format('Mmax'), self.format('z_Mmax', omit_name=True)) yield '{} ({})'.format(self.format('Qmax'), self.format('z_Qmax', omit_name=True)) t = self.Forces t.insert(0, ['桩深(m)', '弯矩M', '剪力Q']) yield html.table2html(t, digits)
def _html(self, precision=2): yield '按摩擦桩计算桩基竖向承载力' yield self.formatx('L', digits=precision) yield self.formatx('u', digits=precision) yield self.formatx('Ap', digits=precision) yield '地质资料:' t = [] qik = self.para_attrs('qik') fa0 = self.para_attrs('fa0') t.append([ '地层编号', '地层名称(m)', '地层厚度(m)', '{}({})'.format(qik.symbol, qik.unit), '{}({})'.format(fa0.symbol, fa0.unit) ]) for i in range(len(self.li)): t.append([i, self.layers[i], self.li[i], self.qik[i], self.fa0[i]]) yield html.table2html(t) yield '系数:' yield self.format('m0', digits=None) yield self.format('λ', digits=None) yield self.format('k2', digits=None) yield self.format('γ2', digits=None) yield self.format('h', precision) yield self.format('qr', digits=precision, eq='m0·λ·(fa0+k2·γ2·(h-3))') eq = '0.5·u·∑qik·li+Ap·qr' if self.option: yield self.format('Nn', eq='u·∑<i>q</i><sub>ni</sub>·li', digits=precision) eq += ' - Nn' yield self.format('Ra', eq=eq, digits=precision) yield self.format('R0', digits=precision) ok = self.Ra > self.R yield self.format_conclusion( ok, self.format('R', digits=precision), '<' if ok else '>', self.format('Ra', digits=precision, omit_name=True), '{}满足规范要求。'.format('' if ok else '不')) if ok: yield '承载力富余量{:.1f}%。'.format((self.K - 1) * 100) return