Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Bazen bir objenin kodunun belirli bir kısmı bir çok kere tekrar edilmesi gerekebilir. Hatta tekrar sayısı kullanıcı tarafından belirlenmesi istenebilir. Kısacası, Repeat Objesi bir dizi objeyi bir çok kez klonlamak için kullanılır.
Birçok yapı yapısal bileşenlerin tekrarından oluşur. Örneğin;
Bir köprüdeki farklı çaprazlama lokasyonlarına sahip çoklu kirişler.
Bir köprüdeki çoklu gövde rijidite çubukları.
Bir kule için çoklu paneller.
Bir bina için çok sayıda kat.
Daha öncesinde tanımlanmış olan bir içerik Repeat Objesi içerisine yerleştirilip belirli geometrik aralıklarla klonlanıp konumlandırılabilir. Repeat objenin içindeki herhangi bir içerik belirlenen parametre kadar tekrar edilir.
Tüm Repeat Objeleri aşağıdaki parametreleri içermesi zorunludur:

...

Yukarıdaki kodlar aşağıdaki gibi tamamen birbirinin aynısı sonuç verir.


Bknz: https://www.openbrim.org/objid4wf6h9h9k7e4dkrnmsi2wx.libobj


Örnek:

Code Block
languagexml
themeEclipse
<O T="Repeat" S="0" E="4" I="1" CTRL="index" index="0">
       <O N="Kolon" T="Line">
           <P N="Guard" V="type .EQ. RECTANGULAR" />
           <O T="Point" X="index * 15" Y="0" Z="0" />
           <O T="Point" X="index * 15" Y="0" Z="50" />
           <O N="Rectangular" T="Section">
               <O T="Shape">
                   <O T="Point" X="-5" Y="-5" Z="0" />
                   <O T="Point" X="-5" Y="5" Z="0" />
                   <O T="Point" X="5" Y="5" Z="0" />
                   <O T="Point" X="5" Y="-5" Z="0" />
               </O>
           </O>
       </O>
  </O>

...

Yukarıdaki örnekte tipi line olan bir kolon objesi oluşturulup repeat döngüsü içerisine konulmuştur. Başlangıç sayısı 1, bitiş sayısı 4 olan ve artışı birer birer olan döngü 4 kere döner ve 4 kere bu 3D obje oluşturulur. Aşağıdaki sistem elde edilir.


Bu örneği libraryde library'de incelemek için bakınız: https://www.openbrim.org/objidykp3fi661zspktydj29wxm.libobj


Bir listedeki elemanları saymaya, gerekirse onları ayırmayı sağlar.

...

sefer A=Fn[1][0] ve B=Fn[1][1] parametrelerini oluşturur ve böylelikle bitiş sayısına gelene kadar tekrar eder ve E=3 olduğundan(Listenin uzunluğunun bir eksiği) j=3 olduğunda son parametreleri üretir ve daha tekrar etmez. Oluşan A ve B parametresinin tüm değerlerinin liste yapan map

fonksiyonu (Bknz:Fonksiyonlar: Bkz. map ) ile de iki yeni liste elde etmiş olunur:

...

kere oluşturulacaktır. Böylelikle her bir i değeri arttığında j değeri 5 kere artacaktır. Bu en dıştaki tekrar sayısı tamamlanana kadar devam edecektir ve aşağıdaki 3D obje oluşacaktır.


Örneği Library'de de incelemek için: https://www.openbrim.org/objidspvfh6op46yutcwozwlqr.libobj


Parametreleri:


Sınıfı

Zorunluluk

Adı ve Tipi

Varsayılan değeri ve açıklaması

Öznitelikler

1

Control Variable

Zorunlu

N="CTRL" 
T="Text"

D="Kontrol değişkeni: Tekrarlanan objelere göre tekrar sayısını tutan değişkenin adı." 
V="0"

Role="Input"

2

Start

Zorunlu

N="S" 

D="Start: Tekrar döngüsünün başlangıç sayısı (varsayılan 0)" 
V="0"

Role="Input"

3

End

Zorunlu

N="E" 

D="Bitiş: Tekrar döngüsünün bitiş sayısı (varsayılan 9)" 
V="0"

Role="Input"

4

Increment

Zorunlu

N="I" 

D="Artış: başlangıçtan sona giderken artış sayısı(varsayılan 1)" 
V="0"

Role="Input"

...