I am developing layered structure, which has foreign object embedded in the structure. Right now I am stuck with the definition of single yarn with hybrid section. How can I get the Yarn[23] section defined. The script is as follows:
Thanks in advance!# Script recorded by TexGen v3.5.3
# Create a textile
Textile = CTextile()
# Create a python list containing 24 yarns
Yarns = [CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(),CYarn(), CYarn(), CYarn()]
# Add nodes to the yarns to describe their paths
Yarns[0].AddNode(CNode(XYZ(0,0,-1.35690511431748)))
Yarns[0].AddNode(CNode(XYZ(26.1178751920483,0,-1.10333877091771)))
Yarns[1].AddNode(CNode(XYZ(0,0,2.08283416805388)))
Yarns[1].AddNode(CNode(XYZ(7.60110970447422,0,1.75405771805033)))
Yarns[1].AddNode(CNode(XYZ(10.1506477036487,0,1.40667724159241)))
Yarns[1].AddNode(CNode(XYZ(12.7847208471295,0,0.651506576910888)))
Yarns[1].AddNode(CNode(XYZ(15.3727175975557,0,0.04466557866232)))
Yarns[1].AddNode(CNode(XYZ(18.0076219936037,0,-0.178772837708289)))
Yarns[1].AddNode(CNode(XYZ(26.1178751920483,0,-0.509198759375013)))
Yarns[2].AddNode(CNode(XYZ(0,0,2.43083185473508)))
Yarns[2].AddNode(CNode(XYZ(6.23943215714167,0,2.20845136139976)))
Yarns[2].AddNode(CNode(XYZ(9.47454545880161,0,1.80281616563909)))
Yarns[2].AddNode(CNode(XYZ(12.4162965575901,0,1.24534594008006)))
Yarns[2].AddNode(CNode(XYZ(15.7938023300884,0,0.613018734008396)))
Yarns[2].AddNode(CNode(XYZ(19.5004077270064,0,0.13923229264907)))
Yarns[2].AddNode(CNode(XYZ(26.0602739851117,0,-0.121353327941076)))
Yarns[3].AddNode(CNode(XYZ(0,0,3.02932459594996)))
Yarns[3].AddNode(CNode(XYZ(5.65085505200628,0,2.85047827962796)))
Yarns[3].AddNode(CNode(XYZ(10.0586257585936,0,2.26189529090206)))
Yarns[3].AddNode(CNode(XYZ(13.4920265998418,0,1.53749752275292)))
Yarns[3].AddNode(CNode(XYZ(16.7971553969722,0,0.981707961404881)))
Yarns[3].AddNode(CNode(XYZ(20.5534551121967,0,0.566587549982634)))
Yarns[3].AddNode(CNode(XYZ(26.0154469168219,0,0.149824303596482)))
Yarns[4].AddNode(CNode(XYZ(13.0541703920201,12.5,0.717104011532574)))
Yarns[4].AddNode(CNode(XYZ(13.0541703920201,0,0.717104011532574)))
Yarns[5].AddNode(CNode(XYZ(13.5949584821026,0,-0.120682621971694)))
Yarns[5].AddNode(CNode(XYZ(13.5949584821026,12.5,-0.120682621971694)))
Yarns[6].AddNode(CNode(XYZ(13.0541703920201,0,0.717104011532574)))
Yarns[6].AddNode(CNode(XYZ(13.0541703920201,12.5,0.717104011532574)))
Yarns[7].AddNode(CNode(XYZ(10.6734244282232,0,-0.82239746086376)))
Yarns[7].AddNode(CNode(XYZ(10.6734244282232,12.5,-0.82239746086376)))
Yarns[8].AddNode(CNode(XYZ(13.5949584821026,0,-0.120682621971694)))
Yarns[8].AddNode(CNode(XYZ(13.5949584821026,12.5,-0.120682621971694)))
Yarns[9].AddNode(CNode(XYZ(13.5949584821026,0,-0.813927217948378)))
Yarns[9].AddNode(CNode(XYZ(13.5949584821026,12.5,-0.813927217948378)))
Yarns[10].AddNode(CNode(XYZ(10.6734244282232,0,-0.82239746086376)))
Yarns[10].AddNode(CNode(XYZ(10.6734244282232,12.5,-0.82239746086376)))
Yarns[11].AddNode(CNode(XYZ(17.1835066798565,0,-0.911936110500819)))
Yarns[11].AddNode(CNode(XYZ(17.1835066798565,12.5,-0.911936110500819)))
Yarns[12].AddNode(CNode(XYZ(13.5949584821026,0,-0.813927217948378)))
Yarns[12].AddNode(CNode(XYZ(13.5949584821026,12.5,-0.813927217948378)))
Yarns[13].AddNode(CNode(XYZ(17.0724919525779,0,-0.395265201421422)))
Yarns[13].AddNode(CNode(XYZ(17.0724919525779,12.5,-0.395265201421422)))
Yarns[14].AddNode(CNode(XYZ(17.1835066798565,0,-0.911936110500819)))
Yarns[14].AddNode(CNode(XYZ(17.1835066798565,12.5,-0.911936110500819)))
Yarns[15].AddNode(CNode(XYZ(15.9005186593581,0,0.328031635175211)))
Yarns[15].AddNode(CNode(XYZ(15.9005186593581,12.5,0.328031635175211)))
Yarns[16].AddNode(CNode(XYZ(17.0724919525779,0,-0.395265201421422)))
Yarns[16].AddNode(CNode(XYZ(17.0724919525779,12.5,-0.395265201421422)))
Yarns[17].AddNode(CNode(XYZ(19.3579999710847,0,0.0001)))
Yarns[17].AddNode(CNode(XYZ(19.3579999710847,12.5,0.0001)))
Yarns[18].AddNode(CNode(XYZ(15.9005186593581,0,0.328031635175211)))
Yarns[18].AddNode(CNode(XYZ(15.9005186593581,12.5,0.328031635175211)))
Yarns[19].AddNode(CNode(XYZ(10.873148126563,0,0.980558579650911)))
Yarns[19].AddNode(CNode(XYZ(10.873148126563,12.5,0.980558579650911)))
Yarns[20].AddNode(CNode(XYZ(19.3579999710847,0,0.00)))
Yarns[20].AddNode(CNode(XYZ(19.3579999710847,12.5,0.00)))
Yarns[21].AddNode(CNode(XYZ(10.873148126563,0,0.980558579650911)))
Yarns[21].AddNode(CNode(XYZ(10.873148126563,12.5,0.980558579650911)))
Yarns[22].AddNode(CNode(XYZ(0,0,-1.9419)))
Yarns[22].AddNode(CNode(XYZ(26.2,0,-1.9419)))
# Loop over all the yarns in the list
for Yarn in (Yarns[1], Yarns[2], Yarns[3], Yarns[4], Yarns[5], Yarns[6], Yarns[7], Yarns[8], Yarns[9], Yarns[10], Yarns[11], Yarns[12], Yarns[13], Yarns[14], Yarns[15], Yarns[16], Yarns[17], Yarns[18], Yarns[19], Yarns[20], Yarns[21], Yarns[22],
):
# Set the interpolation function
Yarn.AssignInterpolation(CInterpolationCubic())
# Assign a constant cross-section all along the yarn of elliptical shape
Yarn.AssignSection(CYarnSectionConstant(CSectionPowerEllipse(1.97, 0.32, 0.6, 0)))
# Set the resolution of the surface mesh created
Yarn.SetResolution(20)
# Add repeat vectors to the yarn
Yarn.AddRepeat(XYZ(50, 0, 0))
Yarn.AddRepeat(XYZ(0, 50, 0))
# Add the yarn to our textile
Textile.AddYarn(Yarn)
Yarns[23].AddNode(CNode(XYZ(0,0,0)))
Yarns[23].AddNode(CNode(XYZ(0,12.5,0)))
#yarn.AssignInterpolation(CInterpolationCubic())
YarnSections = CYarnSectionInterpNode()
Top = CSectionEllipse( 20, 1.5 )
Bottom = CSectionPowerEllipse( 20, 0.5, 0.5, 0.8 )
YarnSections.AddSection( CSectionHybrid( Top, Bottom ) )
Yarns[23].AssignSection( YarnSections )
Yarns[23].SetResolution(20)
Textile.AddYarn(Yarns[23])
# Add the textile with the name "TegGen"
AddTextile("TegGen", Textile)
Henrik from Tallinn University of Technology