Kako mogu dobiti neku vrijednost pojedine ODABRANE daske?
Najbliži slični primjer bi bio da želim da stavim garderobnu cijev za vješanje u visoki ormar.
Odaberem fiksnu policu i želim podatak Y o položaju odabrane daske kako bi mogao ubaciti garderobnu cijev.
Kako dobiti vrijednost Y i “prenjeti” taj podatak dalje u objekt koji se zove npr. gaderobna_cijev.e3d?
Hvala svima
Parafrazirat ću Vaše pitanje:
“Kako neki objekt (element ili daska) mogu znati detalje nekog budućeg elementa?”
Recimo da je neki element učitan u drugi element. Pošto tek učitani element nezna unaprijed imena dasaka, ne može samostalno pročitati i upotrijebiti njihove karakteristike.
Zapravo, može! Postoje specijalne funkcije koje koje čitaju vrijednosti bliskih objekata. Mogu se pročitati vrijednosti prvog lijevog, desnog, gornjeg i donjeg objekta bez da znamo njihova imena.
OverlapXL (ili OverlapPoint.XM) – vrijednost koju ima desni rub daske koja se nalazi lijevo od centra elementa
OverlapXR (ili OverlapPoint.XP) – vrijednost koju ima lijevi rub daske koja se nalazi desno od centra elementa
OverlapPoint.YM – vrijednost koju ima gornji rub daske ispod centra elementa
OverlapPoint.YP – vrijednost koju ima donji rub daske iznad centra elementa
OverlapPoint.ZM – vrijednost koju ima prednji rub daske iza centra elementa
OverlapPoint.ZP – vrijednost koju ima zadnji rub daske ispred centra elementa
Na primjer, ako trebamo izračunati dužinu cijevi za vješanje u ormaru, treba nam x pozicija lijeve i desne daske i debljina lijeve daske. Ako znamo kako se daske zovu, to bi onda bilo (na primjer:
DesniBok.x-LijeviBok.x-LijeviBok.debljina.
Međutim, ako želimo napraviti element koji će znati svoju širinu i prije nego što ga učitamo, onda ne znamo imena dasaka pa ne možemo napraviti formulu na klasični način. Tada se mogu koristiti OverlapXL i OverlapXR. Formula za širinu elementa će glasiti:
OverlapXR – OverlapXM
Formula za X poziciju elementa će glasiti:
OverlapXM
Postoji još i varijanta funkcije koja daje vrijednosti vanjskih objekata u odnosu na rubove elementa (a ne na njegov centar):
OverlapBox.XM – vrijednost koju ima desni rub daske koja se nalazi lijevo od ruba elementa
OverlapBoxXR – vrijednost koju ima lijevi rub daske koja se nalazi desno od ruba elementa
OverlapBox.YM – vrijednost koju ima gornji rub daske ispod ruba elementa
OverlapBox.YP – vrijednost koju ima donji rub daske iznad ruba elementa
OverlapBox.ZM – vrijednost koju ima prednji rub daske iza ruba elementa
OverlapBox.ZP – vrijednost koju ima zadnji rub daske ispred ruba elementa
Napomena:
Najbolji način za korištenje ovih funkcija je pozicioniranje elementa u svijetli otvor (kao kad se učitavaju ladice), a daske unutar tog elementa onda neka koriste overlap funkcije.
OverlapBox računa i skrivene elemente i daske, ako se takve slučajno nađu na putu.
Postoje elementi u Corpusu koji nebi mogli normalno funkcionirati bez ovih funkcija. Radi se o ladicama. Ladice su u naprijed napravljene i ne može se u naprijed znati širina svijetlog otvora jer ne znamo imena ni debljine rubnih dasaka. Zato se koriste Overlap funkcije kojima se izračuna širina poda.
samo da dopunim da ne bi želio koristiti opciju “uređivanje” nakon što ubacim objekt već kombinacijom .cps i .cmk
… zapravo tražim pascal rješenje unutar cps datoteke