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 belirlemeli ve bu noktaları yazarken 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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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 " 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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
Thickness parametresi, oluşturulan 2 boyutlu yüzey objesine üçüncü bir boyut olan kalınlık atamaya yarar.
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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
Code Block | ||||
---|---|---|---|---|
| ||||
<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 | N="IsCurved" | D="Curved: Does this surface curve along alignment definitions? [Yes=1/No=0]" | Role="Input" |
2 | Cutout | Zorunlu | N="IsCutout" | D="Cutout: Bu yüzey kesilsin mi? [Yes=1/No=0]" | Role="Input" |
3 | Draw Border | Zorunlu | N="DrawBorder" | D="Draw Border: yüzeyin kenarlarına sınır çizilsin mi? [Yes=1/No=0]" | Role="Input" |
4 | Thickness | Zorunlu | N="Thickness" | D="Thickness: Yüzeyin kalınlığı. (isteğe bağlı)" | Role="Input" |