<th id="o06M"><meter id="o06M"></meter></th>

          <listing id="o06M"><address id="o06M"><dfn id="o06M"></dfn></address></listing>
          <th id="o06M"></th>
          <nobr id="o06M"><meter id="o06M"><listing id="o06M"></listing></meter></nobr>

          <track id="o06M"><progress id="o06M"><listing id="o06M"></listing></progress></track>

          <sub id="o06M"></sub>
          <video id="o06M"><big id="o06M"><nobr id="o06M"></nobr></big></video><sub id="o06M"><progress id="o06M"><listing id="o06M"></listing></progress></sub>
          A playground for University of Bologna Students and a 6-days seminar about digital tools.

          Digital generative tools are a very important part of architectural education. Andrew Kudless during his conference at SimAE was telling about chinese traditional woodcraftsmen: they spend their first two years of apprentice in making their own tools. Today, we have a large pool of digital ready made tools, built to respond to more or less specific problems or tasks, while keeping a level of flexibility and personalization. The majority of these tools have hidden capabilities, which can only be accessed bypassing the conventional interface and getting close to the machine logic of programming or building parametric components which generate shapes. Thus, seriality, differentiation, complexity can be implemented in architectural projects through code, in order to exploit the power of algorithmic based complex systems which are the basis of biological systems.


          But, before going through such complexity, we must start with simple tasks and simple rules. Before playing seriously we need practice. This is the playground where a bunch of students will start to practice, a pool where they will share their results and questions. Maybe the stuff here that will be posted will seem obvious or naive to the navigated code-monkey, but, as I mentioned before, we all start from the basics and this is intended as a place to start. However, any comment and contribution is appreciated.

          Playground is open, let's play! _ Alessio

          2.11.09

          L-system [test]

          Working on the same principles of my last post I realized a new script based on self-learning system.
          The concept is easy. A simple L-system start to grown randomly from a seed, and after every generation it try to touch other L-systems, that are growing from different one seed.

          [edit]
          I forgot to explain some aspects. In this script singles L-system recive a feedback from others, because configuration of every generation depend on configuration of previous one.
          Unlike my previous script there isn't only one final perfect configuration, but infinity ones... because every random event of system "A" affects other systems in next generation, thus itself in following one.
          [/edit]


          Option Explicit
          ' Script written by Alessandro Zomparelli
          ' alessandro.zomparelli@gmail.com
          ' http://alessandrozompa.altervista.org/
          ' Script version domenica 1 novembre 2009 14.40.18

          Call Main()
          Sub Main()
          'picking seed points
          Dim arrSeed, arrSub
          ReDim arrSeed(0)
          arrSeed(0)=Rhino.GetObjects("pick seed points",1)

          'defining number of branch
          Dim dblBrN
          dblBrN=Rhino.GetInteger("number of branches",2,1)

          'defining number of branch generation
          Dim dblBranch
          dblBranch=Rhino.GetInteger("number of branch generation",3,1)
          ReDim Preserve arrSeed(dblBranch)

          Dim arrData, dblVote, arrVote
          ReDim arrData(dblBranch), arrVote(0)

          'defining number of generations and amount of mutation between following generations
          Dim dblGen, dblMut, strLine
          dblGen=Rhino.GetInteger("set number of generations",100,2,10000)
          dblMut=Rhino.GetReal("set mutation value",2,0.1,100)

          Call Rhino.EnableRedraw(False)

          'starting evolution system
          Dim i,j,z,k,y,m,a

          Dim dblDis, arrDist, strC1, strC2
          ReDim arrDist(0)

          'generation of different layers
          Dim strL1: strL1="lines"
          Call Rhino.AddLayer(strL1)

          'evaluation of distance between seed points for a better L-System scale
          dblDist=Rhino.Distance(Rhino.PointCoordinates(arrSeed(0)(0)),Rhino.PointCoordinates(arrSeed(0)(1)))
          For i=0 To ubound(arrSeed(0))
          For j=0 To ubound(arrSeed(0))
          If i<>j Then
          If Rhino.Distance(Rhino.PointCoordinates(arrSeed(0)(i)),Rhino.PointCoordinates(arrSeed(0)(j)))<>0 Then
          arrSeed(i)=arrSub
          End If
          arrData(i)=arrSub
          For j=0 To ubound(arrSeed(i))
          arrData(i)(j)=array(0,array(0,0,0),array(0,0,0),dblDis)
          Next
          Next


          For z=0 To dblGen-1
          Call Rhino.Print(int(z*100/(dblGen-1))&"%")
          For i=1 To dblBranch
          'generation of branches
          For j=0 To ubound(arrSeed(i-1))

          For y=0 To dblBrN-1
          'defining vector scattering direction
          arrData(i)(j*(dblBrN)+y)(2)=array(arrData(i)(j*(dblBrN)+y)(1)(0)+dblMut*(dblGen-z)/dblGen*(rnd-rnd),arrData(i)(j*(dblBrN)+y)(1)(1)+dblMut*(dblGen-z)/dblGen*(rnd-rnd),arrData(i)(j*(dblBrN)+y)(1)(2)+dblMut*(dblGen-z)/dblGen*(rnd-rnd))

          'propotional scaling factor
          arrData(i)(j*(dblBrN)+y)(2)=Rhino.VectorUnitize(arrData(i)(j*(dblBrN)+y)(2))
          arrData(i)(j*(dblBrN)+y)(2)=Rhino.VectorScale(arrData(i)(j*(dblBrN)+y)(2),arrData(i)(j*(dblBrN)+y)(3)/i/3)
          arrSeed(i)(j*(dblBrN)+y)=Rhino.CopyObject(arrSeed(i-1)(j),arrData(i)(j*(dblBrN)+y)(2))

          'drawing last generation
          If z=dblGen-1 Then
          strLine=Rhino.AddLine(Rhino.PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)))
          Call Rhino.objectlayer(strLine,strL1)
          If i=1 Then
          strC1=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i-1)(j)(3)/20/i)
          Else
          strC1=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i-1)(j)(3)/40/(i-1))
          End If
          strC2=Rhino.AddCircle(Rhino.PlaneFromNormal(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),arrData(i)(j*(dblBrN)+y)(2)),arrData(i)(j*(dblBrN)+y)(3)/40/i)
          Call Rhino.AddLoftSrf(array(strC1,strC2))
          If i=1 Then
          Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i-1)(j)(3)/20/i)
          'Else
          ' Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i-1)(j)),arrData(i-1)(j)(3)/30/(i-1))
          End If
          Call Rhino.AddSphere(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),arrData(i)(j*(dblBrN)+y)(3)/40/i)
          Call Rhino.DeleteObjects(array(strC1,strC2))
          End If

          'for display colors of different generation
          'If z/10=int(z/10) Then
          ' strLine=Rhino.AddLine(Rhino.PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i)(j*2+y)))
          ' Call Rhino.ObjectColor(strLine, RGB(255-255/dblGen*z,0,255/dblGen*z))
          'End If
          Next
          Next

          'recordn data of individual branches
          For j=0 To ubound(arrSeed(i-1))
          For y=0 To dblBrN-1
          a=-1
          'defining votes for branches generated from different seeds
          For k=0 To ubound(arrSeed(i-1))
          If int(k/(dblBrN^(i-1)))<>int(j/(dblBrN^(i-1))) Then
          For m=0 To dblBrN-1
          a=a+1
          ReDim Preserve arrVote(a), arrDis(a+1)
          'defining a vote for element efficiency
          arrVote(a)=(Rhino.Distance(PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i-1)(k)))-Rhino.Distance(Rhino.PointCoordinates(arrSeed(i)(j*(dblBrN)+y)),Rhino.PointCoordinates(arrSeed(i-1)(k))))
          'recording distance from detected points
          arrDist(a)=Rhino.Distance(PointCoordinates(arrSeed(i-1)(j)),Rhino.PointCoordinates(arrSeed(i-1)(k)))
          Next
          End If
          Next
          dblVote=Rhino.Max(arrVote)

          'recording dist for nearest point
          For k=0 To ubound(arrVote)
          If arrVote(k)=dblVote Then
          arrDist(a+1)=arrDist(k)
          End If
          Next

          'recording data about the new element
          If dblVote>arrData(i)(j*(dblBrN)+y)(0) Then
          arrData(i)(j*(dblBrN)+y)(0)=dblVote
          arrData(i)(j*(dblBrN)+y)(1)=arrData(i)(j*(dblBrN)+y)(2)
          arrData(i)(j*(dblBrN)+y)(3)=arrDist(a+1)
          End If
          Next
          Next

          Next
          For i=1 To dblBranch
          Call Rhino.DeleteObjects(arrSeed(i))
          Next

          Next
          Call Rhino.LayerVisible(strL1,False)
          Call Rhino.EnableRedraw(True)
          Call Rhino.Print("100%")

          End Sub

          31.10.09



          Like human body and ant colony, later generations reduce scattering for a more accurate configuration. Studying countless generations, the family should reach the target specified.

          Specifying different rules for worms should be possible to study emergent systems whose behavior is not predictable from the study of individual elements, like organic complexity L-systems.




          Option Explicit
          ' Script written by Alessandro Zomparelli
          ' alessandro.zomparelli@gmail.com
          ' http://alessandrozompa.altervista.org/
          ' Script version venerdì 30 ottobre 2009 16.59.03

          Call Main()
          Sub Main()
          Dim strTarget, arrFamily, arrTarget, n
          n=Rhino.GetInteger("set number elements",20,2,100)

          ReDim arrFamily(n), arrTarget(2)
          arrFamily(0)=Rhino.GetObject("pick starting point")
          'check for starting point
          If Rhino.IsPoint(arrFamily(0))=False Then
          Exit Sub
          End If
          strTarget=Rhino.GetObject("pick target point")
          'check for target point
          If Rhino.IsPoint(strTarget)=False Then
          Exit Sub
          End If
          arrTarget=Rhino.PointCoordinates(strTarget)

          Dim dblDist
          dblDist=Rhino.Distance(Rhino.PointCoordinates(arrFamily(0)),arrTarget)

          'defining number of generations and amount of mutation between following generations
          Dim dblGen, dblMut
          dblGen=Rhino.GetInteger("set number of generations",100,2,1000)
          dblMut=Rhino.GetReal("set mutation value",2,0.01,100)

          'defining an array to collect data about different family
          Dim arrData
          ReDim arrData(n)

          'defining a value for better step-element of different family
          Dim dblVote

          'defining counters, array for data recording and an array for scattering direction
          Dim i, j, arrVect, arrVect0, arrRec
          ReDim arrVect(2), arrVect0(2), arrRec(1)

          'defining random data for first generation
          For j=1 To n
          arrVect=array(rnd-rnd,rnd-rnd,rnd-rnd)
          dblVote=0
          arrData(j)=array(dblVote,arrVect)
          Next

          Dim strLine

          'starting evolution system
          For i=0 To dblGen-1

          Call Rhino.EnableRedraw(False)
          'starting family growning
          For j=1 To n
          arrRec=arrData(j)
          arrVect0=arrRec(1)
          arrVect=array(arrVect0(0)+dblMut*(dblGen-i)/dblGen*(rnd-rnd),arrVect0(1)+dblMut*(dblGen-i)/dblGen*(rnd-rnd),arrVect0(2)+dblMut*(dblGen-i)/dblGen*(rnd-rnd))
          arrVect0=Rhino.VectorUnitize(arrVect)
          arrVect=Rhino.VectorScale(arrVect0,dblDist/n)
          'generation of new element of the family
          arrFamily(j)=Rhino.CopyObject(arrFamily(j-1),arrVect)
          strLine=Rhino.AddLine(Rhino.PointCoordinates(arrFamily(j-1)),Rhino.PointCoordinates(arrFamily(j)))
          Call Rhino.ObjectColor(strLine, RGB(255-255/dblGen*i,0,255/dblGen*i))

          If Rhino.Distance(Rhino.PointCoordinates(arrFamily(j)),arrTarget)arrRec(0) Then
          arrData(j)=array(dblVote,arrVect)
          End If
          End If
          Next
          For j=1 To n
          Call Rhino.DeleteObject(arrFamily(j))
          Next

          Call Rhino.EnableRedraw(True)
          Next

          End Sub

          12.6.09

          tens.tesselation


          Here some other surface tesselation experiments, I have already posted the first one but now it is fixed (no more Rhino.command!). Anyway there is not a relevant physics accuracy in both scripts, take them just as tries.





















          ' CASE 10 SURFSTARS

          Sub surfstars(strsurf,upar,vpar)
          upar = upar*5
          vpar = vpar*5
          Dim dblheight : dblheight = rhino.getreal("extrusion height?" ,.05)
          If isnull (dblheight) Then Exit Sub
          Dim attrpoint : attrpoint = rhino.getobject("point attractor",1)
          Dim arrpoint : arrpoint = rhino.PointCoordinates(attrpoint)
          Call rhino.enableredraw(False)
          Dim i, j
          Dim uvalone(1), uvaltwo
          Dim arrUone, arrVone
          Dim arrpttemp, pointtwo
          Dim pt1, pt2, pt3, pt4, pt5, pt6, PT7, Pt8, pt5b, pt6b, pt7b, pt8b, ptc1, ptc2, pt1c, pt2c, pt3c, pt4c
          ReDim matrix (upar, vpar)
          Dim tempt
          arruone = array (0,0)
          arrVone = array (0,0)
          Dim strcell, arrct, arrptsurf, arrnorm, arrnormend,arrnormenddown, arrline, strcell2
          Dim pt1b,pt2b,pt3b,pt4b
          If rhino.IsSurface(strsurf) Then
          arruone = rhino.surfacedomain(strsurf,0)
          arrVone = rhino.surfacedomain(strsurf,1)
          End If
          For i=0 To upar
          For j=0 To vpar
          uvalone(0)= ((arruone(1)-arruone(0))/upar)*i
          uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j
          arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)
          matrix(i,j) = arrpttemp
          Next
          Next
          Dim oct1, oct2, oct3, oct4, arrlinehuge, arrel1, arrel2, arrdom, midplane, midcircle1, midcircle2
          Dim rn, crvtemp, dbldist

          For i = 1 To upar-1
          For J=0 To vpar-1
          pt1 = matrix(i,j)
          pt2 = matrix(i+1,j)
          pt3 = matrix(i,j+1)
          pt4 = matrix(i+1,j+1)
          pt5 = array( (pt1(0)+pt2(0))/2,(pt1(1)+pt2(1))/2,(pt1(2)+pt2(2))/2)
          pt6 = array( (pt2(0)+pt4(0))/2,(pt2(1)+pt4(1))/2,(pt2(2)+pt4(2))/2)
          pt7 = array( (pt3(0)+pt4(0))/2,(pt3(1)+pt4(1))/2,(pt3(2)+pt4(2))/2)
          pt8 = array( (pt1(0)+pt3(0))/2,(pt1(1)+pt3(1))/2,(pt1(2)+pt3(2))/2)
          ptc1 = array( (pt5(0)+pt7(0))/2,(pt5(1)+pt7(1))/2,(pt5(2)+pt7(2))/2)
          ptc2 = array( (pt6(0)+pt8(0))/2,(pt6(1)+pt8(1))/2,(pt6(2)+pt8(2))/2)
          dbldist = rhino.Distance(ptc1,arrpoint)
          dbldist = Rhino.Log10 (dbldist*3)
          If dbldist<1 dbldist ="">
          pt5b = array( pt5(0)+(ptc1(0)-pt5(0))/(dbldist),pt5(1)+(ptc1(1)-pt5(1))/(dbldist),pt5(2)+(ptc1(2)-pt5(2))/(dbldist))
          pt6b = array( pt6(0)+(ptc2(0)-pt6(0))/(dbldist),pt6(1)+(ptc2(1)-pt6(1))/(dbldist),pt6(2)+(ptc2(2)-pt6(2))/(dbldist))
          pt7b = array( pt7(0)+(ptc1(0)-pt7(0))/(dbldist),pt7(1)+(ptc1(1)-pt7(1))/(dbldist),pt7(2)+(ptc1(2)-pt7(2))/(dbldist))
          pt8b = array( pt8(0)+(ptc2(0)-pt8(0))/(dbldist),pt8(1)+(ptc2(1)-pt8(1))/(dbldist),pt8(2)+(ptc2(2)-pt8(2))/(dbldist))

          Call rhino.AddCurve(array(pt1,pt2,pt4,pt3,pt1),1)
          strcell = rhino.addcurve(array(pt1,,pt5b, pt2,pt6b, pt4, pt7b,pt3,pt8b,pt1),1)

          arrct = array( (pt4(0)+pt1(0))/2,(pt4(1)+pt1(1))/2,(pt4(2)+pt1(2))/2)
          arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)
          arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)
          arrnorm = rhino.VectorScale(arrnorm, dblheight)
          arrnormend = rhino.PointAdd(arrct,arrnorm)
          arrnormenddown = rhino.Pointsubtract(arrct,arrnorm)
          crvtemp = rhino.AddSrfPt(array(pt1,arrnormend,pt5b))
          crvtemp = rhino.AddSrfPt(array(pt5b,arrnormend,pt2))
          crvtemp = rhino.AddSrfPt(array(pt2,arrnormend,pt6b))
          crvtemp = rhino.AddSrfPt(array(pt6b,arrnormend,pt4))
          crvtemp = rhino.AddSrfPt(array(pt4,arrnormend,pt7b))
          crvtemp = rhino.AddSrfPt(array(pt7b,arrnormend,pt3))
          crvtemp = rhino.AddSrfPt(array(pt3,arrnormend,pt8b))
          crvtemp = rhino.AddSrfPt(array(pt8b,arrnormend,pt1))

          crvtemp = rhino.AddSrfPt(array(pt1,arrnormenddown,pt5b))
          crvtemp = rhino.AddSrfPt(array(pt5b,arrnormenddown,pt2))
          crvtemp = rhino.AddSrfPt(array(pt2,arrnormenddown,pt6b))
          crvtemp = rhino.AddSrfPt(array(pt6b,arrnormenddown,pt4))
          crvtemp = rhino.AddSrfPt(array(pt4,arrnormenddown,pt7b))
          crvtemp = rhino.AddSrfPt(array(pt7b,arrnormenddown,pt3))
          crvtemp = rhino.AddSrfPt(array(pt3,arrnormenddown,pt8b))
          crvtemp = rhino.AddSrfPt(array(pt8b,arrnormenddown,pt1))
          arrline = rhino.AddLine(pt1,pt2)
          arrdom=rhino.CurveDomain(arrline)
          midplane=rhino.CurvePerpFrame(arrline,arrdom(0))
          midcircle1=rhino.AddCircle(midplane,0.09)
          midplane=rhino.CurvePerpFrame(arrline,arrdom(1))
          midcircle2=rhino.AddCircle(midplane,0.09)
          Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))
          arrline = rhino.AddLine(pt3,pt4)
          arrdom=rhino.CurveDomain(arrline)
          midplane=rhino.CurvePerpFrame(arrline,arrdom(0))
          midcircle1=rhino.AddCircle(midplane,0.09)
          midplane=rhino.CurvePerpFrame(arrline,arrdom(1))
          midcircle2=rhino.AddCircle(midplane,0.09)
          Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))

          Next
          Next

          Call rhino.deleteobject(strsurf)
          Call rhino.EnableRedraw(True)
          End Sub



          '----- CASE 11 SURFholetens -----


          Sub SURFholetens (strsurf,upar,vpar)
          Dim dblheight : dblheight = rhino.getreal("elements height?" ,.6)
          Dim attrpoint : attrpoint = rhino.Getobject("attractor",1)
          Dim attrpointcoord : attrpointcoord= rhino.pointcoordinates(attrpoint)
          If isnull (dblheight) Then Exit Sub
          Call rhino.enableredraw(False)
          Dim i, j
          Dim uvalone(1), uvaltwo
          Dim arrUone, arrVone
          Dim arrpttemp, pointtwo
          Dim pt1, pt2, pt3, pt4, pt5, pt6, pta, ptb, ptc,ptd
          ReDim matrix (upar, vpar)
          Dim tempt
          arruone = array (0,0)
          arrVone = array (0,0)
          Dim arrct, arrptsurf, arrnorm, arrnormend, arrline
          If rhino.IsSurface(strsurf) Then
          arruone = rhino.surfacedomain(strsurf,0)
          arrVone = rhino.surfacedomain(strsurf,1)
          End If
          For i=0 To upar
          For j=0 To vpar
          uvalone(0)= ((arruone(1)-arruone(0))/upar)*i
          uvalone(1) = ((arrVone(1)-arrVone(0))/vpar)*j
          arrpttemp = rhino.EvaluateSurface(strsurf,uvalone)
          matrix(i,j) = arrpttemp
          Next
          Next
          Dim dbldist
          Dim strquad1,strcentr,strquad2,strcell, midline,midcircle1,midcircle2, midplane,arrdom,ptmid
          Dim midp1,midpoint1
          Dim midp2,midpoint2
          For i = 1 To upar-2 Step 3
          For J=0 To vpar-2 Step 4
          pt1 = matrix(i,j)
          pt2 = matrix(i+1,j)
          pt3 = matrix(i+2,j+1)
          pt4 = matrix(i+1,j+2)
          pt5 = matrix(i,j+2)
          pt6 = matrix(i-1,j+1)
          pta = matrix(i-1,j)
          ptb = matrix(i+2,j)
          ptc = matrix(i+2,j+2)
          ptd = matrix(i-1,j+2)
          strcell = rhino.AddCurve(array(pt6,pt1,pt2,pt3,pt4,pt5,pt6),2)
          strquad1 = rhino.AddCurve(array(pta,ptb,ptc,ptd,pta),1)
          Call rhino.objectcolor(strquad1,rgb(255,255,255))'bianco
          arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)
          arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)
          dbldist=rhino.Distance(arrct,attrpointcoord)
          dbldist = Rhino.Log10 (dbldist*7)
          If dbldist < dbldist ="">
          strcell = rhino.scaleobject(strcell,arrct,array(0.95/dbldist,0.95/dbldist,0.95/dbldist))
          arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)
          arrnorm = rhino.VectorScale(arrnorm, dblheight)
          arrnormend = rhino.PointAdd(arrct,arrnorm)
          arrline = rhino.AddLine(arrct,arrnormend)
          Call rhino.AddLoftSrf(array(strcell,strquad1))
          strquad2=rhino.copyObject(strquad1,arrct,arrnormend)
          strcentr=rhino.copyobject(strcell,arrct,arrnormend)
          Call rhino.addloftsrf(array(strquad2,strcentr))
          Call rhino.addloftsrf(array(strquad2,strquad1))
          Call rhino.addloftsrf(array(strcentr,strcell))

          midp1 = array((ptd(0)+ptc(0))/2,(ptd(1)+ptc(1))/2,(ptd(2)+ptc(2))/2)
          midp2 = array((pta(0)+ptb(0))/2,(pta(1)+ptb(1))/2,(pta(2)+ptb(2))/2)
          ptmid= array((arrct(0)+arrnormend(0))/2,(arrct(1)+arrnormend(1))/2,(arrct(2)+arrnormend(2))/2)
          midpoint1=rhino.addpoint(midp1)
          midpoint2=rhino.AddPoint(midp2)
          Call rhino.MoveObjects(array(midpoint1,midpoint2),arrct,ptmid)
          midp1=rhino.PointCoordinates(midpoint1)
          midp2=rhino.PointCoordinates(midpoint2)
          midline = rhino.AddLine(midp1,midp2)
          arrdom=rhino.CurveDomain(midline)
          midplane=rhino.CurvePerpFrame(midline,arrdom(0))
          midcircle1=rhino.AddCircle(midplane,dblheight/6)
          midplane=rhino.CurvePerpFrame(midline,arrdom(1))
          midcircle2=rhino.AddCircle(midplane,dblheight/6)
          Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))
          Call rhino.DeleteObjects (array(arrline,strquad1,strcentr,strquad2,strcell,midpoint1,midpoint2,midline,midcircle1,midcircle2))
          Next
          Next
          For i = 2.5 To upar-2 Step 3
          For J=2 To vpar-2 Step 4
          pt1 = matrix(i,j)
          pt2 = matrix(i+1,j)
          pt3 = matrix(i+2,j+1)
          pt4 = matrix(i+1,j+2)
          pt5 = matrix(i,j+2)
          pt6 = matrix(i-1,j+1)
          pta = matrix(i-1,j)
          ptb = matrix(i+2,j)
          ptc = matrix(i+2,j+2)
          ptd = matrix(i-1,j+2)
          strcell = rhino.AddCurve(array(pt6,pt1,pt2,pt3,pt4,pt5,pt6),2)
          strquad1 = rhino.AddCurve(array(pta,ptb,ptc,ptd,pta),1)
          Call rhino.objectcolor(strquad1,rgb(255,255,255))'bianco
          arrct = array( (pt6(0)+pt3(0))/2,(pt6(1)+pt3(1))/2,(pt6(2)+pt3(2))/2)
          arrptsurf = rhino.SurfaceClosestPoint(strsurf,arrct)
          dbldist=rhino.Distance(arrct,attrpointcoord)
          dbldist = Rhino.Log10 (dbldist*7)
          If dbldist < dbldist ="">
          strcell = rhino.scaleobject(strcell,arrct,array(0.95/dbldist,0.95/dbldist,0.95/dbldist))
          arrnorm = rhino.SurfaceNormal(strsurf,arrptsurf)
          arrnorm = rhino.VectorScale(arrnorm, dblheight)
          arrnormend = rhino.PointAdd(arrct,arrnorm)
          arrline = rhino.AddLine(arrct,arrnormend)
          Call rhino.AddLoftSrf(array(strcell,strquad1))
          strquad2=rhino.copyObject(strquad1,arrct,arrnormend)
          strcentr=rhino.copyobject(strcell,arrct,arrnormend)
          Call rhino.addloftsrf(array(strquad2,strcentr))
          Call rhino.addloftsrf(array(strquad2,strquad1))
          Call rhino.addloftsrf(array(strcentr,strcell))
          midp1 = array((ptd(0)+ptc(0))/2,(ptd(1)+ptc(1))/2,(ptd(2)+ptc(2))/2)
          midp2 = array((pta(0)+ptb(0))/2,(pta(1)+ptb(1))/2,(pta(2)+ptb(2))/2)
          ptmid= array((arrct(0)+arrnormend(0))/2,(arrct(1)+arrnormend(1))/2,(arrct(2)+arrnormend(2))/2)
          midpoint1=rhino.addpoint(midp1)
          midpoint2=rhino.AddPoint(midp2)
          Call rhino.MoveObjects(array(midpoint1,midpoint2),arrct,ptmid)
          midp1=rhino.PointCoordinates(midpoint1)
          midp2=rhino.PointCoordinates(midpoint2)
          midline = rhino.AddLine(midp1,midp2)
          arrdom=rhino.CurveDomain(midline)
          midplane=rhino.CurvePerpFrame(midline,arrdom(0))
          midcircle1=rhino.AddCircle(midplane,dblheight/6)
          midplane=rhino.CurvePerpFrame(midline,arrdom(1))
          midcircle2=rhino.AddCircle(midplane,dblheight/6)
          Call rhino.AddLoftSrf (Array(midcircle1,midcircle2))
          Call rhino.DeleteObjects (array(arrline,strquad1,strcentr,strquad2,strcell,midpoint1,midpoint2,midline,midcircle1,midcircle2))
          Next
          Next
          Call rhino.DeleteObject(strsurf)
          Call rhino.EnableRedraw(True)
          End Sub
           
          ฝาก วอ เลต ไม่มี ขั้น ต่ํา turbo slot คา สิ โน ออนไลน์ 918kiss pgslot88 เครดิต ฟรี 18 สล็อต xo โอน ผ่าน วอ เลท ไม่มี ขั้น ต่ํา เครดิต ฟรี ไม่มี เงื่อนไข ล่าสุด 88 kiss download slot2499 slot777 เครดิต ฟรี เก้า เก คา สิ โน slotxo เล่น ไม่ ได้ ฝาก วอ เลต ไม่มี ขั้น ต่ํา ผล บอล เกม เสมือน จริง ป๊อก เด้ง คา สิ โน joker ฝาก ถอน ไม่มี ขั้น ต่ํา คา สิ โน ป๊อก เด้ง ออนไลน์ สมัคร สมาชิก fifa55 golden hoyeah slots ถอนเงิน เกม 168slotxo เล่น ไพ่ ได้ เงิน จริง 2019 918 แจก เครดิต ฟรี ยิง ปลา ไม่มี ขั้น ต่ำ slot game lobby เครดิต ฟรี ไม่ ต้อง ทํา เท ริน xo slot168 xo slot168 918kiss slot 777 slot red fruit slot ไฮโล ออนไลน์ ไม่ ต้อง ฝาก all slot auto slot yakuza ป๊อก เด้ง เครดิต ฟรี slotxo88v8 slotxo 22 super big win แอ พ พนัน เงิน จริง slot joker xo slotxo48 joker slot 567 วิธี สมัคร databet88 สล็อต xo777 slot1988 joker slot เครดิต ฟรี ทํา เทิ ร์ น ถอน ได้ 918kissauto 2 red365 เครดิต ฟรี slot2499 fifa55 prime fifa55net fifa55 เครดิต ฟรี 2020 เกม ไฮโล y8 แอ พ คำนวณ รู เล็ ต 918kiss max do123 918kiss แอ พ 918 black jack ออนไลน์ simple play slot golden 678 slot เล่น ออนไลน์ ได้ เงิน joker slot 555 joker slot โปร โม ชั่ น สล็อต xo168 สมัคร ครั้ง แรก ฟรี เครดิต ไม่ ต้อง ฝาก ก่อน ไม่ ต้อง แชร์ ้ เครดิต ฟรี คูปอง เครดิต ฟรี joker123 vip slot all ถอนเงิน สล็อต xo 918kiss แจก อั่ ง เปา slotxo เล่น 198 kiss download 168slotxo 2 เครดิต ฟรี ไม่มี เงื่อนไข 2020 ufa365 com ได้ เลย ค่ะ slotxo mafia88 www918kiss lucky slot 888 slot slotxo slot โบนัส 3x slot สล็อต ฝาก slotxo thxo do123 918kiss 918kiss ฟรี 100 fifa55 truemoney โปร โม ชั่ น ยิง ปลา น้ํา ยา ส กิ ด ไฮโล slotxo 100 1 เทิ ร์ น ace333 slot 918 แจก เครดิต ฟรี sbobet slot game slotxo แจก เครดิต ฟรี 50 เครดิต ฟรี 120 77up now live22 ไม่มี ขั้น ต่ํา 918kiss free 918kaya เครดิต ฟรี poker ได้ เงิน จริง slot ฝาก 9 รับ 100 918kiss slots สมัคร เว็บ บอล fifa55 918kiss download ios ล่าสุด ไพ่ โป๊กเกอร์ ึึึึ 77up play slot สล็อต xo24hr slotxo 6 918kissworld เครดิต ฟรี ป๊อก เด้ง เกม แทง ไฮโล ยิง ปลา ไม่มี ขั้น ต่ำ ถอนเงิน 918kiss joker true wallet ไม่มี ขั้น ต่ํา slotxo มา ใหม่ joker35 slot 918kiss v slotxo928 99 ocean เครดิต ฟรี เครดิต ฟรี ป๊อก เด้ง slot joker ฝาก 10 รับ 100 fifa55ez siam slot mafia ฟรี เครดิต ไม่ ต้อง แชร์ เข้า เล่น slotxo ace333 slot เติม เงิน เข้า สล็อต slotxo 7777 fifa555 เครดิต ฟรี ไม่ ต้อง ฝาก สล็อต xo โจ๊ก เกอร์ bn slotxo ufa800 ดาวน์โหลด fifa55net ไฮโล ออนไลน์ เครดิต ฟรี 918kiss slot1234 โปร โม ชั่ น ยิง ปลา ufa365 ดี ไหม pantip 918 ฝาก ถอน ไม่มี ขั้น ต่ํา jackpotxo joker mbk slot ส รู ตรู เล็ ต slot44 grand918kiss fruit slot 918kiss allbet asia fifa55 god slotxo credit fifa1234 log slotxo ฝาก 10 บาท รับ 100 ล่าสุด สล็อต xo วอ ล เลท fifa55net slotxo ค่าย ไหน ดี ไพ่ โบรกเกอร์ 918kiss scr888 สมัคร แล้ว ได้ เครดิต ฟรี w12ww slot slot009 slot free credit slot exp slotxo slotxo24 ไพ่ โป ก เกอร์ fifa69 ดี ไหม joker gaming 888 1thslot slot888vip vegus168 ถอนเงิน slotxo06 981kiss www fifa8888 www fifa55bet com slotxo ฝาก วอ เลท fifa เครดิต ฟรี สล็อต ได้ เงิน จริง เข้า บัญชี จริง อั่ ง เปา สล็อต xo fifa1234 login เกม สล็อต 1234 slotxo 198 918kiss69 เกม สล็อต ไลน์ 22 918kiss888 เกมส์ สล็อต มือ ถือ slot เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ morgana megaways น้ํา ยา ส กิ ด ไฮโล สล็อต โร ม่า เครดิต ฟรี หา เครดิต ฟรี ไม่ ต้อง แชร์ all game slot เครดิต ฟรี 10 top slot slot xo777 royal เครดิต ฟรี คา สิ โน ป๊อก เด้ง ออนไลน์ slotxo ฝาก 9 บาท slot345 ไฮโล ออนไลน์ ถ่ายทอด สด mega888 download 2019 xo โบนัส 100 tss911 เครดิต ฟรี ฟรี เครดิต ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ sbobet ฟรี เครดิต 333be โค๊ ด ฟรี 133 slotxo x 918kiss 55com 918kiss star v2 gott7 slot ฟรี เครดิต 50 slotxo สล็อต 4u slotxo fifa55 ฝาก 100 ฟรี 150 slot 13 happyslot88 slotxo vegus168 ฟรี เครดิต ไลน์ live22 คิง ค อง สล็อต xo เข้า vegus168 slotxo234 สล็อต xo 123 slot mega888 เล่น xo หน้า เว็บ 918kiss me 2 คิง ค อง xo มาเฟีย เครดิต ฟรี ไม่ ต้อง แชร์ ไฮโล apk รู เล็ ต ออนไลน์ ฟรี ไฮโล ทอย ลูกเต๋า ค ร ดิ ต ฟรี หมุน วง ล้อ joker123 mafia เครดิต ฟรี 50 slot ฝาก 100 รับ 300 ไพ่ โป๊ก เก อ เครดิต ฟรี 50 บาท ไม่ ต้อง ฝาก gclub เครดิต ฟรี ถอน ได้ 2020 ace slot slotxo ผ่าน เว็บ อา ม่า 918 star slot 1688 win555 เครดิต ฟรี เกม สล็อต 1234 198 kiss ฟรี เครดิต slotxo ฝาก ท รู วอ เลท slotv9 joker joker123 ฝาก ถอน ไม่มี ขั้น ต่ํา ฟีฟ่า 55 ทาง เข้า slotxo45 สล็อต xo วอ ล เล็ ต slotxo png ป๊อก เกอร์ www 77up me slotxo88 fifa55 เครดิต ฟรี 1000 slot house มังกร เสือ คา สิ โน ออนไลน์ เล่น ไพ่ เงิน จริง ufa24h register joker123 true wallet ไม่มี ขั้น ต่ํา slotv9 slotxo สมัคร สมาชิก vegus168 joker9889 เครดิต ฟรี pussy888 mario xo slot fifa55 hot fif55u เเ ป น ไฮโล aec999 slot โจ๊ก เกอร์ xo slotxo เว็บ ไหน ดี 918 เครดิต ฟรี slotxo 999 ทาง เข้า 55 slot ฝาก 20 บาท รับ 100 slot god xo slotxo44 slot2xl slotxo 918kiss 168 เครดิต ฟรี มาเฟีย 555 mega888 malaysia สล็อต สมัคร ง่าย slot555 joker เกม ส ล็ slotxo สล็อต เล่น ไพ่ poker สล็อต 22thxo 888 โจ๊ก เกอร์ ak47 slotxo เครดิต ฟรี ไม่ ต้อง ฝาก แชร์ สมัคร ไม่ ต้อง ฝาก เล่น แบ ล็ ค แจ็ ค ออนไลน์ 2in2 เครดิต ฟรี ivip9 slot slot hacker joker สล็อต ได้ เงิน จริง เข้า บัญชี จริง fifa55 prime slotxo 101 slotxo ฝาก wallet เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ แชร์ พนัน ออนไลน์ ฟรี เครดิต fifa55 200 บาท jokerauto 888 918kiss superman 918kiss ฝาก 918kiss33 918 ฝาก ถอน ไม่มี ขั้น ต่ํา คูปอง เครดิต ฟรี เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ แชร์ เล่น ไพ่ poker wwwfifa69 สล็อต xo วอ ล เลท joker456 เครดิต ฟรี slotxo mod apk slotjoker888 slot 311 slot sagame66 918kiss auto สล็อต xo 123 mega win slot รู เล็ ต สด slotxo เติม เงิน wallet เครดิต ฟรี ใช้ บัตร ประชาชน x slot 918kiss ฟรี เครดิต ไม่ ต้อง ฝาก 2020 โปร ทุน น้อย slotxo 918kissvip คา สิ โน ออนไลน์ ป๊อก เด้ง รู เล็ ต ราคา 918kiss ระบบ ออ โต้ free allslot999 joker918kiss เว็บ พนัน บอล fifa55 fifa55 mobile สมัคร เครดิต ฟรี 300 scr888 แจก เครดิต ฟรี 2563 slot free credit no deposit 2020 slot เครดิต ฟรี ไม่ ต้อง แชร์ สมัคร ฟรี ไม่ ต้อง ฝาก ก่อน 2020 168bet ฟรี เครดิต slotxo z now918kiss win55 เครดิต ฟรี 918kiss 918kisskiss918vip slotxo kiss918 xo slot168 joker slot 888 77up app เว ป 918 slot ฝาก ถอน ไม่มี ขั้น ต่ำ slot super999 เกม สล็อต โร มา mafia928 เครดิต ฟรี epic win slot jack88 slot slotxo aec999 168 gaming slotxo slotxo1 slotxo z mafia55 เครดิต ฟรี 50 918kiss เครดิต ฟรี 50 pgslot88 ฝาก 10 รับ 100 slot 918kiss ฝาก วอ เลท slot ไม่มี ขั้น ต่ํา เกม xo slot slotxo ฝาก 20 บาท รับ 100 145 ฟรี เครดิต live22th เครดิต ฟรี fifa55 memberbet net เกม 11 ไฮโล 918kiss33 ดู บอล สด fifa55 fifa555 สมัคร สล็อต xo roma เครดิต ฟรี 18 สมัคร เครดิต ฟรี 2020 slotxo 24 hr pay96 slot joker slot โปร โม ชั่ น 918kiss คืน ยอด เสีย slot88vip joker god slot สล xo slot th mafia900 slot ไฮโล สะกิด เครดิต ฟรี ระบบ ออ โต้ สล็อต ฝาก 918kiss android android tggame9999 918kiss เครดิต ฟรี ไม่ ต้อง แชร์ เครดิต ฟรี 918 ไลน์ slotxo ไฮโล ออนไลน์ ถ่ายทอด สด 918kiss ถอนเงิน cq9 slots หมุน วง ล้อ xo รู เล็ ต กติกา slotxo ท รู วอ ล เล็ ต slot 918kiss slotxo ถอนเงิน slotxo kd เครดิต ฟรี 30 slot vip 888 ไพ่ โป ก เกอร์ 1 slot hacker joker สล็อต xo99 สมัคร เว็บ บอล fifa55 slot898 slotxo แตก บ่อย super big win สล็อต xo ฟรี เครดิต ไม่ ต้อง ฝาก ล่าสุด คา สิ โน 918kiss 899slot xo slot168 slotxo 2xl สูง ต่ำ ไฮโล s9 slotxo ฝาก ถอน ไม่มี ขั้น ต่ํา slotxo nuovo casino 918kiss เครดิต ฟรี 100 ไม่ ต้อง ฝาก gxy888 เครดิต ฟรี แอ พ เกม ไฮโล ได้ เงิน จริง 789 game slot ไฮโล ไฮเทค คือ joker slot 888 v1 เล่น poker เงิน จริง แบ ล็ ค แจ็ ค ออนไลน์ slot xo1234 fifa55n slotxo 101 fifa55kick ป๊อก เด้ง ออนไลน์ เครดิต ฟรี fifa55 rmuajj slotxo โอน เงิน slot ฝาก ไม่มี ขั้น ต่ํา scr888 918kiss download slotxo teddy รู เล็ ต กด เอง slotxo ฝาก 9 บาท fifa55 แจก เสื้อ fifa55 idea 918kiss lucky slotxo game 88 สมัคร เอ เย่ น vegus168 c8 slot 3win8 casino slotxo คือ live22 ไม่มี ขั้น ต่ํา เล่น ออนไลน์ ได้ เงิน slot8899 918kiss เครดิต ฟรี ล่าสุด 918kiss เครดิต ฟรี 50 ไฮโล slot 5 fifa55 palace เล่น ไพ่ ได้ เงิน จริง 2019 xo slot168 super big win ไฮโล ออนไลน์ ไม่ ต้อง ฝาก ไฮโล เกม เครดิต ฟรี ถอน ได้ ไม่ จํา กัด slotxo 24 สล็อต x0 slotxo auto เครดิต ฟรี ทํา เทิ ร์ น ถอน ได้ s9 slot luk666 คา สิ โน ออนไลน์ สล็อต xo joker slot123 joker สล็อต xo 369 joker hunter 888 918kiss royal 918kisshero 1668slot ไลน์ fifa55 scr99th 918kiss slotxo777 ฝาก 10 รับ 100 slot slotxo ฟรี ส ปิ น slot89 สมัคร fifa888 fifa55 lord ufa365 ติดต่อ fm99bet เครดิต ฟรี slot ฝาก ถอน ไม่มี ขั้น ต่ํา 918kiss พี่ เสือ โจ๊ก เกอร์ ฟรี เครดิต slot7777 ไพ่ แค ง เล่น ได้ เงิน จริง สมัคร ฟรี ไม่ ต้อง ฝาก slot playlive88 slotxo199 slotxo8 slotxo ท รู วอ เลท slot7 slotx0 slot168 เครดิต ฟรี เครดิต ฟรี โจ๊ก เกอร์ ไม่ ต้อง ฝาก maxwin99 เครดิต ฟรี 918kiss kiss auto slot slotxo09 slotwin888 สมัคร ฟรี เครดิต ไม่ ต้อง แชร์ ฟรี เครดิต gclub joker slot 9889 xo คา สิ โน 918kiss the moon รู เล็ ต สายฟ้า dafabet slotxo at เล่น ออนไลน์ ได้ เงิน slotxo09 ยู ส เท ส xo riches666 เครดิต ฟรี aladdin slot แจก เครดิต ฟรี xo xe88th เครดิต ฟรี ยิง ปลา fun88 slotxo v1 918kiss money 918slot โปร โม ชั่ น joker fifa55 hot slotxo 11 bet365 เครดิต ฟรี ไม่ ต้อง แชร์ slotxo69thai 918kiss ios ล่าสุด เล่น สล็อต live22 s9 slotxo fifa55 idea โป เกอร์ vegus168 ถอนเงิน เครดิต ฟรี ไม่ ต้อง ไล ค์ ไม่ ต้อง แชร์ สมัคร เครดิต ฟรี 200 slotxo 191 slotxo ฝาก 9 บาท slotxo mario pussy888 slot databet88 ถอนเงิน slotxo kiss918 slot vip 99 slot viva live22th slot tss911 เครดิต ฟรี fifa ทาง เข้า bbet99 เครดิต ฟรี 2p slotxo slot246 joker เว็บ ตรง 918kiss rg888 slot slot ฝาก 15 รับ 100 918kiss ฟรี 200 เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ 2020 easy slot 789 918kiss slots slotjoker1234 fifa55 สมัคร 50 ฟรี 100 789 game slot เล่น สล็อต xo หน้า เว็บ slot joker xo สล็อต 777 คา สิ โน ออนไลน์ slot joker true wallet ไม่มี ขั้น ต่ํา wilderland slot 918kiss44 download slotxo แจก เครดิต ฟรี 50 vivo slot game slotxo allbet asia slotxo allbet asia com ยู ส เท ส 918kiss คา สิ โน ออนไลน์ 918kiss wilderland slot 777 slots casino 3win8 casino เครดิต ฟรี mega888 สล็อต xo ฝาก ขั้น ต่ำ 50 บาท สมัคร เครดิต ฟรี 300 fifa55 reward ยิง ปลา ไม่มี ขั้น ต่ำ slotxo246 xo slot007 สล็อต xo easy ไฮโล ออนไลน์ 888 ดู ทีวี ออนไลน์ fifa55 huga slot slotxo ปิด ปรับปรุง m918kiss 899slot slot ใหม่ slot v online casino สล็อต xo เติม เงิน ผ่าน wallet xoslot123 ฟรี เครดิต 50 ไม่ ต้อง ฝาก slot2p slot 9 เล่น blackjack 2pigs xo บ่อน ไฮโล ออนไลน์ joker slot 456 winner99 เครดิต ฟรี ไม่ ต้อง ฝาก slotxo casino slotxo 24 fifa55fifa555 slotxo246 สมัคร โจ๊ก เกอร์ 888 168 gaming xo xe88 เครดิต ฟรี 918kiss33 slot ฝาก 50 รับ 100 918kiss v1 memberbet vegus168 ไฮโล ออนไลน์ 5 บาท joker123 ฟรี เครดิต slotxo ฝาก 1 รับ 100 crown slot เกม xo slot เครดิต ฟรี pussy888 slotxo 101 981kiss สล็อต xo เครดิต ฟรี ไม่ ต้อง ฝาก 2019 wbc slot fifa555 truemoney 2pj slot slotm168 เครดิต ฟรี ถอน ไม่ จํา กัด 168galaxy joker 918kiss v1 xe88 slot สล็อต xo แจก เครดิต ฟรี ไม่ ต้อง ฝาก mafia เครดิต ฟรี ไม่ ต้อง แชร์ slot 289 www jackpotxo com download 918kiss billion 918kiss ฝาก เกมส์ ไฮโล ออนไลน์ slotxo ทุน น้อย live22slot slotxo เล่น คา สิ โน ออนไลน์ 918kiss ไฮโล ออนไลน์ มือ ถือ สมัคร ace333 ฟรี เครดิต สยาม โป็ ก เกอร์ ไฮโล สมจริง หา เครดิต ฟรี เล่น 918kiss โปร ทุน น้อย slot ถอน ไม่มี ขั้น ต่ํา slot finn เว็บ slotxo44 boxing slot ไฮโล รีโมท สี่ หน้า เสือ มังกร ออนไลน์ เล่น สล็อต roma ฟรี 918kiss เครดิต ฟรี 3000 เครดิต ฟรี auto slotxo วง ล้อ slot โปร 2in2 slot www fifa55hd com ลูกค้า เข้า ผ่าน google chrome นะ คะ mega888 malaysia slot ฟรี เครดิต 100 slot hall สล็อต xo เครดิต ฟรี 100 ไม่ ต้อง แชร์ เล่น sbobet ฟรี สมัคร เครดิต ฟรี ไม่ ต้อง ฝาก 2020 slot machine online slotxo เทิ ร์ น 2 เท่า ทาง เข้า vegus168 sure เข้า สล็อต fifa55crown vip slotxo shangri la slot game เครดิต ฟรี 1000 mafia เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ kiss slot mega888 ไทย joker slot 888 v1 918 แจก เครดิต ฟรี เครดิต ฟรี joker mafia เครดิต ฟรี 50 slotxo logo png ไพ่ black jack win three card www 77up me เว็บ พนัน เล่น ฟรี ได้ เงิน จริง สล็อต xo easy win three card bet365 เครดิต ฟรี fifa55na เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ แชร์ ufa365 สมัคร 918kiss เว็บ ไหน ดี slotxo 5678 88 slotxo v5 joker123 slotxo slot online ไม่มี ขั้น ต่ํา เล่น xo slot taibet88 เครดิต ฟรี สล็อต 168galaxy fifa55 ฝาก 20 ฟรี 100 jokerslot168 megaways demo slot ฝาก 100 ฟรี 100 918kiss allbet asia slot555 joker เล่น slotxo ผ่าน เว็บ สล็อต ได้ เงิน จริง เข้า บัญชี จริง joker slot ฝาก ไม่มี ขั้น ต่ํา mm88bet com deposit slotxo star เว็บ ยิง ปลา ฟรี เครดิต dreamtech slot slotxo aec999 slotxo fun สล็อต xo เครดิต ฟรี 100 ไม่ ต้อง แชร์ 77up club ไฮโล ขั้น ต่ำ 1 บาท slot ฝาก 50 ฟรี 150 slot แจก เครดิต ฟรี 918kissthailand 2pigs 918kiss fifa55best slot cat88 xo หน้า เว็บ 918kiss th fifa555 truemoney joker hunter 888 777slotvip slotxo2 918ki โจ ก เกอร์ 888 slot 289 ส ล๊ อ ต xo1234 mafia ฟรี เครดิต ไม่ ต้อง ฝาก slot mafia88 88 slotxo สล็อต ฟรี เครดิต 100 ไม่ ต้อง ฝาก 2563 live22 ฝาก ถอน ไม่มี ขั้น ต่ำ 918kiss the moon mm88bet sport & casino ฝาก slotxo เครดิต ฟรี สมัคร ง่าย rmuaab555 สล็อต xo เครดิต ฟรี 100 ไม่ ต้อง แชร์ joker ฝาก ไม่มี ขั้น ต่ำ fifa55 easy 123 slot เครดิต ฟรี ไม่ ต้อง ฝาก ก่อน ไม่ ต้อง แชร์ 168slotxo 2 love918kiss safari gold megaways slot ฝาก 9 บาท ได้ 100 เกม สล็อต 22 vegus168 vip 35 slot joker ฟรี ไม่ ต้อง ฝาก 918kissauto alert slotxo lucky god2 30 ฟรี เกม joker888 เครดิต ฟรี เกม สล็อต 22 slotwin888 slotxo ฟรี เครดิต ไม่ ต้อง ฝาก 2019 slot88vip เครดิต ฟรี ไม่ ต้อง ไล ค์ ไม่ ต้อง แชร์ slotxo joker123 77up app สล็อต 22thxo สล็อต xo ฝาก ถอน ไม่มี ขั้น ต่ำ live22 royal เครดิต ฟรี slot joker ฝาก ไม่มี ขั้น ต่ํา slotxo 8855 m918kiss slotclub99 slot punpun 918kiss ฝาก 19 918kiss ฝาก วอ เลท คา สิ โน ออนไลน์ 918kiss ป๊อก เด้ง ออนไลน์ ไม่มี ขั้น ต่ํา สมัคร ฟรี เครดิต ไม่ ต้อง แชร์ สล็อต xo ฝาก ผ่าน true wallet 918kiss ถอน ไม่มี ขั้น ต่ํา เว็บ พนัน บอล fifa55 สล็อต xo roma อัป เด ต slotxo super slot999 slot ฝาก 20 ได้ 100 slotxo เข้า ไม่ ได้ สล็อต xo44 slotxo 1234 1thslot slot online th 678slot agentfifa55 ไม่ ต้อง แชร์ เครดิต ฟรี โป็ ก เกอร์ ออ น ไล คา สิ โน ไพ่ ดั ม มี่ slotxo es skywind slot slot bet ฟรี เครดิต monday 918kiss ฝาก ผ่าน วอ ล เลท ไม่มี ขั้น ต่ำ เล่น ฟรี ถอน ได้ 77up online สล็อต xo888 ไฮโล sicbo โปร โม ชั่ น slotxo asiagaming 198 kiss download jokerslot888 cq9 gaming slotxo slot 66 chomikuj joker xo สล็อต xo วอ ล เลท slotxo ที่ แตก บ่อย slot456 mm88bet sport สล็อต 999 คา สิ โน ออนไลน์ slotxo mafia88 slot ถอน ไม่มี ขั้น ต่ํา slot168 55 slot slotxo 5678 ดู ทีวี ออนไลน์ fifa55 ไฮโล สูง ต่ำ slot megaways สล็อต xo1668 slot918 slot ถอน ไม่มี ขั้น ต่ํา 35 slot 369 slotxo แทง ไฮโล ให้ ได้ เงิน 918 ล่าสุด winner555 เครดิต ฟรี รู เล็ ต กด เอง scr99th 918kiss ไฮโล พม่า slotxo 168 vip v88slot สล็อต xo11 slot1888 fin slotxo เครดิต ฟรี 20 บาท xo slot168 ฝาก วอ เลต ไม่มี ขั้น ต่ํา xo slot 888 สมัคร 300 ฟรี 300 ฟรี เครดิต ไม่ ต้อง ฝาก ก่อน ไม่ ต้อง แชร์ best xo slot all slot โป๊ก เก้อ slotxo teddy 918kiss ฝาก ท รู วอ เลท 918kisskingdom vip bet365 เครดิต ฟรี ไฮโล ออนไลน์ สด ป๊อก เด้ง ออนไลน์ ไม่มี ขั้น ต่ํา fifa55 palace slot xo168 โปร โม ชั่ น joker live22th เครดิต ฟรี https slotxo 44 slot ไม่มี ขั้น ต่ํา แทง ไฮโล ให้ ถูก 168bet ฟรี เครดิต joker123 ฟรี เครดิต 918 ฝาก ไม่มี ขั้น ต่ํา exp slotxo แทง ไฮโล ออนไลน์ เข้า เล่น สล็อต xo รู เล็ ต สายฟ้า dafabet live22 ฟรี เครดิต ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ megaways slot red365 เครดิต ฟรี slotxo 191 slotxo แจก เครดิต ฟรี 50 บาท 918kiss slot auto fifa555 สมัคร 2pigsslot live22 ไพ่ โป ก เกอร์ slot ios world 1688 slot fifa69 ทาง เข้า 918ki สมัคร สมาชิก fifa55 slotxo777th ggbet168 เครดิต ฟรี 918kiss เครดิต ฟรี 2019 joker mobile slot สล็อต เอ้ ก โอ pgthai888 ไพ่ เงิน จริง vegus168 win joker slot เครดิต ฟรี https www slot12 com member slotxo เครดิต ฟรี ไม่ ต้อง ฝาก ก่อน win three card 918kissworld 777 slots casino slot jackpotxo dl19 918kiss ไฮโล ออนไลน์ 5 บาท joker slot 55 918kiss me pantip slotxo เกม ไหน แตก ง่าย slot ฝาก 100 รับ 300 สล็อต สมัคร ง่าย 2in2 slot joker slot 555 เล่น โป ก เกอร์ ออนไลน์ ไฮโล ฝาก ระ ติ๊ บ ไฮโล ขั้น ต่ำ 5 บาท คา สิ โน ออนไลน์ เติม true wallet ไม่มี ขั้น ต่ำ fifa55 memberbet เล่น blackjack ggbet168 เครดิต ฟรี 918kissauto v4 puss888 คา สิ โน ออ น ไล ทาง เข้า ฟีฟ่า 55 คิง slotxo เติม วอ เลต สล็อต 888 คา สิ โน ออนไลน์ เครดิต ฟรี ไม่มี เทิ ร์ น slot 22 slotxo 22th gclub 918 slot ฟรี 100 เครดิต ฟรี 100 ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ เติม slotxo สล็อต xo เติม วอ ล เล็ ท อั่ ง เปา scr888 slot ฝาก ถอน ไม่มี ขั้น ต่ํา nuovo casino mafia เครดิต ฟรี 50 918kiss me pantip betway slot เครดิต ฟรี 918kiss slotxo แจก เครดิต ฟรี ไม่ ต้อง ฝาก 2019 918kiss เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ ต้อง แชร์ mafia ฟรี 50 slot 888 casino 918kiss download 2019 pc 918slot all 918kiss เกม ออนไลน์ xo master joker slot joker123 allbet asia slotxo png slotxo เกม สล็อต xo35 รู เล็ ต ออนไลน์ มือ ถือ slotxo ฝาก 1 บาท slotxo auto gclub ฟรี เครดิต ไม่ ต้อง ฝาก 2019 slotxo เกม ไหน แตก ง่าย คิง ค อง xo สล็อต xo แตก ง่าย slot xo 999 hacker slot45 fifa55 easy สมัคร winner55 เครดิต ฟรี slotxo ค่าย ไหน ดี ufa24h register 918kiss club gaming world slotxo slotxo lucky god2 30 ฟรี เกม slotxo 66 918kiss v1 โบนัส สล็อต xo web slot ฝาก 5 บาท ฟรี 99 บาท เสือ มังกร ออนไลน์ มือ ถือ 918kiss ถอนเงิน big jack slot fifa55crown 918kiss เครดิต ฟรี ไม่ ต้อง แชร์ slotjoker888 918kiss เวอร์ชั่น ใหม่ เล่น ได้ 200 ถอน ได้ 100 fifa55 reward เล่น สล็อต xo หน้า เว็บ 333be โค๊ ด ฟรี 133 ไฮโล รีโมท สี่ หน้า slotxo โปร 10 รับ 100 เครดิต ฟรี แชร์ ไลน์ เครดิต ฟรี ไม่มี เงื่อนไข 2020 88 kiss download 918kiss demo 918kiss ระบบ ออ โต้ slot casino free 918kiss me สมัคร mega888 ฟรี เครดิต สล็อต ออนไลน์ 1234 เว็บ สล็อต xo slotxo 66 สล็อต xo ฝาก ผ่าน true wallet fifa55 ฝาก ขั้น ต่ํา 50 slotxocom slotxo mvp ufa365 ฝาก ถอน slotxo credit free sp918kiss
          เกม สล็อต 98| ยิง ปลา joker| เกม ออนไลน์ ได้ เงิน| เกม สล็อต cq9| เกมส์ ยิง ปลา ได้ เงิน ง่าย| dada99thai| ปอย เปต คา สิ โน ออนไลน์| 1xbet poker| joker เล่น หน้า เว็บ| เกม สล็อต เกม สล็อต| เว็บ สล็อต ค่าย jdb ฟรี เครดิต| เกม ฟรี สล็อต| เว็บ ufa700| tiger casino| สล็อต king| ยิง ปลา หาเงิน เข้า วอ ล เลท| ฝาก 10 บาท รับ 100| สล็อต riches888| เว็บ พนัน 2019| ยิง ปลา pc| slot191 ฝาก ถอน| เล่น โจ๊ก เกอร์ หน้า เว็บ| สล็อต ยิง ปลา ฟรี เครดิต| line casino| ยิง ปลา ตาย ง่าย| web slot joker| แอ พ สล็อต ยืนยัน ตัว ต้น รับ เครดิต ฟรี| ส โบ เบ็ ต 555| slot168 joker| w88 ยิง ปลา| สมัคร รับ เครดิต ฟรี| lsm99 sbobet| 777ww คา สิ โน| สมัคร ใหม่ รับ เครดิต ฟรี| qq casino| สล็อต png| ฝาก 10 รับ 100 สล็อต| คา สิ โน ออนไลน์ 888| เกม ยิง ปลา แล้ว ได้ เงิน จริง| สล็อต joker123| เว็บ เกม ได้ เงิน| allslot789| รับ เครดิต ฟรี สล็อต| ปอย เปต บา คา ร่า| wm casino| ดาว โหลด เกม ยิง ปลา ออนไลน์| dafabet ยิง ปลา| เวฟ เกม ยิง ปลา| สล็อต ออนไลน์ ยอด นิยม| โจ๊ก เกอร์ สล็อต 888| เล่น เกมส์ ได้ เงิน จริง ฟรี| mmc996| ยิง ปลา พัน ทิป| ยิง ปลา ค่าย jdb| สล็อต ฝาก 99 รับ 300| เว็บ พนัน lagalaxy| เล่น pg| เว็บ ยิง ปลา แจก เครดิต ฟรี| สมัคร gclub slot| sweet bonanza เล่น ฟรี| เกมส์ สล็อต เล่น ฟรี มากมาย| สล็อต ออนไลน์ ดี ที่สุด| เกม เครดิต ฟรี ไม่ ต้อง ฝาก ไม่ ต้อง แชร์| เว็บ พนัน ออนไลน์ โจ๊ก เกอร์| ไลน์ sbobet| สล็อต exp|