import warnings # to ignore poly1d or polyfit warnings warnings.filterwarnings('ignore') from math import pi, sqrt # Material properties: # https://www.johannes-strommer.com/formeln/flaechentraegheitsmoment-widerstandsmoment/ # https://www.maschinenbau-wissen.de/skript3/mechanik/festigkeitslehre/134-knicken-euler # Knicklinien nach ÖNORM B 4600 kn_lamda = [10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250] kn235 = [16.5,15.8,15.3,14.8,14.2,13.5,12.7,11.8,10.7,9.5,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] kn275 = [20.5,19.4,18.8,18.0,17.1,16.0,14.8,13.3,11.7,9.9,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] kn355 = [24.5,23.2,22.3,21.2,20.0,18.5,16.7,14.7,12.2,9.9,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] kn460n = [31.7, 30.4, 29.4, 28.4, 27.3, 25.9, 24.4, 22.7, 20.6, 18.3, 15.7, 13.3, 11.3, 9.8, 8.5, 7.5, 6.5, 6, 5.2, 4.8, 4.2, 3.8, 3.7, 3.3, 3.1] knalu = [10.0,9.6,9.3,9,8.6,8.2,7.7,7.2,6.5,5.8,5.0,4.2,3.6,3.1,2.7,2.4,2.1,1.9,1.6,1.5,1.3,1.2,1.2,1.0,1.0] knc12_15_rei = [0.80, 0.77, 0.74, 0.72, 0.69, 0.65, 0.62, 0.57, 0.52, 0.46, 0.40, 0.33, 0.29, 0.25, 0.21, 0.19, 0.16, 0.15, 0.13, 0.12, 0.11, 0.10, 0.09, 0.08, 0.08] knc16_20_rei = [1.07, 1.02, 0.99, 0.96, 0.92, 0.88, 0.82, 0.77, 0.69, 0.62, 0.53, 0.45, 0.38, 0.33, 0.29, 0.25, 0.22, 0.20, 0.18, 0.16, 0.14, 0.13, 0.12, 0.11, 0.10] knc20_25_rei = [1.33, 1.27, 1.23, 1.19, 1.14, 1.09, 1.02, 0.95, 0.86, 0.77, 0.66, 0.56, 0.48, 0.41, 0.35, 0.31, 0.27, 0.25, 0.22, 0.20, 0.18, 0.16, 0.15, 0.14, 0.13] knc25_30_rei = [1.67, 1.60, 1.55, 1.50, 1.44, 1.37, 1.29, 1.19, 1.08, 0.96, 0.83, 0.70, 0.60, 0.52, 0.45, 0.39, 0.34, 0.31, 0.27, 0.25, 0.22, 0.20, 0.19, 0.17, 0.16] knc30_37_rei = [2.00, 1.92, 1.85, 1.79, 1.72, 1.64, 1.54, 1.43, 1.30, 1.15, 0.99, 0.84, 0.72, 0.62, 0.53, 0.47, 0.41, 0.38, 0.33, 0.30, 0.27, 0.24, 0.23, 0.21, 0.19] knc35_45_rei = [2.33, 2.23, 2.16, 2.09, 2.01, 1.91, 1.79, 1.67, 1.51, 1.34, 1.16, 0.97, 0.83, 0.72, 0.62, 0.55, 0.48, 0.44, 0.38, 0.35, 0.31, 0.28, 0.27, 0.24, 0.23] knc40_50_rei = [2.67, 2.56, 2.48, 2.39, 2.30, 2.18, 2.06, 1.91, 1.73, 1.54, 1.33, 1.12, 0.95, 0.83, 0.71, 0.63, 0.55, 0.50, 0.44, 0.40, 0.36, 0.32, 0.31, 0.28, 0.26] knc45_55_rei = [3.00, 2.87, 2.78, 2.69, 2.58, 2.45, 2.31, 2.15, 1.95, 1.73, 1.49, 1.25, 1.07, 0.93, 0.80, 0.71, 0.62, 0.56, 0.49, 0.45, 0.40, 0.36, 0.35, 0.31, 0.29] knc50_60_rei = [3.33, 3.19, 3.09, 2.99, 2.87, 2.72, 2.56, 2.38, 2.16, 1.92, 1.65, 1.39, 1.19, 1.03, 0.89, 0.79, 0.69, 0.63, 0.54, 0.50, 0.44, 0.40, 0.38, 0.34, 0.32] knc55_67_rei = [3.67, 3.51, 3.40, 3.29, 3.16, 3.00, 2.82, 2.62, 2.38, 2.11, 1.82, 1.53, 1.31, 1.13, 0.98, 0.87, 0.76, 0.69, 0.60, 0.56, 0.49, 0.44, 0.42, 0.38, 0.36] knc60_75_rei = [4.00, 3.83, 3.71, 3.59, 3.44, 3.27, 3.08, 2.86, 2.59, 2.30, 1.99, 1.67, 1.43, 1.24, 1.07, 0.95, 0.82, 0.75, 0.65, 0.61, 0.53, 0.48, 0.46, 0.41, 0.39] knc70_85_rei = [4.67, 4.47, 4.33, 4.19, 4.02, 3.82, 3.59, 3.34, 3.03, 2.69, 2.32, 1.95, 1.67, 1.44, 1.25, 1.10, 0.96, 0.88, 0.76, 0.71, 0.62, 0.57, 0.54, 0.48, 0.45] knc80_95_rei = [5.33, 5.10, 4.94, 4.78, 4.59, 4.36, 4.10, 3.81, 3.46, 3.07, 2.65, 2.23, 1.91, 1.65, 1.42, 1.26, 1.10, 1.00, 0.87, 0.81, 0.71, 0.65, 0.61, 0.55, 0.52] knc90_105_rei = [6.0, 5.75, 5.56, 5.38, 5.16, 4.91, 4.62, 4.29, 3.89, 3.45, 2.98, 2.51, 2.15, 1.85, 1.60, 1.42, 1.24, 1.13, 0.98, 0.91, 0.80, 0.73, 0.69, 0.62, 0.58] knc100_115_rei = [6.67, 6.39, 6.18, 5.98, 5.74, 5.46, 5.13, 4.77, 4.33, 3.84, 3.31, 2.79, 2.39, 2.06, 1.78, 1.58, 1.37, 1.25, 1.09, 1.01, 0.89, 0.81, 0.77, 0.69, 0.65] uhpc_unreinf = [1.5, 1.44, 1.39, 1.35, 1.29, 1.23, 1.15, 1.07, 0.97, 0.86, 0.75, 0.63, 0.54, 0.46, 0.40, 0.35, 0.31, 0.28, 0.25, 0.23, 0.20, 0.18, 0.17, 0.15, 0.15] uhpc_fibre_reinforced = [10, 9.58, 9.27, 8.97, 8.61, 8.18, 7.70, 7.15, 6.48, 5.76, 4.97, 4.18, 3.58, 3.09, 2.67, 2.36, 2.06, 1.88, 1.64, 1.52, 1.33, 1.21, 1.15, 1.03, 0.97] softwood_c16 = [0.86, 0.82, 0.80, 0.77, 0.74, 0.70, 0.66, 0.62, 0.56, 0.50, 0.43, 0.36, 0.31, 0.27, 0.23, 0.20, 0.18, 0.16, 0.14, 0.13, 0.11, 0.10, 0.10, 0.09, 0.08] softwood_c24 = [1.30, 1.24, 1.21, 1.17, 1.12, 1.06, 1.00, 0.93, 0.84, 0.75, 0.65, 0.54, 0.46, 0.40, 0.35, 0.31, 0.27, 0.24, 0.21, 0.20, 0.17, 0.16, 0.15, 0.13, 0.13] softwood_c30 = [1.63, 1.56, 1.51, 1.46, 1.40, 1.33, 1.25, 1.17, 1.06, 0.94, 0.81, 0.68, 0.58, 0.50, 0.43, 0.39, 0.34, 0.31, 0.27, 0.25, 0.22, 0.20, 0.19, 0.17, 0.16] softwood_c35 = [1.89, 1.81, 1.75, 1.70, 1.63, 1.55, 1.45, 1.35, 1.23, 1.09, 0.94, 0.79, 0.68, 0.58, 0.50, 0.45, 0.39, 0.36, 0.31, 0.29, 0.25, 0.23, 0.22, 0.19, 0.18] softwood_strength = [4, 3.83, 3.71, 3.59, 3.44, 3.27, 3.08, 2.86, 2.59, 2.30, 1.99, 1.67, 1.43, 1.24, 1.07, 0.95, 0.82, 0.75, 0.65, 0.61, 0.53, 0.48, 0.46, 0.41, 0.39] hardwood_c30 = [1.63, 1.56, 1.51, 1.46, 1.40, 1.33, 1.25, 1.17, 1.06, 0.94, 0.81, 0.68, 0.58, 0.50, 0.43, 0.39, 0.34, 0.31, 0.27, 0.25, 0.22, 0.20, 0.19, 0.17, 0.16] hardwood_c35 = [1.89, 1.81, 1.75, 1.70, 1.63, 1.55, 1.45, 1.35, 1.23, 1.09, 0.94, 0.79, 0.68, 0.58, 0.50, 0.45, 0.39, 0.36, 0.31, 0.29, 0.25, 0.23, 0.22, 0.19, 0.18] hardwood_c40 = [2.17, 2.08, 2.01, 1.95, 1.87, 1.78, 1.67, 1.55, 1.41, 1.25, 1.08, 0.91, 0.78, 0.67, 0.58, 0.51, 0.45, 0.41, 0.36, 0.33, 0.29, 0.26, 0.25, 0.22, 0.21] hardwood_c60 = [3.25, 3.11, 3.01, 2.92, 2.80, 2.66, 2.50, 2.32, 2.11, 1.87, 1.62, 1.36, 1.16, 1.00, 0.87, 0.77, 0.67, 0.61, 0.53, 0.49, 0.43, 0.39, 0.37, 0.33, 0.32] hardwood_strength = [6, 5.75, 5.56, 5.38, 5.16, 4.91, 4.62, 4.29, 3.89, 3.45, 2.98, 2.51, 2.15, 1.85, 1.60, 1.42, 1.24, 1.13, 0.98, 0.91, 0.80, 0.73, 0.69, 0.62, 0.58] glulam_24 = [1.30, 1.24, 1.21, 1.17, 1.12, 1.06, 1.00, 0.93, 0.84, 0.75, 0.65, 0.54, 0.46, 0.40, 0.35, 0.31, 0.27, 0.24, 0.21, 0.20, 0.17, 0.16, 0.15, 0.13, 0.13] glulam_28 = [1.52, 1.46, 1.41, 1.36, 1.31, 1.24, 1.17, 1.09, 0.99, 0.88, 0.76, 0.64, 0.54, 0.47, 0.41, 0.36, 0.31, 0.29, 0.25, 0.23, 0.20, 0.18, 0.18, 0.16, 0.15] glulam_30 = [1.63, 1.56, 1.51, 1.46, 1.40, 1.33, 1.25, 1.17, 1.06, 0.94, 0.81, 0.68, 0.58, 0.50, 0.43, 0.39, 0.34, 0.31, 0.27, 0.25, 0.22, 0.20, 0.19, 0.17, 0.16] glulam_32 = [1.73, 1.66, 1.60, 1.55, 1.49, 1.42, 1.33, 1.24, 1.12, 1.00, 0.86, 0.72, 0.62, 0.53, 0.46, 0.41, 0.36, 0.33, 0.28, 0.26, 0.23, 0.21, 0.20, 0.18, 0.17] masonry_old = [0.4, 0.38, 0.37, 0.36, 0.34, 0.33, 0.31, 0.29, 0.26, 0.23, 0.20, 0.17, 0.14, 0.12, 0.11, 0.09, 0.08, 0.08, 0.07, 0.06, 0.05, 0.05, 0.05, 0.04, 0.04] masonry_new = [1.0, 0.96, 0.93, 0.90, 0.86, 0.82, 0.77, 0.72, 0.65, 0.58, 0.50, 0.42, 0.36, 0.31, 0.27, 0.24, 0.21, 0.19, 0.16, 0.15, 0.13, 0.12, 0.12, 0.10, 0.10] kncustom = [16.5,15.8,15.3,14.8,14.2,13.5,12.7,11.8,10.7,9.5,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] library = [ # name, name in dropdown, E, G, d, acceptable_sigma, acceptable_shear, acceptable_torsion, acceptable_sigmav, knick_model # diese gelten nach ÖNORM B 4600 für den Erhöhungsfall und entsprechen 100 % beim Knicken (lamda<20) ["steel_S235", "Steel S235", 21000, 8100, 7.85, 16.5, 9.5, 10.5, 23.5, kn235], ["steel_S275", "Steel S275", 21000, 8100, 7.85, 20.5, 11, 12.5, 27.5, kn275], ["steel_S355", "Steel S355", 21000, 8100, 7.85, 24.5, 13, 15, 35.5, kn355], ["steel_S460N", "Steel S460N", 21000, 8100, 7.85, 31.7, 16.8, 19.4, 46, kn460n], ["alu_Al_CU4Ti", "Alu Al-Cu4Ti", 8000, 3000, 2.70, 10, 7, 10.5, 22.0, knalu], ["concrete_reinf_C12/15", "Concrete-reinforced C12/15", 2700, 1125, 2.5, 0.80, 0.07, 0.07, 1.2, knc12_15_rei], ["concrete_reinf_C16/20", "Concrete-reinforced C16/20", 2900, 1208, 2.5, 1.07, 0.09, 0.09, 1.6, knc16_20_rei], ["concrete_reinf_C20/25", "Concrete-reinforced C20/25", 3000, 1250, 2.5, 1.33, 0.105, 0.105, 2.0, knc20_25_rei], ["concrete_reinf_C25/30", "Concrete-reinforced C25/30", 3100, 1292, 2.5, 1.67, 0.125, 0.125, 2.5, knc25_30_rei], ["concrete_reinf_C30/37", "Concrete-reinforced C30/37", 3300, 1375, 2.5, 2.00, 0.140, 0.140, 3.0, knc30_37_rei], ["concrete_reinf_C35/45", "Concrete-reinforced C35/45", 3400, 1417, 2.5, 2.33, 0.155, 0.150, 3.5, knc35_45_rei], ["concrete_reinf_C40/50", "Concrete-reinforced C40/50", 3500, 1458, 2.5, 2.67, 0.165, 0.165, 4.0, knc40_50_rei], ["concrete_reinf_C45/55", "Concrete-reinforced C45/55", 3600, 1500, 2.5, 3.00, 0.175, 0.175, 4.5, knc45_55_rei], ["concrete_reinf_C50/60", "Concrete-reinforced C50/60", 3700, 1542, 2.5, 3.33, 0.194, 0.194, 5.0, knc50_60_rei], ["concrete_reinf_C55/67", "Concrete-reinforced C55/67", 3800, 1583, 2.5, 3.67, 0.214, 0.214, 5.5, knc55_67_rei], ["concrete_reinf_C60/75", "Concrete-reinforced C60/75", 3900, 1625, 2.5, 4.00, 0.233, 0.233, 6.0, knc60_75_rei], ["concrete_reinf_C70/85", "Concrete-reinforced C70/85", 4100, 1708, 2.5, 4.67, 0.272, 0.272, 7.0, knc70_85_rei], ["concrete_reinf_C80/95", "Concrete-reinforced C80/95", 4200, 1750, 2.5, 5.33, 0.311, 0.311, 8.0, knc80_95_rei], ["concrete_reinf_C90/105", "Concrete-reinforced C90/105", 4400, 1833, 2.5, 6.00, 0.35, 0.35, 9.0, knc90_105_rei], ["concrete_reinf_C100/115", "Concrete-reinforced C100/115", 4500, 1875, 2.5, 6.67, 0.389, 0.389, 10, knc100_115_rei], ["UHPC_unreinforced", "UHPC-unreinforced", 5000, 2083, 2.4, 1.50, 0.5, 0.5, 1.5, uhpc_unreinf], ["UHPC_fibre_reinforced", "UHPC-fibre reinforced", 5000, 2083, 2.5, 10, 1.5, 1.5, 10, uhpc_fibre_reinforced], ["softwood_C16", "Softwood C16", 800, 50, 0.37, 0.86, 0.09, 0.09, 0.86, softwood_c16], ["softwood_C24", "Softwood C24", 1100, 69, 0.42, 1.3, 0.10, 0.10, 1.30, softwood_c24], ["softwood_C30", "Softwood C30", 1200, 75, 0.46, 1.63, 0.13, 0.13, 1.63, softwood_c30], ["softwood_C35", "Softwood C35", 1300, 81, 0.47, 1.89, 0.15, 0.15, 1.89, softwood_c35], ["softwood-strength", "Softwood strength", 1300, 81, 0.47, 4, 0.27, 0.27, 4, softwood_strength], ["hardwood_C30", "Hardwood C30", 1100, 69, 0.64, 1.63, 0.13, 0.13, 1.63, hardwood_c30], ["hardwood_C35", "Hardwood C35", 1200, 75, 0.65, 1.89, 0.15, 0.15, 1.89, hardwood_c35], ["hardwood_C40", "Hardwood C40", 1300, 81, 0.66, 2.17, 0.17, 0.17, 2.17, hardwood_c40], ["hardwood_C60", "Hardwood C60", 1700, 106, 0.84, 3.25, 0.33, 0.33, 3.25, hardwood_c60], ["hardwood-strength", "Hardwood strength", 1700, 106, 0.84, 6, 0.41, 0.41, 6, hardwood_strength], ["glulam_24", "Glulam GL24", 1150, 65, 0.42, 1.30, 0.10, 0.10, 1.30, glulam_24], ["glulam_28", "Glulam GL28", 1260, 65, 0.46, 1.52, 0.116, 0.116, 1.52, glulam_28], ["glulam_30", "Glulam GL30", 1360, 65, 0.48, 1.63, 0.16, 0.16, 1.63, glulam_30], ["glulam_32", "Glulam GL32", 1420, 65, 0.49, 1.73, 0.17, 0.17, 1.73, glulam_32], ["masonry_old", "Masonry old brick", 120, 48, 1.6, 0.4, 0.01, 0.01, 0.4, masonry_old], ["masonry_new", "Masonry new brick", 400, 160, 1.6, 1.0, 0.03, 0.03, 1.0, 1.6, masonry_new], ["custom", "Custom", 21000, 8100, 7.85, 16.0, 9.5, 10.5, 23.5, kncustom] ] dropdown = [] for material in library: dropdown_entry = (material[0], material[1], "") dropdown.append(dropdown_entry) # current setting passed from gui # (because a property can not be set in gui) current = {} def update(): # moment of inertia, 32.9376 cm⁴ current["Iy"] = pi * (current["Do"]**4 - current["Di"]**4)/64 current["Iz"] = current["Iy"] # torsional constant, 65.875 cm⁴ current["J"] = pi * (current["Do"]**4 - current["Di"]**4)/(32) # cross-sectional area, 8,64 cm² current["A"] = ((pi * (current["Do"]*0.5)**2) - (pi * (current["Di"]*0.5)**2)) # weight of profile, 6.78 kg/m current["weight_A"] = current["A"]*current["rho"] * 0.1 current["ir"] = sqrt(current["Iy"]/current["A"]) # for quads, wie bei Stäbe # knconcrete = [16.5,15.8,15.3,14.8,14.2,13.5,12.7,11.8,10.7,9.5,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] # knmasonry = [16.5,15.8,15.3,14.8,14.2,13.5,12.7,11.8,10.7,9.5,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] # kncustom = [16.5,15.8,15.3,14.8,14.2,13.5,12.7,11.8,10.7,9.5,8.2,6.9,5.9,5.1,4.4,3.9,3.4,3.1,2.7,2.5,2.2,2,1.9,1.7,1.6] library_quads = [ # name, name in dropdown, E, G, nu, rho, acceptable_sigma, acceptable_shear, acceptable_sigmav, knick_model ["steel_S235", "Steel S235", 21000, 8100, 0.32, 7.85, 16.5, 9.5, 23.5, kn235], ["steel_S275", "Steel S275", 21000, 8100, 0.32, 7.85, 20.5, 11, 27.5, kn275], ["steel_S355", "Steel S355", 21000, 8100, 0.32, 7.85, 24.5, 13, 35.5, kn355], ["steel_S460N", "Steel S460N", 21000, 8100, 0.32, 7.85, 31.7, 16.8, 46, kn460n], ["alu_Al_CU4Ti", "Alu Al-Cu4Ti", 8000, 3000, 0.35, 2.70, 10, 7, 10.5, 22.0, knalu], ["concrete_reinf_C12/15", "Concrete-reinforced C12/15", 2700, 1125, 0.2, 2.5, 0.80, 0.07, 1.2, knc12_15_rei], ["concrete_reinf_C16/20", "Concrete-reinforced C16/20", 2900, 1208, 0.2, 2.5, 1.07, 0.09, 1.6, knc16_20_rei], ["concrete_reinf_C20/25", "Concrete-reinforced C20/25", 3000, 1250, 0.2, 2.5, 1.33, 0.105, 2.0, knc20_25_rei], ["concrete_reinf_C25/30", "Concrete-reinforced C25/30", 3100, 1292, 0.2, 2.5, 1.67, 0.125, 2.5, knc25_30_rei], ["concrete_reinf_C30/37", "Concrete-reinforced C30/37", 3300, 1375, 0.2, 2.5, 2.00, 0.140, 3.0, knc30_37_rei], ["concrete_reinf_C35/45", "Concrete-reinforced C35/45", 3400, 1417, 0.2, 2.5, 2.33, 0.155, 3.5, knc35_45_rei], ["concrete_reinf_C40/50", "Concrete-reinforced C40/50", 3500, 1458, 0.2, 2.5, 2.67, 0.165, 4.0, knc40_50_rei], ["concrete_reinf_C45/55", "Concrete-reinforced C45/55", 3600, 1500, 0.2, 2.5, 3.00, 0.175, 4.5, knc45_55_rei], ["concrete_reinf_C50/60", "Concrete-reinforced C50/60", 3700, 1542, 0.2, 2.5, 3.33, 0.194, 5.0, knc50_60_rei], ["concrete_reinf_C55/67", "Concrete-reinforced C55/67", 3800, 1583, 0.2, 2.5, 3.67, 0.214, 5.5, knc55_67_rei], ["concrete_reinf_C60/75", "Concrete-reinforced C60/75", 3900, 1625, 0.2, 2.5, 4.00, 0.233, 6.0, knc60_75_rei], ["concrete_reinf_C70/85", "Concrete-reinforced C70/85", 4100, 1708, 0.2, 2.5, 4.67, 0.272, 7.0, knc70_85_rei], ["concrete_reinf_C80/95", "Concrete-reinforced C80/95", 4200, 1750, 0.2, 2.5, 5.33, 0.311, 8.0, knc80_95_rei], ["concrete_reinf_C90/105", "Concrete-reinforced C90/105", 4400, 1833, 0.2, 2.5, 6.00, 0.35, 9.0, knc90_105_rei], ["concrete_reinf_C100/115", "Concrete-reinforced C100/115", 4500, 1875, 0.2, 2.5, 6.67, 0.389, 10, knc100_115_rei], ["UHPC_unreinforced", "UHPC-unreinforced", 5000, 2083, 0.2, 2.4, 1.50, 0.5, 1.5, uhpc_unreinf], ["UHPC_fibre_reinforced", "UHPC-fibre reinforced", 5000, 2083, 0.2, 2.5, 10, 1.5, 10, uhpc_fibre_reinforced], ["softwood_C16", "Softwood C16", 800, 50, 0.30, 0.37, 0.86, 0.09, 0.86, softwood_c16], ["softwood_C24", "Softwood C24", 1100, 69, 0.30, 0.42, 1.3, 0.10, 1.30, softwood_c24], ["softwood_C30", "Softwood C30", 1200, 75, 0.30, 0.46, 1.63, 0.13, 1.63, softwood_c30], ["softwood_C35", "Softwood C35", 1300, 81, 0.30, 0.47, 1.89, 0.15, 1.89, softwood_c35], ["softwood-strength", "Softwood strength", 1300, 81, 0.30, 0.47, 4, 0.27, 4, softwood_strength], ["hardwood_C30", "Hardwood C30", 1100, 69, 0.30, 0.64, 1.63, 0.13, 1.63, hardwood_c30], ["hardwood_C35", "Hardwood C35", 1200, 75, 0.30, 0.65, 1.89, 0.15, 1.89, hardwood_c35], ["hardwood_C40", "Hardwood C40", 1300, 81, 0.30, 0.66, 2.17, 0.17, 2.17, hardwood_c40], ["hardwood_C60", "Hardwood C60", 1700, 106, 0.30, 0.84, 3.25, 0.33, 3.25, hardwood_c60], ["hardwood-strength", "Hardwood strength", 1700, 106, 0.30, 0.84, 6, 0.41, 6, hardwood_strength], ["glulam_24", "Glulam GL24", 1150, 65, 0.30, 0.42, 1.30, 0.10, 1.30, glulam_24], ["glulam_28", "Glulam GL28", 1260, 65, 0.30, 0.46, 1.52, 0.116, 1.52, glulam_28], ["glulam_30", "Glulam GL30", 1360, 65, 0.30, 0.48, 1.63, 0.16, 1.63, glulam_30], ["glulam_32", "Glulam GL32", 1420, 65, 0.30, 0.49, 1.73, 0.17, 1.73, glulam_32], ["masonry_old", "Masonry old brick", 120, 48, 0.20, 1.6, 0.4, 0.01, 0.4, masonry_old], ["masonry_new", "Masonry new brick", 400, 160, 0.20, 1.6, 1.0, 0.03, 1.0, masonry_new], ["custom", "Custom", 21000, 8100, 0.30, 7.85, 16.0, 9.5, 16.0, kncustom] ] dropdown_quads = [] for material in library_quads: dropdown_entry = (material[0], material[1], "") dropdown_quads.append(dropdown_entry) # current setting passed from gui # (because a property can not be set in gui) current_quads = {} profiles = [ ["pipe", "Pipe with given radius"], ["HEAA_100", "HEAA 100", 96, 100, 5, 8, 21.2, 349, 134, 16.5], ["HEAA_120", "HEAA 120", 114, 120, 5, 8, 25.3, 606, 231, 24.0], ["140", "140", 133, 140, 5.5, 8.5, 31.4, 1030, 389, 32.8], ["160", "160", 152, 160, 6, 9, 39.8, 1670, 616, 42.0], ["180", "180", 171, 180, 6, 9.5, 45.3, 2510, 925, 55.4], ["200", "200", 190, 200, 6.5, 10, 53.8, 3690, 1340, 68.6], ["220", "220", 210, 220, 7, 11, 64.3, 5410, 1950, 84.1], ["240", "240", 230, 240, 7.5, 12, 76.8, 7760, 2770, 101.0], ["260", "260", 250, 260, 7.5, 12.5, 86.8, 10450, 3670, 120.4], ["280", "280", 270, 280, 8, 13, 97.3, 13670, 4760, 140.5], ["300", "300", 290, 300, 8.5, 14, 112.5, 18260, 6310, 162.3], ["320", "320", 310, 300, 9, 15.5, 124.4, 22930, 6990, 184.3], ["340", "340", 330, 300, 9.5, 16.5, 133.5, 27690, 7440, 207.4], ["360", "360", 350, 300, 10, 17.5, 142.8, 33090, 7890, 231.7], ["400", "400", 390, 300, 11, 19, 159, 45070, 8560, 283.5], ["450", "450", 440, 300, 11.5, 21, 178, 63720, 9470, 358.0], ["500", "500", 490, 300, 12, 23, 197.5, 86970, 10370, 440.4], ["550", "550", 540, 300, 12.5, 24, 211.7, 111900, 10820, 528.6], ["600", "600", 590, 300, 13, 25, 226.5, 141200, 11270, 623.4], ["650", "650", 640, 300, 13.5, 26, 241.6, 175200, 11720, 725.2], ["700", "700", 690, 300, 14.5, 27, 260.5, 215300, 12180, 826.5], ["800", "800", 790, 300, 15, 28, 285.8, 303400, 12640, 1061.6], ["900", "900", 890, 300, 16, 30, 320.5, 422100, 13550, 1317.0], ["1000", "1000", 990, 300, 16.5, 31, 346.8, 553800, 14000, 1596.9] ] dropdown_profiles = [] for profile in profiles: dropdown_entry = (profile[0], profile[1], "") dropdown_profiles.append(dropdown_entry)