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 4 Next »

Kullanici Parametreleri

Kullanici Parametreleri
<O N="GeometricParameters" T="Project">
    <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" />
    <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" />
</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>


Gerekli Parametreler

  • Kiriş listesi(girder)

                   Döşemenin üzerine oturacağı kirişlerin listesi

  • Döşeme sağ taraf çıkıntısı (OverhangLeft) (cm)

                   Döşemenin en sağdaki kirişten uzama miktarı

  • Döşeme sol taraf çıkıntısı (OverhangRight) (cm)

                   Döşemenin en soldaki kirişten uzama miktarı

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

                   Döşemenin Z yönündeki boyutu



3D Geometri


3D Geometri
<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


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