S3D.results


The S3D.results namespace provides post-processing functions to read and interpret analysis results produced by S3D.model.solve.


S3D.results.get#

Used to get the analysis results.

KeyTypeAcceptsDescriptionDefault
lc_filter[string]envelope, load_case, load_group, load_combo, envelope_abs_maxOnly return specific data in the response. You can also provide names you have applied to load combination. E.g. LC1.All cases
result_filter[string]reactions, member_displacements, member_forces, member_stresses, member_lengths, member_stations, member_discontinuities, member_minimums, member_maximums, member_peak_results, plate_displacements, plate_forces, plate_stresses, plate_minimums, plate_maximums, plate_peak_results, buckling, dynamic_frequencyOnly return specific data in the response.All results
Sample input for S3D.results.get
{
"function": "S3D.results.get",
"result_filter": ["member_peak_results", "member_discontinuities"],
"lc_filter": ["envelope", "envelope_abs_max"]
}

The analysis results will return an object of all load combination results in the following format.

Sample response for S3D.results.get
{
"1": {
"name": "LC1",
"type": "user_defined",
"reactions": {},
"member_displacements": {},
"member_forces": {},
"member_stresses": {},
"member_lengths": {},
"member_stations": {},
"member_discontinuities": {},
"member_minimums": {},
"member_maximums": {},
"member_peak_results": {},
"plate_displacements": {},
"plate_forces": {},
"plate_stresses": {},
"plate_minimums": {},
"plate_maximums": {},
"plate_peak_results": {}
},
"2": {} // etc
}


S3D.results.set#

Sets the results data for further processing.

tip

Analysis results from any source can be used. Simply provide the data in the same format that is returned from S3D.results.get.md.

KeyTypeDescription
analysis_resultsobjectResults of a structural analysis (from S3D.results.get)
Sample input for S3D.results.set
{
"function": "S3D.results.set",
"arguments": {
"analysis_results": {
"1": {
"name": "LC1",
"type": "user_defined",
"reactions": {},
"member_displacements": {},
"member_forces": {},
"member_stresses": {},
"member_lengths": {},
"member_stations": {},
"member_discontinuities": {},
"member_minimums": {},
"member_maximums": {},
"member_peak_results": {},
"plate_displacements": {},
"plate_forces": {},
"plate_stresses": {},
"plate_minimums": {},
"plate_maximums": {},
"plate_peak_results": {}
},
"2": {} // etc
}
}
}

The response will confirm whether or not the model was successfully set.

Sample response for S3D.results.set
{
"msg": "Results were successfully set.",
"status": 0,
"data": ""
}
Try S3D.results.set


S3D.results.fetchMemberResult#

Fetches results data for a particular member.

KeyTypeAcceptsDescriptionDefault
member_idintegerAn integerFetch the results of the member with this ID. A value of null will return all.
LC[integer]An array of integersLoad combinations to include. An empty array will return all load combinations.
res_keystringbmd_z, bmd_y, axial, sfd_y, sfd_z,
top_bending_stress_z, top_bending_stress_y,
btm_bending_stress_z, btm_bending_stress_y,
shear_stress_z, shear_stress_y,
displacement, displacement_x,
displacement_y, displacement_z
The type of results to be returned.
typestringarray, x,y, imageFormat of results.
  • array - array of results (no x location information)
  • x,y - object of results with x location and result
  • image - an image of the results.
Sample input for S3D.results.fetchMemberResult
{
"function": "S3D.results.fetchMemberResult",
"arguments": {
"member_id": 3,
"LC": [1],
"res_key": "bmd_z",
"type": "x,y"
}
}
Sample response for S3D.results.fetchMemberResult
{
"data": [
[
-0.19113528489304113,
-0.15415709542934292,
-0.11717890596564516,
-0.08020071650194674,
-0.04322252703824829,
-0.006244337574548954,
0.0307338518891493,
0.06771204135284795,
0.10469023081654624
]
],
"status": 0,
"msg": ""
}

If "type": "image" is provided, then an image will be returned in base64 format.



S3D.results.getAnalysisReport#

Generates a structural analysis report and returns a download link to retrieve the report.

important

S3D.model.set and S3D.model.solve must be executed earlier in the session for the Analysis Report to be generated.

Variables#

KeyTypeAcceptsDescriptionDefault
job_namestringAny string.The name of your project. This will be used as the analysis report name.
file_typestringpdf, txtThe report format to be returned.
load_combinations[integer]An array of integersAn array of load combination IDs to report on.
sectionsobjectKey-value pairsThe different type of analysis results to include in your report (see below)
Sample input for S3D.results.getAnalysisReport
{
"function": "S3D.results.getAnalysisReport",
"arguments": {
"job_name": "Example Job Name",
"file_type": "pdf",
"load_combinations": [1, 2, 3],
"sections": {
"title_page": true,
"job_setup": true,
"bom": true, // Bill of Materials
"nodal_reactions": true,
"nodal_forces": false,
"nodal_displacements": true,
"member_forces": false,
"member_displacements": true,
"member_stresses": false,
"buckling": false,
"plate_nodal_forces": false,
"plate_element_forces": false,
"plate_nodal_moments": false,
"plate_element_moments": false,
"plate_displacements": false,
"plate_nodal_stresses": false,
"plate_element_stresses": false,
"plate_nodal_equiv_stresses": false,
"plate_element_equiv_stresses": false
}
}
}

The function will return links to download and preview your analysis report in the format specified by the file_type property.

Sample response for S3D.results.getAnalysisReport
{
"status": 0,
"msg": "Analysis report successfully generated.",
"data": {
"view_link": "https://solver.skyciv.com/temp/view_report_9rxLAlPHg0VXxrei.php",
"download_link": "https://solver.skyciv.com/temp/download_report_9rxLAlPHg0VXxrei.php",
"html_download_link": "https://solver.skyciv.com/temp/download_html_report_9rxLAlPHg0VXxrei.php",
"file_type": "pdf"
}
}


S3D.model.takeScreenshot#

Takes screenshots of the model from specified perspectives.

important

S3D.model.set and S3D.file.open must be executed earlier in the session for screenshots to be taken.

KeyTypeAcceptsDescription
views[string]iso, front, side, topArray of strings, defining the different perspectives to take a screenshot from.
is_rendererbooleantrue, falseTake screenshots of the structure in the 3D renderer.
visibility_settingsobjectAn object as defined in visibility_settingsAn object defining additional settings. Only applicable to wireframe display.

visibility_settings#

KeyTypeAcceptsDescription
show_nodesbooleantrue, falseIf nodes should be visible.
show_loadsbooleantrue, falseIf loads should be visible.
show_platesbooleantrue, falseIf plates should be visible.
projectionstringperspective, orthographicThe projection of the model to the view-point.
Sample input for S3D.results.takeScreenshot
{
"function": "S3D.model.takeScreenshot",
"arguments": {
"views": ["iso", "front", "side", "top"],
"is_renderer": false,
"visibility_settings": {
"show_nodes": true,
"show_loads": false,
"show_plates": true,
"projection": "perspective"
}
}
}
info

The response will return an object of screenshots in base64 format.

Sample response for S3D.results.takeScreenshot
{
"status": 0,
"msg": "Screenshots successfully taken and returned in base64 format.",
"data": {
"iso": "data:image/png;base64,iVBORw0K...",
"front": "data:image/png;base64,EACEpCABCQg....",
"side": "data:image/png;base64,GABCQgAQlIQAI....",
"top": "data:image/png;base64,CABCUhAAhKQgAQ...."
}
}