S3D.member_design (deprecated)


warning

This namespace is now deprecated. Please use S3D.design instead.


The S3D.member_design namespace provides functions that allow beam and column design for timber and steel sections to various design standards.


S3D.member_design.getInput#

Generates and returns member design input object. Engineers can then use this input object to change design parameters, materials or loads.

KeyTypeAcceptsDescription
s3d_modelobjectA s3d_model objectAn object containing information that represents a Structural 3D model.
design_codestringAISC_360-16_LRFD,
AISC_360-16_ASD,
AISC_360-10_LRFD,
AISC_360-10_ASD,
EN_1993-1-1-2005,
BS_5950-1-2000,
NDS_2018_ASD,
NDS_2018_LRFD,
CSA_S16-14,
AS_4100-1998,
AS_1720-2010,
AS_4600-2005,
AISI_S100-12_ASD,
AISI_S100-12_LRFD,
DNV_2-7-1_2006_with_AISC_360-10_ASD,
DNV_2-7-1_2006_with_AISC_360-10_LRFD
The design code for which the design object in the response should represent.

Sample input for the S3D.member_design.getInput function#

{
"function": "S3D.member_design.getInput",
"arguments": {
"design_code": "AISC_360-16_LRFD",
"s3d_model": MODEL_OBJECT
}
}

Sample response for the S3D.member_design.getInput function#

{
"msg": "Design input object generated successfully for AISC_360-16_LRFD",
"status": 0,
"data": {}
}


S3D.member_design.check#

Run a member design check from in accordance with various standards. The function will calculate all member capacities, utility ratios and generate summary and in-depth calculation reports.

KeyTypeAcceptsDescription
s3d_modelobjectA s3d_model objectAn object containing information that represents a Structural 3D model.
design_codestringAISC_360-16_LRFD,
AISC_360-16_ASD,
AISC_360-10_LRFD,
AISC_360-10_ASD,
EN_1993-1-1-2005,
BS_5950-1-2000,
NDS_2018_ASD,
NDS_2018_LRFD,
CSA_S16-14,
AS_4100-1998,
AS_1720-2010,
AS_4600-2005,
AISI_S100-12_ASD,
AISI_S100-12_LRFD,
DNV_2-7-1_2006_with_AISC_360-10_ASD,
DNV_2-7-1_2006_with_AISC_360-10_LRFD
The design code for which the design object in the response should represent.
design_objobjectAn objectOptional design input object. This can be obtained via S3D.member_design.getInput and altered to adjust design parameters.

Sample input for the S3D.member_design.check function#

{
"function": "S3D.member_design.check",
"arguments": {
"design_code": "AISC_360-16_LRFD",
"s3d_model": MODEL_OBJECT,
"design_obj": DESIGN_OBJECT
}
}
Try S3D.member_design.check

Sample response for the S3D.member_design.check function#

The response will provide all member capacities, ratios, design reports and a summary for easy checking of pass/fail criteria. The format of this response may differ with the various design_code designations.

{
"data": {
"capacity": {
"axial_tension": {},
"axial_compression": {},
"moment_z": {},
"moment_y": {},
"shear_y": {},
"shear_z": {}
},
"ratio": {
"axial": {},
"moment_z": {},
"moment_y": {},
"shear_y": {},
"shear_z": {},
"combined": {},
"worstlc": {},
"slender": {},
"displacement": {}
},
"grouping": {},
"html_summary_link": "https://solver.skyciv.com/temp/view_report_tdhqyoWvwDkCy8xC.php",
"html_download_link": "https://solver.skyciv.com/temp/download_html_report_tdhqyoWvwDkCy8xC.php",
"pdf_download_link": "https://solver.skyciv.com/temp/download_report_tdhqyoWvwDkCy8xC.php",
"reports": {
"1": {
"html_summary_link": "https://solver.skyciv.com/temp/view_report_tdhqyoWvwDkCy8xC_0.php",
"html_download_link": "https://solver.skyciv.com/temp/download_html_report_tdhqyoWvwDkCy8xC_0.php",
"pdf_download_link": "https://solver.skyciv.com/temp/download_report_tdhqyoWvwDkCy8xC_0.php"
}
},
"summary": {
"failed_members": ["3", "5"],
"passed_members": ["1", "2", "4"],
"critical": {
"utility_ratio": 2.2396984679650362,
"member_id": "5",
"action": "combined",
"load_case": "#1",
"status": "FAIL"
}
}
},
"msg": "Member Design check for AISC_360-16_LRFD was run successfully.",
"status": 0
}


S3D.member_design.optimize#

This function will iterate through the library of sections to find the most efficient design section based on a given utility ratio and other settings. The sections in the model will be designed based on the input provided in the S3D.model.set function. For instance, if HSS sections are used in S3D.model.set, the function will iterate the HSS sections catalog.

KeyTypeAcceptsDescription
design_codestringAISC_360-16_LRFD,
AISC_360-16_ASD,
AISC_360-10_LRFD,
AISC_360-10_ASD,
EN_1993-1-1-2005,
BS_5950-1-2000,
NDS_2018_ASD,
NDS_2018_LRFD,
CSA_S16-14,
AS_4100-1998,
AS_1720-2010,
AS_4600-2005,
AISI_S100-12_ASD,
AISI_S100-12_LRFD,
DNV_2-7-1_2006_with_AISC_360-10_ASD,
DNV_2-7-1_2006_with_AISC_360-10_LRFD
The design code for which the design object in the response should represent.
simplifiedbooleantrue, falseSimplified results will give you the best result and it's corresponding utility ratio. For full results of each run, set simplified to false
settingsobjectAn objectAdditional settings including maximum utility ratio and height/width settings. Section height/width units based on units in s3d_model during S3D.model.set

Sample input for the S3D.member_design.optimize function#

/src/components/HelloCodeTitle.js
{
"function": "S3D.member_design.optimize",
"arguments": {
"design_code": "AISC_360-10_ASD",
"simplified": true,
"settings": { //optional
"max_ur": 0.8,
"optimize_by": {
"item": "sections",
"ids": [1, 2, 3, 4] // sections to optimize (null for all)
},
"section_height": {
"min": 8,
"max": 12
},
"section_width": {
"min": null,
"max": null
}
}
}
}
Try S3D.member_design.optimize

Sample response for the S3D.member_design.optimize function#

The response will provide the lightest section and it's corresponding utility ratio. From the above input, it is evident that the UR is limited to 0.8 and the section heights are limited to between 8 and 12 inches.

{
"data": [
{
"section_height": "W10x30",
"max_UR_ratio": 0.6899964867988755
},
{
"section_height": "W10x30",
"max_UR_ratio": 0.6841870893192245
},
{
"section_height": "HSS8x8x1/8",
"max_UR_ratio": 0.38940934639494307
},
{
"section_height": "HSS8x8x1/8",
"max_UR_ratio": 0.13969293754291115
}
],
"msg": "Optimizer successfully ran",
"status": 0
}


standalone.member.check#

Simplified design checks can be performed without the need to run an analysis first. Provide loads, members, sections and parameters to run design checks. The API will calculate all member capacities, utility ratios and generate summary and in-depth calculation reports.

KeyTypeAcceptsDescription
unitsstringimperial, metricThe units system to be used.
design_codestringAISC_360-16_LRFD,
AISC_360-16_ASD,
AISC_360-10_LRFD,
AISC_360-10_ASD,
EN_1993-1-1-2005,
BS_5950-1-2000,
NDS_2018_ASD,
NDS_2018_LRFD,
CSA_S16-14,
AS_4100-1998,
AS_1720-2010,
AS_4600-2005,
AISI_S100-12_ASD,
AISI_S100-12_LRFD,
DNV_2-7-1_2006_with_AISC_360-10_ASD,
DNV_2-7-1_2006_with_AISC_360-10_LRFD
The design code for which the design object in the response should represent.
sections[[string]]An array of string arraysSection maps as defined in S3D.SB.getLibraryTree.
materials[object]An array of objectsMaterial definitions.
forces[object]An array of objectsForces to apply.
design_members[object]An array of objectsDesign member definitions.
design_factorsobjectAn objectDesign factors to use.

Sample input for the standalone.member.check function#

{
"function": "standalone.member.check",
"arguments": {
"units": "imperial",
"design_code": "AISC_360-10_ASD",
"sections": [
["American", "AISC", "W shapes", "W14x808"],
["American", "AISC", "Rectangular HSS", "HSS2x1-1/2x3/16"]
],
"materials": [
{
"id": 1,
"name": "Some Custom Structural Steel",
"density": 450,
"elasticity_modulus": 29000,
"poissons_ratio": 0.27,
"yield_strength": 33,
"ultimate_strength": 52,
"class": "steel"
}
],
"forces": [
{
"axial": 10,
"Fz": 10,
"Fy": 15,
"torsion": 3,
"Mz": -0.5,
"My": -0.5
}
],
"design_members": [
{
"L": 12,
"Lb": 10,
"Cb": 1,
"Ky": 1,
"Kz": 1,
"sr_c": 200,
"sr_t": 300,
"element_id": 1,
"section_id": 2,
"material_id": 1
},
{
"L": 8,
"Lb": 6,
"Cb": 1,
"Ky": 1,
"Kz": 1,
"sr_c": 200,
"sr_t": 300,
"element_id": 1,
"section_id": 1,
"material_id": 1
}
],
"design_factors": {
"omega_t": 1.67,
"omega_c": 2.0,
"omega_b": 1.7,
"omega_v": 1.67
}
}
}
Try standalone.member.check