Versions Compared

Key

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

"Unit" objesi bir projedeki birim sistemi tanımlamak için kullanılır. Bir proje bir ya da daha fazla birim sistemi içerebilir. Eğer ki tanımlanan bir "Unit" objesi yoksa, bütün projenin değişmeyen standart birim sistemine sahip olduğu varsayılır.
Eğer ki "Unit" objesi tanımlanmışsa, ilk "Unit" objesinin adının 'Internal' olması zorunludur. Bu unit "Unit" objesi sistemin tüm hesapları o birimlerden yaptığı bir birim sistemi tanımlamak için kullanılır. Tek standartlaşmış bir internal Internal birim sistemi kullanmak, parametrik ifadelerin yazımında kolaylık sağlar.
Bir internal Internal birim sistemi tanımlandıktan sonra, son kullanıcı için girişi kolaylaştırmak amacıyla daha fazla birim sistemi tanımlamak mümkündür.
Projenin yazarı çoklu birim sistemleri tanımlayabilir.Örnek olarak, bu sistemler Kesit, Koordinat, Deplasman vb. Olarak adlandırılabilir.Herhangi bir parametrenin birim kategorisinin adı Birim Objelerinin herhangi birinin adıyla eşleşirse, son kullanıcının girdiği parametre değerleri için o birim sistemi kullanılacaktır.
Projede 'Default' adında bir Unit objesi varsa, birim kategorisi tanımlanmayan tüm parametrelerin birim sisteminin 'Default' birim kategorisinde olduğu varsayılır.

Örnek:

Code Block
languagexml
themeEclipse
<O N="Internal" T="Unit" Length="MILLIMETER" Force="NEWTON" Angle="Radian" Temperature="Fahrenheit" />

<O N="Geometry" T="Unit" Length="METER" Force="NEWTON" Angle="Degree" Temperature="Fahrenheit" />

<O N="Property" T="Unit" Length="CENTIMETER" Force="NEWTON" Angle="Degree" Temperature="Fahrenheit" />

...

Proje içerisinde yukarıdaki gibi üç adet "Unit" objesi üretildikten sonra oluşturulan bir parametreye hangisine gitmesi gerektiğini belirtiriz Unit Category(UC) ile gideceği ismi ve Unit Type(UT) ile de bu parametrenin neyi ifade ettiğini söyler. Daha sonra birim kategorisi "Unit" objelerinden birisinin adıyla eşleşirse o parametre eşleştiği birim sistemini kullanır.

Örnek:

Code Block
languagexml
themeEclipse
<P N="A" V="-1000" Role="Input" UT="Length" UC="Property" />

<P N="B" V="100" UT="Length" UC="Geometry" />

<P N="C" V="100" UT="Angle" UC="Internal" />

...

A parametresi bir uzunluk(UT) belirtip birimi santimetre olacaktır.
B parametresi de bir uzunluk(UT) belirtip birimi metre olacaktır.
C parametresi de bir açı(UT) belirtip birimi radyan olacaktır.

Örnek:

Code Block
languagexml
themeEclipse
<O N="Units" T="Group"> 
    <O N="Internal" T="Unit" Length="MILLIMETER" Force="NEWTON" Angle="Radian" Temperature="Fahrenheit" />

    <O N="KM_N" T="Unit" Length="KILOMETER" Force="NEWTON" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="M_KN" T="Unit" Length="METER" Force="KILONEWTON" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="M_KGF" T="Unit" Length="METER" Force="KILOGRAMFORCE" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="M_TON" T="Unit" Length="METER" Force="TON" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="CM_KGF" T="Unit" Length="CENTIMETER" Force="KILOGRAMFORCE" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="CM_TON" T="Unit" Length="CENTIMETER" Force="TON" Angle="DEGREE" Temperature="CELSIUS" />

    <O N="MM_N" T="Unit" Length="MILLIMETER" Force="NEWTON" Angle="DEGREE" Temperature="CELSIUS" />

</O>

...

Karayolları Bilgi Yönetim Sistemi (KBYS)'de birim kategorisi olarak yukarıdaki birim sistemleri kullanılmaktadır. Bu birim sistemlerine ekleme, çıkarma ve değiştirme yapılabilir. Biri hariç: 'internalInternal' çünkü kod çalışırken tüm birim sistemlerini tek bir birim sistemine çevirerek (internal unit) işlem yapar. Diğer tüm birim sistemleri(Display Units) son kullanıcının gördüğü parametrelerin birimleridir. Tüm bu kullanıcının gördüğü birim sistemleri kod çalıştırılırken İnternalInternal'a çevrilir.

Örnek:

Code Block
languagexml
themeEclipse
<P N="A" V="20000" Role="Input" UT="Length" UC="M_TON" />

<P N="B" V="50000" Role="Input" UT="Length" UC="KM_N" />

<P N="C" V="A+B" UT="Length" UC="KM_N" />

...


Daha sonradan C parametresinin hesabı için tüm birimler kod çalıştırılırken İnternala Internala çevrilir hesap yapılır birim kategorisi belirtilmemişse C=70000 milimetre yada yukarıdaki gibi birim kategorisi belirtilmişse o kategoriye göre çevrilip yazılır. Yani C=0.07 kilometre olur.

...


Yani tüm işlem aslında Internal birim kategorisinde yapılır. Bu örnekte birim tipi Length olan internal Internal birim sistemi milimetre ile çalıştığı için A=20000mm ve B=50000mm olarak işlemi yapıp kullanıcının görmek isteyeceği birime çevrilmiştir.


Parametreleri:


Sınıfı

Zorunluluk

Adı ve Tipi

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

Öznitelikler

1

Length

Zorunlu

N="Length" 
T="Text"

D="[INCH/FEET/YARD/MILLIMETER/ 
CENTIMETER/METER]" 
V="INCH"

Role="Input"

2

Force

Zorunlu

N="Force" 
T="Text"

D="[POUND/KIPS/NEWTON/KILONEWTON/ 
MEGANEWTON/TON/MT/KGF]" 
V="KIPS"

Role="Input"

3

Angle

Zorunlu

N="Angle" 
T="Text"

D="[DEGREES/RADIANS]" 
V="DEGREES"

Role="Input"

4

Temperature

Zorunlu

N="Temperature" 
T="Text"

D="[FAHRENHEIT/CELSIUS]" 
V="FAHRENHEIT"

Role="Input"