Surface Objesi

Bir yüzey objesi oluşturmak için minimum üç noktaya ihtiyaç vardır. O yüzden öncelikli olarak yüzeyin her bir köşelerindeki noktaların değerlerini koordinat sisteminde belirlenmeli ve saat yönünün tersi(counter-clockwise) yönünde birbirini takip eden noktalar şeklinde yüzeyi kapatarak tanımlamamız gerekmektedir.

Örnek:

<O T="Surface" Z="20">
            <O T="Point" X="-10" Y="-10" />
            <O T="Point" X="10" Y="-10" />
            <O T="Point" X="10" Y="10" />
            <O T="Point" X="-10" Y="10" />
</O>


Bu girilen noktaları birleştirip yüzey olarak tanımlayan obje "Surface(Yüzey)" objesidir. Yani girilen her bir nokta, yüzey objesi altında birleştirilir ve yüzey oluşmuş olur.


"Surface" objesi oluşturulurken birbirini takip eden sıra ile nokta objeleri girilmelidir girilmez ise aşağıdaki durum ortaya çıkar.

Örnek:

<O T="Surface">
       <O T="Point" X="1" Y="5" /> 
       <O T="Point" X="7" Y="5" />
       <O T="Point" X="7" Y="7" />
       <O T="Point" X="-7" Y="7" />
       <O T="Point" X="-7" Y="5" />
       <O T="Point" X="-1" Y="5" />
       <O T="Point" X="-1" Y="-5" />
       <O T="Point" X="-7" Y="-5" />
       <O T="Point" X="-7" Y="-7" />
       O T="Point" X="7" Y="-7" />
       <O T="Point" X="7" Y="-5" />
       <O T="Point" X="1" Y="-5" />
</O>



Şeklin doğru oluşabilmesi için mavi nokta ile sarı nokta ardına yeşil nokta onun ardına kırmızı nokta gelir ve doğru sıralama 
Yukarıdaki şekli oluştururken noktalar sırası ile girilmeseydi mesela sarı ve yeşil renkle belirtilmiş noktaların sırası yer değiştirseydi yani mavi noktadan sonra yeşil noktaya sonra sarı noktaya daha sonra kırmızı noktaya gitseydi neler olurdu bakalım

Örnek:

<O T="Surface">
       <O T="Point" X="1" Y="5" /> 
       <O T="Point" X="7" Y="7" />
       <O T="Point" X="7" Y="5" />
       <O T="Point" X="-7" Y="7" />
       <O T="Point" X="-7" Y="5" />
       <O T="Point" X="-1" Y="5" />
       <O T="Point" X="-1" Y="-5" />
       <O T="Point" X="-7" Y="-5" />
       <O T="Point" X="-7" Y="-7" />
       O T="Point" X="7" Y="-7" />
       <O T="Point" X="7" Y="-5" />
       <O T="Point" X="1" Y="-5" />
</O>

Yüzey hatalı oluşacaktı çünkü "Surface" Objesi içerisinde noktalar ardı ardına çizgiler üreterek yüzey oluşturur.



Thickness parametresi, oluşturulan 2 boyutlu yüzey objesine üçüncü bir boyut olan kalınlık atamaya yarar.

Örnek:

<O N="Surfaceornegi" T="Surface">
       <P N="Thickness" V="3" />
       <O T="Point" X="0" Y="0" Z="0" />
       <O T="Point" X="10" Y="0" Z="0" />
       <O T="Point" X="10" Y="20" Z="0" />
       <O T="Point" X="0" Y="20" Z="0" />
</O>




Cutout parametresi, oluşturulacak yüzeyin kesilip kesilmemesini sorgular. 1 değeri veya Yes değeri oluşturulacak yüzeyi keser, 2 veya No değeri yüzeyi olduğu gibi oluşturur.

Örnek:

<O N="Surfaceornegi" T="Surface">
       <O T="Point" X="-20" Y="-20" />
       <O T="Point" X="-20" Y="20" />
       <O T="Point" X="20" Y="20" />
       <O T="Point" X="20" Y="-20" />
       <O N="KesilecekYuzey" T="Surface" IsCutout="Yes">
           <O T="Point" X="-10" Y="-10" />
           <O T="Point" X="-10" Y="10" />
           <O T="Point" X="10" Y="10" />
           <O T="Point" X="10" Y="-10" />
       </O>
</O>




Draw Border parametresi, kenar çizgilerini şekil üzerinde çizip çizmemeyi sorgular. Default değeri 1'dir.

Örnek:

<O N="Surfaceornegi" T="Surface" Thickness="20" DrawBorder="No">
       <O T="Point" X="-20" Y="-20" />
       <O T="Point" X="-20" Y="20" />
       <O T="Point" X="20" Y="20" />
       <O T="Point" X="20" Y="-20" />
       <O N="KesilecekYuzey" T="Surface" IsCutout="Yes">
           <O T="Point" X="-10" Y="-10" />
           <O T="Point" X="-10" Y="10" />
           <O T="Point" X="10" Y="10" />
           <O T="Point" X="10" Y="-10" />
       </O>
 </O>




Parametreleri:


Sınıfı

Zorunluluk

Adı

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

Öznitelikler

1

Curved

Zorunlu 
Değil 

N="IsCurved" 

D="Curved: Does this surface curve along alignment definitions? [Yes=1/No=0]" 
V="0"

Role="Input"

2

Cutout

Zorunlu 
Değil 

N="IsCutout" 

D="Cutout: Bu yüzey kesilsin mi? [Yes=1/No=0]" 
V="0"

Role="Input"

3

Draw Border

Zorunlu 
Değil 

N="DrawBorder" 

D="Draw Border: yüzeyin kenarlarına sınır çizilsin mi? [Yes=1/No=0]" 
V="0"

Role="Input"

4

Thickness

Zorunlu 
Değil 

N="Thickness" 

D="Thickness: Yüzeyin kalınlığı. (isteğe bağlı)" 
V="2"

Role="Input" 
UT="Length" 
UC="Section"