parameters: (ifcfile, ifcbin, curve)
return_statement: return structCrvConn
docstring: Creates a structural connection for a curve
docstring_summary: Creates a structural connection for a curve
docstring_tokens: Creates a structural connection for a curve
function: def createStructuralCurve(ifcfile, ifcbin, curve):
  
      """Creates a structural connection for a curve"""
  
      import ifcopenshell
      uid = ifcopenshell.guid.new
      ownerHistory = ifcfile.by_type("IfcOwnerHistory")[0]
      structContext = getStructuralContext(ifcfile)
      
      cartPnt1 = ifcbin.createIfcCartesianPoint(tuple(curve.Vertexes[ 0].Point.multiply(scaling)))
      cartPnt2 = ifcbin.createIfcCartesianPoint(tuple(curve.Vertexes[-1].Point.multiply(scaling)))
      vertPnt1 = ifcfile.createIfcVertexPoint(cartPnt1)
      vertPnt2 = ifcfile.createIfcVertexPoint(cartPnt2)
      edge = ifcfile.createIfcEdge(vertPnt1, vertPnt2)
      topologyRep = ifcfile.createIfcTopologyRepresentation(structContext, "Analysis", "Edge", [edge])
      prodDefShape = ifcfile.createIfcProductDefinitionShape(None, None , [topologyRep])
  
      # boundary conditions serve for ex. to create fixed edges
      # for now we don't create any boundary condition
      appliedCondition = None
      localPlacement = ifcbin.createIfcLocalPlacement()
      origin = ifcfile.createIfcCartesianPoint((0.0, 0.0, 0.0))
      orientation = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]
      xAxis = ifcfile.createIfcDirection(tuple(orientation[0]))
      zAxis = ifcfile.createIfcDirection(tuple(orientation[2]))
      localAxes = ifcfile.createIfcAxis2Placement3D(origin, zAxis, xAxis)
      structCrvConn = ifcfile.createIfcStructuralCurveConnection(
          uid(), ownerHistory, "Line", None, None, localPlacement, prodDefShape, appliedCondition, localAxes)
      return structCrvConn
function_tokens: def createStructuralCurve ( ifcfile , ifcbin , curve ) : import ifcopenshell uid = ifcopenshell . guid . new ownerHistory = ifcfile . by_type ( "IfcOwnerHistory" ) [ 0 ] structContext = getStructuralContext ( ifcfile ) cartPnt1 = ifcbin . createIfcCartesianPoint ( tuple ( curve . Vertexes [ 0 ] . Point . multiply ( scaling ) ) ) cartPnt2 = ifcbin . createIfcCartesianPoint ( tuple ( curve . Vertexes [ - 1 ] . Point . multiply ( scaling ) ) ) vertPnt1 = ifcfile . createIfcVertexPoint ( cartPnt1 ) vertPnt2 = ifcfile . createIfcVertexPoint ( cartPnt2 ) edge = ifcfile . createIfcEdge ( vertPnt1 , vertPnt2 ) topologyRep = ifcfile . createIfcTopologyRepresentation ( structContext , "Analysis" , "Edge" , [ edge ] ) prodDefShape = ifcfile . createIfcProductDefinitionShape ( None , None , [ topologyRep ] ) # boundary conditions serve for ex. to create fixed edges # for now we don't create any boundary condition appliedCondition = None localPlacement = ifcbin . createIfcLocalPlacement ( ) origin = ifcfile . createIfcCartesianPoint ( ( 0.0 , 0.0 , 0.0 ) ) orientation = [ [ 1.0 , 0.0 , 0.0 ] , [ 0.0 , 1.0 , 0.0 ] , [ 0.0 , 0.0 , 1.0 ] ] xAxis = ifcfile . createIfcDirection ( tuple ( orientation [ 0 ] ) ) zAxis = ifcfile . createIfcDirection ( tuple ( orientation [ 2 ] ) ) localAxes = ifcfile . createIfcAxis2Placement3D ( origin , zAxis , xAxis ) structCrvConn = ifcfile . createIfcStructuralCurveConnection ( uid ( ) , ownerHistory , "Line" , None , None , localPlacement , prodDefShape , appliedCondition , localAxes ) return structCrvConn