Node Reference#

This page describes all Dynamo nodes provided by SOFiSTiK Analysis + Design’s package.

Group Analyze#

Analyze.CalculateSubsystems(List{String}, Boolean, Int32, Boolean, Boolean)#

Performs a calculation for the given list of subsystems

Parameters:
  • viewNames

  • planar2D – Create 2D planar slab system (instead of 3D system)

  • selfWeightNo – Activate self weight for given loadcase number. If == 0, self weight will not be considered

  • loadTransfer – Activate Load-Transfer between each subsystem

  • calculateImmediately – Immediately starts calculation of exported Analysis.Data. If false, creates only SOFiSTiK input files *.dat

Returns:

datFiles: List of generated SOFiStiK input (*.dat) files

Analyze.CalculateMainSystem(.String, Int32, Boolean, Boolean, String)#

Performs a analysis for the structural model of the given view. Parameters not available here will be taken from the analysis dialog of the given view.

Parameters:
  • viewName – Name of the view displaying the structural model

  • selfWeightNo – Activate self weight for given loadcase number. If == 0, self weight will not be considered

  • analyzeLoads – Activate analysis of load cases

  • calculateImmediately – Immediately starts calculation of exported data. If false, creates only SOFiSTiK input files *.dat

  • additionalIncludeFile – Optional SOFiSTiK input *.dat file being performed after the calculation

Returns:

datFile: The generated *.dat file on successful calculation

Group Model#

Analysis Model contains all SOFiSTiK structural elements

Model.CreateByPath(String)#

Create SOFiSTiK Model based on SOFiSTiK Database *.cdb. If there is no SOFiSTiK Database, then first analyse the main system

Parameters:

filePath – File path to SOFiSTiK Database *.cdb

Model.CreateByViewName(String)#

Create SOFiSTiK Model based on given view name. View should correspond to a SOFiSTiK main or subsystem

Parameters:

viewName – Name of View

Model.CreateByActiveView()#

Create SOFiSTiK Model based on currently active view. If there is no SOFiSTiK Database, then first analyse the main system

Model.GetMaterialIds()#

Returns a list of all Material Ids in the SOFiSTiK database

Returns:

Ids : Id

Model.GetMaterialProperties(List{Int32})#
Provides Properties of Materials in SOFiSTiK Database, i.e.
E: Young’s modulus [kN/m2]
G: Shear modulus [kN/m2]
mue: Poisson’s ratio [-]
gamma: Nominal weight [kN/m3]
fy: Effective Strength [kN/m2]
Parameters:

material_ids – List of Material Ids (pass empty list to obtain all materials)

Returns:

Materials: Material Id(0), Material Type(1), Designation(2), E-Modulus [kN/m2](3), G-Modulus [kN/m2](4), Poisson Ratio(5), Weight [kN/m3](6), Effective Strength [kN/m2](7)

Model.GetAllStructuralElements()#

Provides all SOFiSTiK Structural Element Information

Returns:

StructuralElements: Id(0), Guid(1), Title(2)

Model.GetStructuralColumns()#

Provides all SOFiSTiK Structural Column Information A: Area [m2] gamma: Nominal weight [kN/m3]

Returns:

StructuralColumns: Id(0), Guid(1), Title(2), SectionId(3), StartNode(4), EndNode(5), Area(6), gamma(7)

Model.GetDesignElements()#

Provides all Design Elements and Properties from the SOFiSTiK Database Id: Design Element Id

Returns:

Design Elements: Id(0), Guid(1), Title(2), SectionId(3), Length(4), LocalZ(x,y,z)(5)

Returns:

Member Guids: Guid

Returns:

Design Sections: Sections are represented with xi, which is the normalized length and goes from 0.0 to 1.0

Model.GetStructuralBeams()#
Provides all SOFiSTiK Structural Beam Information
A: Area [m2]
gamma: Nominal weight [kN/m3]
Returns:

StructuralBeams: Id(0), Guid(1), Title(2), SectionId(3),StartNode(4), EndNode(5), Area(6), gamma(7)

Model.GetStructuralWalls()#

Provides all SOFiSTiK Structural Wall Information Geometry unit is in meters

Returns:

StructuralWalls: Id(0), Guid(1), Title(2), Thickness(3), Width(4), Height(5)

Model.GetStructuralSlabs()#

Provides all SOFiSTiK Structural Slab Information Geometry unit is in meter

Returns:

StructuralSlabs: Id(0), Guid(1), Title(2), Thickness(3), Width(4), Height(5)

Model.GetSectionIds()#

Returns a list of all Cross Section Ids in the SOFiSTiK database

Returns:

Ids: Id

Model.GetSectionProperties(List{Int32})#
Provides properties of Cross-Sections in SOFiSTiK Database, i.e.
A: Area [m2]
Ay, Az: Shear areas [m2]
It: Torsional moment inertia [m4]
Iy,Iz,Iyz: Moment of Inertia of area [m4]
ys,zs: Ordinate of elastic centroid [m]
ycs, zcs: Ordinate of shear centre [m]
E: Elasticity modulus [MPa]
G: Shear modulus [MPa]
gamma: Nominal weight [kN/m3]
Parameters:

sectionIds – List of Section Ids (pass empty list to obtain all sections)

Returns:

Properties: Section Id(0), Section Name(1), Material Id(2), Reinforcement Id(3), A(4), Ay(5), Az(6), It(7), Iy(8), Iz(9), Iyz(10), ys(11), zs(12), ysc(13), zsc(14), E(15), G(16), gamma(17)

Model.GetSectionGeometry(Int32)#

Provides all outerBound, innerBounds geometry and reinforcement of the cross section

Parameters:

sectionId – Section Id

Returns:

OuterBounds: Autodesk.DesignScript.Geometry.Line

Returns:

InnerBounds: Autodesk.DesignScript.Geometry.Line

Returns:

Reinforcements: LayerId(0), BarDiameter(1), Autodesk.DesignScript.Geometry.Point as position(2)

Model.GetMeshPointsIndices(String)#

Provides the mesh geometry with points and IndexGroup.ByIndices(a,b,c,d) It always uses 4 Indices A,B,C,D for the mesh.

Parameters:

guid

Returns:

Points: Autodesk.DesignScript.Geometry.Point(x,y,z)

Returns:

Indices: Autodesk.DesignScript.Geometry.IndexGroup.ByIndices(a,b,c,d)

Model.GetTendons()#

Provides general information for all tendons

Returns:

TendonGeometry: Id(0), Name(1), IdPrestressingSystem(2), TendonType(3)

Returns:

GeometryDefinitionPoints: s(0), u(1), v(2), dus(3), dvs(4), dl(5), dr(6), position(x,y,z)(7), type(8) {TopPoint, JackingPoint, Coupling, FixedAnchor}

Returns:

TendonData: Id(0), Name(1), IdGeometry(2), reserved(3), reserved(4), ElongationLengthStart(5), ElongationLengthEnd(6)

Model.GetPrestressingSystems()#

Provides information of all prestressing systems in the SOFiSTiK database

Returns:

GeneralInformation: Id(0), Name(1), MaterialId(2)

Returns:

TendonProperties: Area[m2](0), Wires(1), NominalForce[kN](2), UnintendedAngle [1/m](3)

Returns:

DuctGeometryData: DistanceToAxis[mm](0), DistanceToEdge[mm](1),innerDiameterDuct[mm](2),outerDiameterDuct[mm](3),Friction Coeff. Stressing(4), Friction Coeff. Release(5),Min.Radius of Curvature [m](6), AnchorSlip[mm](7)

Group Reinforcement#

Reinforcement for each structural reinforced element

Reinforcement.GetDesignCases(Model)#

Provides all design cases for each structural member

Parameters:

model – model

Returns:

DesignCase: Id(0),Title(1),Type(2)

Reinforcement.GetAreaReinforcement(Model, List{Int32})#

Provides all reinforcement for areas

Parameters:
  • model – model

  • designCases – design case ids

Returns:

Reinforcement: Guid(0), DesignCase(1), Id(2), Node(3), TopMajor(4), TopMinor(5), BottomMajor(6), BottomMinor(7), Shear(8), AreaDeterminant(9)

Reinforcement.GetBeamReinforcement(Model, List{Int32})#

Provides all reinforcement for all beam elements

Parameters:
  • model – model

  • designCases – Design Case Id

Returns:

Reinforcement: Guid(0), DesignCaseId(1), Id(2), Xi(3), LongitudinalBottom(4), LongitudinalTop(5), LongitudinalLateral(6), ShearReinforcement(7), Influence(8)

Reinforcement.GetColumnReinforcement(Model, List{Int32})#

Provdes all reinforcement for all column elements

Parameters:
  • model – model

  • designCases – Design Case Ids

Returns:

Reinforcement: Guid(0), DesignCaseId(1), Id(2), Xi(3), Longitudinal(4), Constructive(5), ShearReinforcement(6), Influence(7)

Reinforcement.GetDesignElementReinforcement(Model, List{Int32})#

Provdes all reinforcement for all design elements

Parameters:
  • model

  • designCases – Design Case Ids

Returns:

Reinforcement: Guid(0), DesignCaseId(1), Id(2), Xi(3), LongitudinalAs1(4), LongitudinalAs2(5), ShearReinforcement(6), Influence(7)

Group Results#

Analysis Result provides all load cases and the forces in [kN].

Results.GetLoadCases(Model, String)#

Provides all loadcase information The return values start and end describe the construction stages

Parameters:
  • model – SOFiSTiK model

  • type – Type of Loadcase: All, Linear, Nonlinear, Superposition, InfluenceLine, NaturalFrequency, BucklingMode, TrainLoadDefinition

Returns:

Loadcases: LoadcaseId(0), Name(1), Action(2), Type(3), FactorDeadLoad(4),start(5),end(6)

Results.GetColumnResults(Model, List{Int32}, String)#

Provides all results with a normalized length form [0,1]

Parameters:
  • model – SOFiSTiK model

  • loadCaseIds – A list of requested loadcase ids

  • locations – StartPoints, EndPoints, StartEndPoints, StartEndMaxPoints, AllPoints

Returns:

Results: LoadcaseId(0), Guid(1), structuralId(2), Xi(3), N(4), My(5), Mz(6), Vz(7), Vy(8)

Results.GetBeamResults(Model, List{Int32}, String)#

Provides all results with a normalized length form [0,1]

Parameters:
  • model – SOFiSTiK model

  • loadCaseIds – A list of requested loadcase ids

  • locations – StartPoints, EndPoints, StartEndPoints, StartEndMaxPoints, AllPoints

Returns:

Results: LoadcaseId(0), Guid(1), structuralId(2), Xi(3), N(4), My(5), Mz(6), Vz(7), Vy(8)

Results.GetWallResultants(Model, List{Int32}, String)#

Provides all result forces in [kN] with a normalized length form [0,1]

Parameters:
  • model – SOFiSTiK model

  • loadCaseIds – A list of requested loadcase ids

  • locations – StartPoints, EndPoints, StartEndPoints, StartEndMaxPoints, AllPoints

Returns:

Resultants: Id(0), Guid(1), structuralId(2), Xi(3), N(4), My(5), Mz(6), Vz(7), Vy(8)

Results.GetAreaResults(Model, List{Int32}, String)#
Provides all forces for each area
localX = Vector[x,y,z]
localZ = Vector[x,y,z]
Parameters:
  • model

  • loadCaseIds

  • type – NodalValues

Returns:

Results: Guid(0), LoadcaseId(1), structuralId(2), NXX(3), NYY(4), NXY(5), MXX(6), MYY(7), MXY(8), VX(9), VY(10), center(11), localX(12), localZ(13)

Results.GetSupportPointForces(Model, List{Int32})#
Provides all support forces
PX, PY, PZ: Forces [kN]
LocalZ: Vector [x, y, z]
Parameters:
  • model – SOFiSTiK model

  • loadCaseIds – Loadcase Ids

Returns:

SupportPointForces: LoadcaseId(0), Guid(1), structuralId(2), PX(3), PY(4), PZ(5), MX(6), MY(7), MZ(8), position(9), localZ(10)

Results.GetSupportLineForces(Model, List{Int32}, String)#

Provides all line support forces [kN] and support moments [kNm]

Parameters:
  • model – SOFiSTiK model

  • loadCaseIds – Loadcase Ids

  • forceType – NodalForces [kN/m], Resultants [kN], PartialResultants [kN], Distributed [kN/m], Averaged [kN/m]

Returns:

SupportLineForces: LoadcaseId(0), Guid(1), structuralId(2), xi(3), PX(4), PY(5), PZ(6), MX(7), MY(8), Mz(9), LocalZ(10)

Results.GetSupportAreaForces(Model, List{Int32}, String)#

Provides all area support forces [kN] and support moments [kNm]

Parameters:
  • model

  • loadCaseIds – Loadcase Ids

  • forceType – NodalForces, Distributed

Returns:

SupportAreaForces: LoadcaseId(0), Guid(1), structuralId(2), PX(3), PY(4), PZ(5), MX(6), MY(7), MZ(8)

Results.GetDesignElementsResults(Model, List{Int32}, String)#

Provides force results in [kN],[kNm] for each design element The xi [0,1] represents the normalized length.

Parameters:
  • model – SOFiSTiK model

  • locations – StartPoints, EndPoints, StartEndPoints, StartEndMaxPoints, AllPoints

  • loadCaseIds – Loadcase Ids

Returns:

Results: DesignElementId(0), loadcaseId(1), Guid(2), SectionId(3), xi(4), N(5), My(6), Mz(7), Vz(8), Vy(9)

Results.GetPunchingResults(Model)#

Provides results for punching design locations

Parameters:

model – SOFiSTiK Model

Returns:

PunchingNodes: NodeId(0), Force[kN](1), Perimeter_u0(2), ReductionFactor(3), SlabGuid(4), SlabThickness(5), ConnectedMemberGuid(6), Beta(7), Type(8)

Group Utils#

The Export write the load transfer in to Microsof.Excel file

Utils.GetProjectPath(String)#

Returns the path of the currently active Revit document Optional file name can be provided which will be added to the path

Returns:

Path to current Revit document

Utils.GetSubsystemViewNames()#

Returns a list of all subsystem views in the currently active Revit document in alphabetical order

Returns:

List of subsystem views

Utils.GetMainSystemViewName()#

Returns the view name of the currently active main system

Utils.GetPhysicalCounterpart(List{Revit.Elements.Element})#

Returns the physical counterpart of a given analytical element

Parameters:

elements – List of analytical elements

Returns:

List of counterparts

Utils.TableLeftJoin(IList{IList{Object}}, IList{IList{Object}}, Int32, Int32)#

Joins two 2D-lists based on a common key. Combines the two lists by comparing a common key in both lists. The left join keeps all elements of the left list (and keeps their order) and adds to a row the first element of the right list which matches the common key.

Parameters:
  • left – List of lists

  • right – List of lists

  • key_left – Index of column containing the key in the first list

  • key_right – Index of column containing the key in the second list

Returns:

New list

Utils.TableRightJoin(IList{IList{Object}}, IList{IList{Object}}, Int32, Int32)#

Joins two 2D-lists based on a common key. Combines the two lists by comparing a common key in both lists. The right join keeps all elements of the right list (and keeps their order) and adds to a row the first element of the left list which matches the common key.

Parameters:
  • left – List of lists

  • right – List of lists

  • key_left – Index of column containing the key in the first list

  • key_right – Index of column containing the key in the second list

Returns:

New list

Utils.TableInnerJoin(IList{IList{Object}}, IList{IList{Object}}, Int32, Int32)#

Joins two 2D-lists based on a common key. Combines the two lists by comparing a common key in both lists. The inner join adds an entry to the new list only if an item with a common key is contained within both lists. The order of the resulting elements is defined by the left input list.

Parameters:
  • left – List of lists

  • right – List of lists

  • key_left – Index of column containing the key in the first list

  • key_right – Index of column containing the key in the second list

Returns:

New list

Group Export#

The Export prepares Lists for direct Export to Excel

Export.ResultsToExcel(.String, String, Boolean, Boolean, Boolean, Boolean, Boolean)#

Export results of active analysis system to Microsoft Excel

Parameters:
  • dataBasePath – path to SOFiSTiK database

  • pathToExcelFile – Path to Excel File

  • beams – Export results for Beams

  • columns – Export results for Columns

  • walls – Export results for Walls

  • supports – Export results for Supports

  • allSOFiSTiKLoadcases – Export all SOFiSTiK loadcases or all Revit loadcases