Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Köprü döşemesi (tabliyesi), motorlu taşıtların köprüye temas ettiği yüzeydir. Araç trafiğinden kaynaklanan hareketli yükler bu yüzey aracılığıyla düzgün bir şekilde ana taşıyıcı kirişlere dağılır. Betonarme köprü döşemesi, yerinde dökme ya da prekast olabilir. 


Kullanıcı Parametreleri

Input Parameters
<O N="GeometricParameters" T="Project">
    <P N="girder" V="[Kiris3,Kiris1,Kiris2]" T="KBYS_OngerilmeliIKiris" D="Kiriş Listesi" Role="Input" Category="Geometri" />
    <O T="ParamInfo" Min="2" Max="100" Required="1" Param="girder" Pick="1" List="1" />
    <P N="OverhangLeft" V="4000" D="Döşeme Sağ Taraf Çıkıntısı" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
    <P N="OverhangRight" V="4000" D="Döşeme Sol Taraf Çıkıntısı" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
    <P N="SlabThickness" V="250" D="Döşeme Yüksekliği" Role="Input" Category="Geometri" UT="Length" UC="CM_KGF" />
   
</O>
<O N="FEMParameters" T="Group">
    <P N="SlabMat" V="NULL" T="Material" D="Malzeme Özelliği" Role="Input" Category="FEM" />
    <P N="Beam_Mesh" V="10" D="Kirislerdeki Mesh Sayisi" Role="Input" Category="FEM" />
    <P N="runMesh" V="2" D="Sonlu Eleman Modeli[Olustur=1/Olusturma=2]" Role="Input" Category="FEM" />
</O>
  • Kiriş Listesi (girder)

          Döşemenin oluşabilmesi için kullanılan kirişleri gösteren input parametredir. Proje kurulurken seçilecek kirişler bu listeye dahil olacaktır.

  • ParamInfo

          Döşeme objesinin projede oluşturulurken, kirişleri "pick"leme özelliği getiren parametredir. Ayrıca döşeme oluşurken minimum ve maksimum kaç kiriş olması gerektiğini belirlediğimiz parametredir. Kod içerisinde görüldüğü üzere, döşeme oluşturabilmek için minimum 2 adet kirişe ihtiyaç olduğu gösterilmiştir.

  • Döşeme Sol Taraf Çıkıntısı (OverhangLeft)

          Döşeme objesi kirişin üzerine güzergah yönüne bakıldığında en soldaki kirişin sol çizgisinden başlayıp, en sağdaki kirişin sağ çizgisinde sonlanacak şekilde kendini oluşturmaktadır. Döşemeyi kirişlerden çıkıntı verilmek istenildiği zaman bu input parametre, güzergah yönüne doğru bakıldığında sol kirişin çizgisinden çıkıntı vermektedir.

  • Döşeme Sağ Taraf Çıkıntısı (OverhangRight)

          Güzergah yönüne doğru bakıldığında, döşemenin sağ çizgisinden çıkıntı vermesini sağlayan input parametredir.

 

 

  • Döşeme Yüksekliği (SlabThickness) 

          Döşeme yüksekliği, isminden anlaşıldığı üzere kirişlerin üzerine gelen döşemenin kalınlığını belirten input parametredir. Kiriş üst yüzeyi ile döşemenin üst yüzeyi arasındaki mesafeye eşittir.

 

  • Malzeme Özelliği (Slabmat) 

          Hesaplamalarda kullanılacak malzeme özelliklerinin atamasının yapıldığı input parametredir. Malzeme veri tabanından gerekli değerleri çekmektedir. 

Detaylı bilgi için bkz. Malzeme Veritabanı

  • Kirişlerdeki Mesh Sayısı (Beam_Mesh)

          Ön germeli I kirişte bahsedildiği üzere, kirişler üzerine döşeme geldiği zaman bu parametre kirişin kaç adet FELine'dan oluşacağını belirlemektedir. Döşeme de finite modelini bu parametreye göre ayarlamaktadır.

  • runMesh

          "runMesh" input parametresi döşeme objesi içinde kodlanmış olan finite modelin görünüp görünmemesini sağlayan parametredir.

3D Geometri


3D Geometry
<O N="Geometry" T="Project">
    <O N="Coordinates_Deck" T="Group">
        <O N="Surface_Points" T="Group">
            <O N="TopSurface" T="Group">
                <!-- Doseme ust yuzeyinin olusturulması -->
                <O N="Top" T="Repeat" S="0" E="length(StartBeamPTs)-2" I="1" CTRL="p" p="4">
                    <!-- Dosemenin baslangıc noktası -->
                    <P N="LeftMidPoint" V="onliner([StartBeamPTs[p],StartBeamPTs[p+1]],0.5)" />
                    <!-- Dosemenin bitis noktası -->
                    <P N="RightMidPoint" V="onliner([FinishBeamPTs[p],FinishBeamPTs[p+1]],0.5)" />
                </O>
            </O>
            <!-- Volume olustururken saat yonunde tanımlama yapılması icin Alt Yuzeydeki noktaların listesi ters cevirildi -->
            <P N="StartBottomPTs" V="reverse(sort(concat(map(Top,x.LeftMidPoint),[StList_over_L],[StList_over_R]),x[1]))" />
            <P N="FinishBottomPTs" V="reverse(sort(concat(map(Top,x.RightMidPoint),[FnshList_over_L],[FnshList_over_R]),x[1]))" />
        </O>
    </O>
    <O N="Slab" T="Volume" Alignment="SlabRoute" AlignH="Warp" AlignV="Warp" AlignT="Warp">
        <P N="Color" V="#109025" T="Text" />
        <P N="Opacity" V="0.3" />
        <O T="Surface">
            <O T="Repeat" S="0" E="length(StartSlabList)-1" I="1" CTRL="i" i="0">
                <O T="Point" X="StartSlabList[i][0]" Y="StartSlabList[i][1]" Z="StartSlabList[i][2]" AlignTB="0" />
            </O>
            <O T="Repeat" S="0" E="length(StartBottomPTs)-1" I="1" CTRL="k" k="0">
                <O T="Point" X="StartBottomPTs[k][0]" Y="StartBottomPTs[k][1]" Z="StartBottomPTs[k][2]+SlabThickness" />
            </O>
        </O>
        <O T="Surface">
            <O T="Repeat" S="0" E="length(FinishSlabList)-1" I="1" CTRL="i" i="0">
                <O T="Point" X="FinishSlabList[i][0]" Y="FinishSlabList[i][1]" Z="FinishSlabList[i][2]" AlignTB="0" />
            </O>
            <O T="Repeat" S="0" E="length(FinishBottomPTs)-1" I="1" CTRL="p" p="0">
                <O T="Point" X="FinishBottomPTs[p][0]" Y="FinishBottomPTs[p][1]" Z="FinishBottomPTs[p][2]+SlabThickness" />
            </O>
        </O>
    </O>
</O>

Finite Element Model DOC-57 - Getting issue details... STATUS


Kullanici FEM
<O N="FiniteElement" T="Project">
    <P N="Guard" V="runMesh.EQ.1" />
    <!-- BeamConsole parametreleri kirişte konsol olması durumunda finite element nodelarının doğru yerde oluşması için hesaplanmıştır.-->
    <P N="BeamConsole1" V="filter(SortedBeamPTs,x.console_1 .NE. 0 )" />
    <P N="BeamConsole2" V="filter(SortedBeamPTs,x.console_1 .NE. 0 )" />
    <O N="Midpoints" T="Repeat" S="0" E="length(SortedBeamPTs)-2" I="1" CTRL="i" i="0">
        <!-- Kirislerin ve Kirislerin orta noktalarının meshlenmesi -->
        <!-- Transverse yönüne göre Y koordinatları küçükten büyüğe sıralanan kirislerin küçük olanının başlangıç noktası -->
        <P N="LeftBeamSt" V="online(SortedBeamPTs[i].MidRef,SortedBeamPTs[i].console_1)" />
        <P N="DistanceL" V="linel(SortedBeamPTs[i].MidRef)-SortedBeamPTs[i].console_2" />
        <!-- Transverse yönüne göre Y koordinatları küçükten büyüğe sıralanan kirislerin küçük olanının bitiş noktası -->
        <P N="LeftBeamFnsh" V="online(SortedBeamPTs[i].MidRef,DistanceL)" />
        <!-- Transverse yönüne göre Y koordinatları küçükten büyüğe sıralanan kirislerin büyük olanının başlangıç noktası -->
        <P N="RightBeamSt" V="online(SortedBeamPTs[i+1].MidRef,SortedBeamPTs[i+1].console_1)" />
        <P N="DistanceR" V="linel(SortedBeamPTs[i+1].MidRef)-SortedBeamPTs[i+1].console_2" />
        <!-- Transverse yönüne Y koordinatları göre küçükten büyüğe sıralanan kirislerin büyük olanının bitiş noktası -->
        <P N="RightBeamFnsh" V="online(SortedBeamPTs[i+1].MidRef,DistanceR)" />
        <!-- İki kirişin başlangıç noktalarının orta noktası -->
        <P N="MidSt" V="onliner([LeftBeamSt,RightBeamSt],0.5)" />
        <!-- İki kirişin bitiş noktalarının orta noktası -->
        <P N="MidFnsh" V="onliner([LeftBeamFnsh,RightBeamFnsh],0.5)" />
        <P N="MidpointSt" V="onliner([SortedBeamPTs[i].MidRef[0],SortedBeamPTs[i+1].MidRef[0]],0.5)" />
        <P N="MidpointFnsh" V="onliner([SortedBeamPTs[i].MidRef[1],SortedBeamPTs[i+1].MidRef[1]],0.5)" />
        <!-- Kirislerin orta noktalarından olusan Line -->
        <P N="MidLine" V="[MidpointSt,MidpointFnsh]" />
        <!-- Konsol bırakılan kirislerin mesnetlerle baglantısını saglayacak olan liste -->
        <P N="Beam_L" V="[LeftBeamSt,LeftBeamFnsh]" />
        <P N="Beam_R" V="[RightBeamSt,RightBeamFnsh]" />
        <P N="Mid_Coordinate" V="[MidSt,MidFnsh]" />
    </O>
    <O N="InputsforRepeats" T="Group">
        <!-- External ve Internal Repeatlerine girecek olan listeler bu grup altında toplanmıstır.  -->
        <!-- Dosemelerin reflinelarının birlestigi liste -->
        <P N="References_Line" V="sort(concat([SlabRef_L],[SlabRef_R]),x[1])" />
        <P N="M_Coordinates" V="map(Midpoints , x.Mid_Coordinate)" />
        <P N="Beam_CoorL" V="map(Midpoints , x.Beam_L)" />
        <P N="Beam_CoorR" V="map(Midpoints , x.Beam_R)" />
        <!-- Internal Repeatine girecek olan tum koordinatların listesi -->
        <P N="Beam_Mid" V="removedup(sort(concat(M_Coordinates,Beam_CoorL,Beam_CoorR),x[0][1]),x[0][1])" />
        <!-- Internal Repeatinin kac kere doneceginin hesaplanması -->
        <P N="number" V="2*length(SortedBeamPTs)-1" />
        <O N="Bearing_Distance" T="Group">
            <!-- Kirislerin doseme ile baglantısını saglayacak liste -->
            <P N="GirderPoints" V="map(SortedBeamPTs,x.MidRef ) " />
            <!-- Kirislerin ortalarındaki mesheleme -->
            <P N="Midpoint_Coordinate1" V="map(Midpoints, x.MidLine)" />
            <!-- Dosemede bulunan butun nodeların koordinat listesi -->
            <P N="GeneralCoordinates" V="sort(concat(GirderPoints,Midpoint_Coordinate1,[SlabRefline_L],[SlabRefline_R]),x[0][1])" />
            <O N="Split1" T="Repeat" S="0" E="number+1" I="1" CTRL="k" k="0">
                <!-- Surfacelar olusurken mesnetlenme bolgesindeki surfaceların koordinatları -->
                <P N="Start_Point1" V="GeneralCoordinates[k][0]" />
                <P N="S_PointX1" V="alignHX(SlabRoute,Start_Point1[0],Start_Point1[1])" />
                <P N="S_PointY1" V="alignHY(SlabRoute,Start_Point1[0],Start_Point1[1])" />
                <P N="S_PointZ1" V="Start_Point1[2]+alignV(SlabRoute,Start_Point1[0],Start_Point1[1])+alignT(SlabRoute,Start_Point1[0],Start_Point1[1])" />
                <P N="S1_PointAligned" V="[S_PointX1,S_PointY1,S_PointZ1]" />
                <P N="Final_Point1" V="GeneralCoordinates[k][1]" />
                <P N="F_PointX1" V="alignHX(SlabRoute,Final_Point1[0],Final_Point1[1])" />
                <P N="F_PointY1" V="alignHY(SlabRoute,Final_Point1[0],Final_Point1[1])" />
                <P N="F_PointZ1" V="Final_Point1[2]+alignV(SlabRoute,Final_Point1[0],Final_Point1[1])+alignT(SlabRoute,Final_Point1[0],Final_Point1[1])" />
                <P N="F1_PointAligned" V="[F_PointX1,F_PointY1,F_PointZ1]" />
            </O>
            <P N="Start_A_Points" V="map(Split1 ,x.S1_PointAligned)" />
            <P N="Final_A_Points" V="map(Split1 ,x.F1_PointAligned)" />
        </O>
    </O>
    <O N="External" T="Repeat" S="0" E="1" I="1" CTRL="j" j="0">
        <!-- Alignment'taki curvature'ı yakalaması icin dosemenin dıs kenarlarındaki reflineların alignment'a manuel bir sekilde yerlestirilmesi
                Line uzerindeki her bir node'un alignment'a girmesi icin uygulanan islem ( dıs kenarlar warp olması gerekiyor. ) -->
        <P N="integer" V="iif(j .EQ. 0 , 0 , length(SortedBeamPTs)-1)" />
        <P N="Offset_Point_S" V="online(References_Line[j],SortedBeamPTs[integer].console_1)" />
        <P N="Offset_distance" V="linel(References_Line[j])-SortedBeamPTs[integer].console_2" />
        <P N="Offset_Point_E" V="online(References_Line[j],Offset_distance)" />
        <P N="S_Line" V="[Offset_Point_S,Offset_Point_E]" />
        <P N="Splited_Line" V="linesplit(S_Line,Beam_Mesh)" />
        <P N="Splitted_All_Point" V="removedup(sort(concat([Offset_Point_S],Splited_Line,[Offset_Point_E]),x[0]),x[0])" />
        <O N="Split" T="Repeat" S="0" E="length(Splitted_All_Point)" I="1" CTRL="k" k="0">
            <!-- Doseme uzerindeki noktaların Station-Transverse-Elevation Koordinatları -->
            <P N="Start_Point" V="Splitted_All_Point[k]" />
            <!-- Dosemenin noktalarının Global X koordinatı -->
            <P N="S_PointX" V="alignHX(SlabRoute,Start_Point[0],Start_Point[1])" />
            <!-- Dosemenin noktalarının Global Y koordinatı -->
            <P N="S_PointY" V="alignHY(SlabRoute,Start_Point[0],Start_Point[1])" />
            <!-- Dosemenin noktalarının Global Z koordinatı -->
            <P N="S_PointZ" V="Start_Point[2]+alignV(SlabRoute,Start_Point[0],Start_Point[1])+alignT(SlabRoute,Start_Point[0],Start_Point[1])" />
            <!-- Dosemenin noktalarının Global XYZ Koordinat Listesi -->
            <P N="S_PointAligned" V="[S_PointX,S_PointY,S_PointZ]" />
        </O>
        <!-- Cift repeat dondugunden dolayı repeatten okunacak degerlerin adım adım listelenmesi -->
        <P N="Pre_External_Lines" V="map(Split , x.S_PointAligned )" />
    </O>
    <O N="Internal" T="Repeat" S="0" E="number-1" I="1" CTRL="t" t="0">
        <!-- Dosemenin ic yuzeyindeki nodeların olusturulması -->
        <!-- İc taraftaki lineların sadece baslangıc ve bitis noktası alignment'a girmesi gerektigi icin boyle bir islem uygulandı. -->
        <!-- Kirisin baslangıc noktasının Station-Transverse-Elevation Koordinatları -->
        <P N="First_Point" V="Beam_Mid[t][0]" />
        <!-- Kirisin Baslangıc Noktasının Global X Degeri -->
        <P N="First_PointX" V="alignHX(SlabRoute,First_Point[0],First_Point[1])" />
        <!-- Kirisin Baslangıc Noktasının Global Y Degeri -->
        <P N="First_PointY" V="alignHY(SlabRoute,First_Point[0],First_Point[1])" />
        <!-- Kirisin Baslangıc Noktasının Global Z Degeri -->
        <P N="First_PointZ" V="First_Point[2]+alignV(SlabRoute,First_Point[0],First_Point[1])+alignT(SlabRoute,First_Point[0],First_Point[1])" />
        <P N="FirstPoint_Aligned" V="[First_PointX,First_PointY,First_PointZ]" />
        <!-- Kirisin bitis noktasının Station-Transverse-Elevation Koordinatları -->
        <P N="Second_Point" V="Beam_Mid[t][1]" />
        <!-- Kirisin Bitis Noktasının Global X Degeri -->
        <P N="Second_PointX" V="alignHX(SlabRoute,Second_Point[0],Second_Point[1])" />
        <!-- Kirisin Bitis Noktasının Global Y Degeri -->
        <P N="Second_PointY" V="alignHY(SlabRoute,Second_Point[0],Second_Point[1])" />
        <!-- Kirisin Bitis Noktasının Global Z Degeri -->
        <P N="Second_PointZ" V="Second_Point[2]+alignV(SlabRoute,Second_Point[0],Second_Point[1])+alignT(SlabRoute,Second_Point[0],Second_Point[1])" />
        <P N="SecondPoint_Aligned" V="[Second_PointX,Second_PointY,Second_PointZ]" />
        <!-- İki noktası alignment'a girmis olan kirisin refline koordinatları -->
        <P N="AlignedLine" V="[FirstPoint_Aligned,SecondPoint_Aligned]" />
        <!-- Kirisin meshlenmesi -->
        <P N="Aligned_Splited_Line" V="linesplit(AlignedLine,Beam_Mesh)" />
    </O>
    <O N="List" T="Group">
        <!-- Dosemenin sonlu elemanlar modelini olusturacak butun nodeların listelenmesi -->
        <P N="external_lines" V="map(External , x.Pre_External_Lines)" />
        <P N="internal_lines" V="map(Internal, x.Aligned_Splited_Line)" />
        <P N="ALigned_All_List" V="concat([external_lines[0]],internal_lines,[external_lines[1]])" />
    </O>
    <O N="Longitudinal_Loop" T="Repeat" S="0" E="Beam_Mesh-1" I="1" CTRL="n" n="0">
        <O N="Transverse_Loop" T="Repeat" S="0" E="number" I="1" CTRL="m" m="0">
            <O N="Node_1" T="Node" X="ALigned_All_List[m][n][0]" Y="ALigned_All_List[m][n][1]" Z="ALigned_All_List[m][n][2]" />
            <O N="Node_2" T="Node" X="ALigned_All_List[m+1][n][0]" Y="ALigned_All_List[m+1][n][1]" Z="ALigned_All_List[m+1][n][2]" />
            <O N="Node_3" T="Node" X="ALigned_All_List[m][n+1][0]" Y="ALigned_All_List[m][n+1][1]" Z="ALigned_All_List[m][n+1][2]" />
            <O N="Node_4" T="Node" X="ALigned_All_List[m+1][n+1][0]" Y="ALigned_All_List[m+1][n+1][1]" Z="ALigned_All_List[m+1][n+1][2]" />
            <O N="S1" T="FESurface" Node1LocalOffZ="-SlabThickness/2" Node2LocalOffZ="-SlabThickness/2" Node3LocalOffZ="-SlabThickness/2" Node4LocalOffZ="-SlabThickness/2">
                <P N="Material" V="SlabMat" T="Material" />
                <P N="Node1" V="Node_1" T="Node" />
                <P N="Node2" V="Node_2" T="Node" />
                <P N="Node3" V="Node_4" T="Node" />
                <P N="Node4" V="Node_3" T="Node" />
                <P N="Thickness" V="SlabThickness" />
            </O>
            <O N="Boundary_Surface_1" T="Group">
                <!-- Kirisin baslangıcında bulunan mesnetlenme bolgesinin olması durumu -->
                <P N="Guard" V="n .EQ. 0 .AND. length(BeamConsole1) .NE. 0" />
                <O N="Node_S1" T="Node" X="Start_A_Points[m][0]" Y="Start_A_Points[m][1]" Z="Start_A_Points[m][2]-iif( m .EQ. 0 , +SlabThickness , 0 )" />
                <O N="Node_S2" T="Node" X="Start_A_Points[m+1][0]" Y="Start_A_Points[m+1][1]" Z="Start_A_Points[m+1][2]-iif( m .EQ. number , SlabThickness , 0 )  " />
                <O N="S2" T="FESurface" Node1LocalOffZ="-SlabThickness/2" Node2LocalOffZ="-SlabThickness/2" Node3LocalOffZ="-SlabThickness/2" Node4LocalOffZ="-SlabThickness/2">
                    <P N="Material" V="SlabMat" T="Material" />
                    <P N="Node1" V="Node_S1" T="Node" />
                    <P N="Node2" V="Node_S2" T="Node" />
                    <P N="Node3" V="Node_2" T="Node" />
                    <P N="Node4" V="Node_1" T="Node" />
                    <P N="Thickness" V="SlabThickness" />
                </O>
            </O>
            <O N="Boundary_Surface_2" T="Group">
                <!-- Kirisin sonunda bulunan mesnetlenme bolgesinin olması durumu -->
                <P N="Guard" V="n .EQ. Beam_Mesh-1 .AND. length(BeamConsole2) .NE. 0" />
                <O N="Node_F1" T="Node" X="Final_A_Points[m][0]" Y="Final_A_Points[m][1]" Z="Final_A_Points[m][2]-iif( m .EQ. 0 , SlabThickness , 0 )" />
                <O N="Node_F2" T="Node" X="Final_A_Points[m+1][0]" Y="Final_A_Points[m+1][1]" Z="Final_A_Points[m+1][2]-iif( m .EQ. number , SlabThickness , 0 )" />
                <O N="S3" T="FESurface" Node1LocalOffZ="-SlabThickness/2" Node2LocalOffZ="-SlabThickness/2" Node3LocalOffZ="-SlabThickness/2" Node4LocalOffZ="-SlabThickness/2">
                    <P N="Material" V="SlabMat" T="Material" />
                    <P N="Node1" V="Node_3" T="Node" />
                    <P N="Node2" V="Node_4" T="Node" />
                    <P N="Node3" V="Node_F2" T="Node" />
                    <P N="Node4" V="Node_F1" T="Node" />
                    <P N="Thickness" V="SlabThickness" />
                </O>
            </O>
        </O>
    </O>
    <O N="Load_Definition" T="Group">
        <!-- Dosemede bulunan nodeların sayısı -->
        <P N="nodeCount" V="(Beam_Mesh)*(number-1)*4" />
        <!-- Dosemedeki nodeların listelenmesi -->
        <P N="nodes" V="objs('',parent(myself), 'Node')" />
        <P N="Loading" V="objs('',NULL,'KBYS_YuklemeSablonu')" />
        <O N="Load_Case" T="Group">
            <P N="Guard" V="length(Loading) .NE. 0  " />
            <!-- Yukleme Sablonunda breaking effect tanımlaması yapmak istenildigi zaman "Deck" listesi paraminfo ile doseme objesini pickleyecek. -->
            <P N="BreakingEffect" V="filter(Loading , x. Deck .NE. NULL)" />
            <!-- Yukleme Sablonunda kerb effect tanımlaması yapmak istenildigi zaman "Curb" listesi paraminfo ile Kerb objesini pickleyecek. -->
            <P N="Curb_Loading" V="filter(Loading , x. Curb .NE. NULL  )" />
            <O N="BreakingEffectCondition" T="Group">
                <P N="Guard" V="length(BreakingEffect) .NE. 0" />
                <O N="Breaking_Loop" T="Repeat" S="0" E="length(BreakingEffect)-1" I="1" CTRL="e" e="0">
                    <O N="Geometri" T="Group">
                        <P N="weigth" V="30" D="Tasarım Kamyonunun Dingil Yükü" />
                        <P N="tandem" V="0" D="Tandem Aks Yükü" />
                        <P N="lane_load" V="15" D="Şerit Yükü" />
                        <P N="TireThickness" V="75" D="Tasarım Kamyonunun Lastik Kalınlığı" />
                        <P N="span" V="linel(SlabRef_Mid)" />
                        <P N="srt_width" V="3000" D="Şerit Genişliği" />
                    </O>
                    <!-- Doseme uzerindeki her bir Node'a hesaplanan Breaking Force'un etkitilmesi -->
                    <P N="breaking_force" V="0.05*(lane_load)*(span)*(srt_width)" />
                    <P N="effective_force" V="breaking_force/(nodeCount)" />
                    <P N="breaking_moment" V="1.83*effective_force" />
                    <O N="Breaking_Loop" T="Repeat" S="0" E="nodeCount-1" I="1" CTRL="s" s="0">
                        <O N="Breaking" T="NodeLoad">
                            <P N="LC" V="BreakingEffect[e].Breaking_Force" T="AnalysisCase" />
                            <P N="Node" V="nodes[s]" T="Node" />
                            <P N="Fx" V="effective_force" />
                            <P N="My" V="breaking_moment" />
                        </O>
                    </O>
                </O>
            </O>
            <O N="Curb_Surface_Load_Definition" T="Group">
                <P N="Guard" V="length(Curb_Loading) .NE. 0" />
                <O N="Curb_Loop" T="Repeat" S="0" E="length(SlabsKerb)-1" I="1" CTRL="r" r="0">
                    <P N="height" V="SlabsKerb[r].KerbH" />
                    <O N="Load_Calculation" T="Group">
                        <P N="distance" V="linel([SlabsKerb[r].CRCoordinates[0][0],SlabsKerb[r].CRCoordinates[length(CRCoordinates)-1][0]])" />
                        <P N="surface_Area" V="surfarea(SlabsKerb[r].KerbSurface)*distance/height" />
                        <P N="LiveLoad" V="surface_Area*3/1000000" />
                    </O>
                    <O T="SurfaceLoad" Extends="SlabsKerb[r].KerbSurface" LC="@Curb_Loading[0].Sidewalk_Curb_RailingandLoading|AnalysisCase" Obj="@SlabsKerb[r]|KBYS_Bordur" Fz="-LiveLoad" />
                    <O N="Text_Part" T="Group">
                        <P N="center_x" V="onliner([SlabsKerb[r].GeneralList1[i][0],SlabsKerb[r].GeneralList1[i][1]],0.5)" />
                        <P N="center_y" V="onliner([SlabsKerb[r].GeneralList1[i][0],SlabsKerb[r].GeneralList2[i][0]],0.5)" />
                        <O N="Article" T="Text3D" Label="Surface Load" FontSize="6" X="center_x[0]" Y="center_y[1]" Z="center_x[2]+bor_h">
                            <O T="Point" Y="0" />
                            <O T="Point" X="500" />
                            <O T="Point" X="-500" />
                        </O>
                        <O T="Text3D" Extends="Article" Label="Mag: |withunits(-LiveLoad,'Internal','Stress')|" X="-6" />
                        <O T="Text3D" Extends="Article" Label="Area: |withunits(surface_area,'Internal','Area')|" X="-6*3" />
                        <O T="Text3D" Extends="Article" Label="Total: |withunits(surface_area*LiveLoad,'Internal','Force')|" X="-6*5" />
                    </O>
                </O>
            </O>
        </O>
    </O>
</O>

Export


Export
<O T="Export">
    <O N="Calculation_of_Reference_Coordinates" T="Group">
        <!-- BStart noktası kirişi mesnet üzerine yerleştirdiğimizde kirişin başlangıç noktasını ifade etmektedir.
                SortedBeamPTs parametresi transverse yönünde bütün kirişlerin başlangıç noktalarına göre sortlanrak sıralı liste elde edilmeye 
                çalışılmıştır. -->
        <P N="SortedBeamPTs" V="sort( girder ,x. BStart[1] )" />
        <!--Sortlanan listeden her kirisin ust yuzeyinde bulunan 2 refline'ın sırayla listelenmesi. 1 ibaresi başlangıcı,2 ibaresi bitişi simgelemektedir. -->
        <P N="BeamRefPT_L1" V="map(SortedBeamPTs,x.Beam_Ref_L1)" />
        <P N="BeamRefPT_L2" V="map(SortedBeamPTs,x.Beam_Ref_L2)" />
        <P N="BeamRefPT_R1" V="map(SortedBeamPTs,x.Beam_Ref_R1)" />
        <P N="BeamRefPT_R2" V="map(SortedBeamPTs,x.Beam_Ref_R2)" />
        <!-- Aşağıda kirişten gelen Refline point listesi kirişin başlangıç ve bitişine göre listelenmesi sortlanrak yapılmıştır.
                  Start kirişin başlangıç kısmını, finish kirişin bitiş point kısmını ifade etmektedir.  -->
        <P N="StartBeamPTs" V="sort(concat(BeamRefPT_L1,BeamRefPT_R1),x[1])" />
        <P N="FinishBeamPTs" V="sort(concat(BeamRefPT_L2,BeamRefPT_R2),x[1])" />
        <O N="Overhang" T="Group">
            <!-- StartList döşeme altında bulunan en soldaki kirişin ve en sağdaki kirişin  başlangıç noktalarının listelenmesidir. -->
            <P N="StartList" V="[StartBeamPTs[0],StartBeamPTs[length(StartBeamPTs)-1]]" />
            <!-- StList_over_L parametresi StartList isimli listenin döşemede çıkıntı(overhang) olması durumunda
                    sol döşeme noktasının doğru hesaplanması için oluşturulmuştur. -->
            <P N="StList_over_L" V="online(StartList,-OverhangRight)" />
            <!-- StList_over_R parametresi StartList isimli listenin döşemede çıkıntı(overhang) olması durumunda
                    sag döşeme noktasının doğru hesaplanması için oluşturulmuştur. -->
            <P N="StList_over_R" V="online(StartList,OverhangLeft+linel(StartList))" />
            <!-- FinishList döşeme altında bulunan en soldaki kirişin ve en sağdaki kirişin bitiş noktalarının listelenmesidir.
                    Başlangıç noktalarında yapılan işlemler bitiş içinde aynı olacak şekilde aşağıda yapılmıştır.-->
            <P N="FinishList" V="[FinishBeamPTs[0],FinishBeamPTs[length(FinishBeamPTs)-1]]" />
            <P N="FnshList_over_L" V="online(FinishList,-OverhangRight)" />
            <P N="FnshList_over_R" V="online(FinishList,OverhangLeft+linel(FinishList))" />
        </O>
        <!-- StartSlabList döşemeyi oluşturan başlangıç noktalarının sağdan sola (Y koordinatları eksiden artıya) listesidir.-->
        <P N="StartSlabList" V="sort(concat(StartBeamPTs,[StList_over_L],[StList_over_R]),x[1])" />
        <!-- FinishSlabList döşemeyi oluşturan bitiş noktalarının sağdan sola listesidir. -->
        <P N="FinishSlabList" V="sort(concat(FinishBeamPTs,[FnshList_over_L],[FnshList_over_R]),x[1])" />
    </O>
    <!-- ObjectType objenin döşeme mi ? yoksa döşeme derzi mi ? Olduğunu belirten parametredir.Döşeme üstüne gelen 
            objeler için exportlanmıştır. -->
    <P N="ObjectType" V="1" D="Döşeme Tipi" />
    <!-- SlabRoute app içerisinde döşemenin kenarayak veya başlık kirişinin aliynmanını otomatik alması için exportlanmıştır.-->
    <P N="SlabRoute" V="girder[0].bearings[0].support.Alignment_.YolAliynmani" />
    <O N="Reflines_Deck" T="Group">
        <!-- Aşağıdaki işlemler döşemenin orta reflinenının düzgün oluşması için yapılmış hesaplardır. -->
        <P N="SlabRef_R" V="[StartSlabList[0],FinishSlabList[0]]" />
        <P N="SlabRef_L" V="[StartSlabList[length(StartSlabList)-1],FinishSlabList[length(FinishSlabList)-1]]" />
        <P N="SlabRef_M1" V="onliner([SlabRef_R[0],SlabRef_L[0]],0.5)" />
        <P N="SlabRef_M2" V="onliner([SlabRef_R[1],SlabRef_L[1]],0.5)" />
        <O N="SlabRef_Right" T="Volume" Alignment="SlabRoute" AlignH="Warp" AlignV="Warp" AlignT="Warp">
            <O N="PT1" T="Point" X="StartSlabList[0][0]" Y="StartSlabList[0][1]" Z="StartSlabList[0][2]+SlabThickness" />
            <O N="PT2" T="Point" X="FinishSlabList[0][0]" Y="FinishSlabList[0][1]" Z="FinishSlabList[0][2]+SlabThickness" />
        </O>
        <O N="SlabRef_Left" T="Volume" Alignment="SlabRoute" AlignH="Warp" AlignV="Warp" AlignT="Warp">
            <O N="PT1" T="Point" X="StartSlabList[length(StartSlabList)-1][0]" Y="StartSlabList[length(StartSlabList)-1][1]" Z="StartSlabList[length(StartSlabList)-1][2]+SlabThickness" />
            <O N="PT2" T="Point" X="FinishSlabList[length(StartSlabList)-1][0]" Y="FinishSlabList[length(StartSlabList)-1][1]" Z="FinishSlabList[length(StartSlabList)-1][2]+SlabThickness" />
        </O>
        <O N="SlabRef_Mid" T="Volume" Alignment="SlabRoute" AlignH="Warp" AlignV="Warp" AlignT="Warp">
            <O N="PT1" T="Point" X="SlabRef_M1[0]" Y="SlabRef_M1[1]" Z="SlabRef_M1[2]+SlabThickness" />
            <O N="PT2" T="Point" X="SlabRef_M2[0]" Y="SlabRef_M2[1]" Z="SlabRef_M2[2]+SlabThickness" />
        </O>
        <!-- doseme reflinelarının to toglobal ile hesaplanması. Döşeme sonrası objelerin döşemeden gelecek pointleri 
                düzgün çekebilmesi için oluşturulup exportlanmıştır. -->
        <P N="SlabRefline_L" V="toglobal(SlabRef_Left)" />
        <P N="SlabRefline_R" V="toglobal(SlabRef_Right)" />
        <P N="SlabRefline_M" V="toglobal(SlabRef_Mid)" />
        <!-- BeamsSlabJoint parametresi döşemeden sonra gelen döşeme derzi objesine referans vermektedir. 
                  Akıllı köprü mantığının çalışması için bu parametrenin exportlanması gerekmektedir. -->
        <P N="BeamsSlabJoint" V="refs('KBYS_DosemeDerzi')" T="KBYS_DosemeDerzi" />
    </O>
    <O N="Decks_KerbsAndPavement" T="Group">
        <!-- Aşağıdaki hesaplamalar döşemeden sonra gelen bordürlerin listelenmesi ve Üstyapı Moment El Hesabı objesinin 
            döşeme objesinden referans aldığı değerlerdir. -->
        <P N="BeamsSlabJoint" V="refs('KBYS_DosemeDerzi')" />
        <P N="SlabsKerb" V="refs('KBYS_Bordur')" />
        <O N="KerbAboveSlab" T="Group">
            <P N="Guard" V="length(SlabsKerb) .NE. 0" />
            <!-- Bordür objesinin döşeme üzerindeki konumuna göre listelenmesi -->
            <P N="LeftKerb" V="filter(SlabsKerb , x. Location .EQ. 1 )" />
            <P N="RightKerb" V="filter(SlabsKerb , x. Location .EQ. 2 )" />
            <P N="MidKerb" V="filter(SlabsKerb , x. Location .EQ. 3 )" />
            <!-- Listelenen bordürlerin yüksekliklerinin ve genişliklerinin okunması.-->
            <P N="KerbThickLİst_L" V="map(LeftKerb , x.KerbH)" />
            <P N="KerbThickLİst_R" V="map(RightKerb , x.KerbH)" />
            <P N="KerbWidthLİst_L" V="map(LeftKerb , x.KerbW)" />
            <P N="KerbWidthLİst_R" V="map(RightKerb , x.KerbW)" />
            <P N="KerbThickLİst_M" V="map(MidKerb , x.KerbH)" />
            <P N="KerbWidthLİst_M" V="map(MidKerb , x.KerbW)" />
        </O>
        <!-- Dosemenin uzerine gelen asfalt objesinin parametreleri -->
        <O N="Pavement_Design" T="Group">
            <P N="Guard" V="length(SlabsKerb) .NE. 0" />
            <P N="Pavement_h" V="map(SlabsKerb,x.Pavement_thickness)" />
            <P N="PlatingThickness" V="filter(Pavement_h,x[0] .NE. 0)" />
        </O>
    </O>
</O>


  • No labels