S3D.design


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

Standard member design namespace: S3D.design.member

Reinforced concrete design namespace: S3D.design.rc


Member Design#

S3D.design.member.getInput#

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

important

S3D.model.set must be called earlier in the session. If not, the API may auto call S3D.model.solve and add a credit to the usage with a message in the response confirming this.

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.
Sample input for S3D.design.member.getInput
{
"function": "S3D.design.member.getInput",
"arguments": {
"design_code": "AISC_360-16_LRFD"
}
}
note

The data property in the response will represent the design_obj object which can be passed into S3D.design.member.check. It provides all necessary input to run a member design check.

Sample response for S3D.design.member.getInput
{
"msg": "Design input object generated successfully for AISC_360-16_LRFD",
"status": 0,
"data": {}
}


S3D.design.member.check#

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

important

S3D.model.set must be called earlier in the session.

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.
design_objobjectAn objectOptional design input object. This can be obtained via S3D.design.member.getInput and altered to adjust design parameters.
exclude_resultsarraycapacity, ratio etc...Optional: To reduce payload, users can exclude certain results from being returned by the API. e.g. ["capacity", "ratio"] will not return those values.
Sample input for S3D.design.member.check
{
"function": "S3D.design.member.check",
"arguments": {
"design_code": "AISC_360-16_LRFD",
"design_obj": DESIGN_OBJECT
}
}
Try S3D.member_design.check

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.

Sample response for S3D.design.member.check
{
"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.design.member.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.

note

S3D.design.member.optimize should only be used if S3D.model.solve has been executed earlier in the session.

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 S3D.design.member.optimize
{
"function": "S3D.design.member.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

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.

Sample response for S3D.design.member.optimize
{
"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
}


Reinforced Concrete Design#

S3D.design.rc.getInput#

Generates and returns the RC member design input object (referred to as design_obj below) that will feed into the concrete design check calculations. The design_obj can then be adjusted to use preferred design parameters, reinforcement, materials or loads.

important

S3D.model.set must be called earlier in the session.

KeyTypeAcceptsDescription
design_codestringACI_318, AS_3600, EN_2, CSA_A23, BS_8110Design code identifier.
Sample input for S3D.design.rc.getInput
{
"function": "S3D.design.rc.getInput",
"arguments": {
"design_code": "ACI_318"
}
}

The response will give a design_obj property that can be passed into S3D.design.rc.check. It provides all necessary input to run a member design check.

Sample response for S3D.design.rc.getInput
{
"msg": "Design input object generated successfully for aci318",
"status": 0,
"data": {} // design_obj containing parameters, sections and forces from analysis
}

A deeper dive into the returned design object:



S3D.design.rc.check#

Run an RC design check from various standards. This will calculate all member capacities, utility ratios and generate summary and in-depth calculation reports.

important

S3D.model.set must be called earlier in the session.

KeyTypeAcceptsDescription
design_codestringACI_318,
AS_3600,
EN_2,
CSA_A23,
BS_8110
Design code identifier.
design_objobjectAn objectOptional design input object. This can be obtained from S3D.design.rc.getInput and altered to adjust design parameters.
Sample input for S3D.design.rc.check
{
"function": "S3D.design.rc.check",
"arguments": {
"design_code": "AS_3600",
"design_obj": DESIGN_OBJECT
}
}
Try S3D.rc_design.check

The response will provide all member capacities, ratios and design reports. The format of this response may depend on the different design_code designation.

Sample response for S3D.design.rc.check
// Each beam or column member will return the following results
{
"member_id": "2",
"section_pos": 0,
"pos_flexure": {
"flexure_ratio": 0,
"flexure_status": "OK",
"as_ratio": 0.9534794309880812,
"as_status": "OK"
},
"pos_crack_width": {
"ratio": 0.9485182233116682,
"status": "OK"
},
"pos_LTC": {
"ratio": 0,
"status": "OK"
},
"neg_flexure": {
"flexure_ratio": 0,
"flexure_status": "NG",
"as_ratio": 0,
"as_status": "NG"
},
"neg_crack_width": {
"ratio": 0,
"status": "NG"
},
"neg_LTC": {
"ratio": 0,
"status": "OK"
},
"shear": {
"ratio": 3.7037037037037033,
"status": "NG"
},
"pos_defl": {
"ratio": 0,
"status": "OK"
}
}


Custom sections#

SkyCiv supports custom sections and reinforcement checks via SkyCiv's General Section Designer. Use S3D.SB.runGSD to run custom as seen in the image below.