Fórum témák
» Több friss téma |
Fórum » Eagle 3D segítség, POV-Ray
Témaindító: Thomas10100, idő: Jún 5, 2006
Témakörök:
Megkaptam, de nem sikerül sajnos. Már bő fél órája próbálkozom, de nem akar összejönni. Sőt, valamiért a kocka színét invertálja.
Annak a GIF-nek a kódját kellene elkérni az oldal készítőjétől amit mutattam!
Írtam a manusnak, kíváncsi leszek válaszol-e....
Újra beleástam magam kicsit az Eagle3D programba. Most azt szeretném megoldani, hogy ha egy egyoldalas huzalozású nyákhoz generálok 3D-s képet, akkor a nyák felső oldalára ne rajzoljon PAD-eket (és VIA-kat), hiszen azok a valóságban úgysem lesznek ott hogyha elkészítem az egyoldalas nyákot.
Nem is értem hogy akik az Eagle3D-t írták, azoknak miért nem jutott ez eszébe... Beletúrtam az Eagle3D kódjába meg a generált pov fájlokba és rájöttem hogy melyik az a pár sor ami a PAD-ek (és VIA-k) méretét, helyét, elforgatását meghatározza, illetve hogy a PAD mely rétegeken legyen! Olyannyira jól sikerült behatárolnom, hogy a pov fájlban tudom hogy pontosan melyik értéket kell átírnom hogy a PAD csak a kívánt rétegen látszódjon. A baj csak az, hogy a nyákterven lévő összes PAD-hez át kell írni 1-1 sort. Ez azért nem túl elegáns módszer. Ezért az Eagle3D programot akarom átírni úgy, hogy ezt a program maga írja át, persze csak hogyha bepipálok egy radiobox-ot (amit majd beleírok a programba). Viszont egy kis problémába ütköztem. Megvan ugyan a sor amelyiket át kellene írnom, de programozói ismeretek híján nem tudom teljesen értelmezni s így nem is tudom hogyan írjam át. Ebben kérném a segítségeteket. Van önként jelentkező?
Basszus, azt hiszem már meg is van!
Szerk.: Bizony hogy megvan! Mi lenne ha tudnék is programozni...
Íme, ilyen lett:
Eredetileg (PAD-el mindkét oldalon) PAD csak a nyák alsó oldalán Szerk.: És ilyen lett a program főablaka: Bővebben: KÉP
Attila! Te vagy őrült vagy, vagy őstehetség! A kettő nem áll messze egymástól ! Viszont az eltüntetett PAD-ek között megmarad a vezetősáv. Akkor a másik oldalon mi van helyette? Bocs, nem kötözködni akarok! De nagyon érdekel! Egyébként marhára jók a munkáid! (csak a felét érteném amit csinálsz!)
Köszönöm az elismerést! object{pirulos_smile()} //áááá, itt nem működik a pov-ray nyelv
A PAD-ek között valóban megmaradnak a vezetősávok, na de épp ezért tettem bepipálhatóvá ezt a funkciót. Csak akkor pipálja be az ember amikor egyoldalas nyákból generál 3D-s képet. Az átkötések a VIA-k közt meg szerintem nem gond hogy megmaradtak. A nyák másik oldalát is megmutathatom ha akarod, de ott minden teljesen ugyan úgy megmarad. Azon az oldalon nem változik semmi sem.
Hogy kell azt leírni az Eagle3D nyelvén (úgy tudom C++), hogy:
Ha opt_csak_also_pad egyenlő 1-el ÉS ha layer_dis egyenlő 1-el, akkor történjen ez meg az. Ha csak egy változót akarok vizsgálni akkor azt tudom hogy kell, így:
Nagyon jó lett !Nem kötözködésből akarom mondani,de szerintem olyan mintha a nyák az alkatrészlábakkal egybe lenne olvadva.Azt esetleg meg tudnád oldani,hogy egy kis távolság legyen az alkatrész láb és a furat között?
Azt nem kell megoldani, mert az Eagle3D szerencsére alapból tud ilyesmit. Elég csak ha mondjuk a furatoknak más színt állítok be, mert az jelenleg megegyezik a nyák színével és ezért tűnik olyan 'egybeolvadtnak'. De azt is lehet csinálni, hogy a valós furatok minimális átmérőjét kisebbre állítom. Ugyanis az Eagle3D úgy generálja a furatokat, hogy kis furatoknál csak egy fekete pacnit tesz a furat helyére, a nagyobb furatoknál viszont rendesen kivág egy kört a nyákból. Ezt gondolom azért írta meg így a program eredeti készítője, hogy csökkentje a processzor terhelését a 3D-s kép generálásakor.
Most egyébként egy szerintem nagyon komoly módosításon dolgozom és hála Istennek egész jól haladok. Nem mondom el mi lesz az, de eléggé meg fog változni a nyák kinézete. Eddig semmilyen más programmódosításhoz nem kellett ilyen mélyen beleásnom magam a kódba...
Elnézést akkor.Ezt a szines dolgot nem tudtam .
A nyákos újítást pedig kiváncsian várom Idézet: „Ha opt_csak_also_pad egyenlő 1-el ÉS ha layer_dis egyenlő 1-el, akkor történjen ez meg az.” Ha érdekes az '1'-es érték, akkor így:
Ha csak az érdekes, hogy a két változó 0-tól különböző legyen, akkor az ' == 1' sem kell.
És azt hogyan lehet, hogy HA az abcd nevű változó egyenlő 4-el, akkor az xyz változó legyen "sültkrumpli". A fontos az, hogy az xyz változóba a "sültkrumpli"-t én szövegként (string) szeretném beírni.
Már meg is van. Pedig ez tényleg úgy nézett ki hogy nem fogok soha rájönni, de kísérletezgettem és sikerült.
Talán így:
Valahol előzőleg az xyz -t string-re kell definiálni.
Na már majdnem teljesen készen vagyok ezzel a dologgal. Már csak annyi problémám van, hogy csináltam az Eagle3D főablakának egyik fülénél egy új group-ot. Ebbe a groupba tettem kilenc rádiógombot. Kb így néz ki:
Az xyz_szin nevű változóval ez után tovább dolgozom. A gond az, hogy hiába jelölöm be akármelyik rádiógombot, az xyz_szin változó mindig 0 (nulla) marad. Miért? Ennek a számnak meg kellene változnia... Ja igen: azért nulla, mert feljebb beírtam ezt a sort:
De nem hajlandó megváltozni. :no:
Viszont ha chechbox-ot teszek be akkor az átírja a változót amit akarok. Csak hát ugye a checkbox-nál nincs olyan hogy csak egyet lehet kijelölni, nekem pedig épp ez lenne a fontos.
Előtte az xyz_szin változót deklaráltad? int xyz_szin = 1;
Ui: Akkor a kérdés, hogy így 1-be állítva sem működik?
Szerkesztettem a hozzászólást.
Ha a program elején ezzel beállítom 1-re:
akkor az Eagle3D elindítása után automatikusan a második rádiógomb lesz kijelölve. A pov fájlt ha így legenerálom, akkor annak a dolognak a színe meg is változik kékre, ahogy azt kell neki. De ha kijelölök másik rádiógombot, akkor ugyan az a helyzet, csak most nem piros, hanem kék marad mindig.
Úgy láttam korábban, hogy tekercs rajzoló módosításodban is volt színválasztás. Az a metódus itt nem működik?
Jól emlékszel, ott gyakorlatilag szinte ugyan így csináltam. Csak ott annyi volt a különbség hogy a számszerű (int) értéket küldtem ki a 3D-s makróba és a POV-Ray-ben 'alakítottam át' színné, itt meg magában az Eagle3D programon belül tettem ezt meg. (Ezért kérdeztem korábban hogy ha abcd egyenlő 4 akkor xyz legyen sültkrumpli.)
De ez az 'átalakítás' működik, ezzel nincs semmi gond szerencsére. A probléma az hogy a rádiógombok nem írják át a változót. A tekercset rajzoló ablaknál viszont átírták. De mondom, ha sima checkbox-ot teszek be, akkor az is átírja a változót, csak ez a nyamvadt rádiógombsor nem akar működni.
Azt hirtelen nem tudom, miért nem megy az érték beolvasása (C-ben pl. frissíteni kell a tartalmat, ha nincs esemény hozzárendelve a vezérlőkhöz), de miért nem használsz listát? Abból is csak egyet lehet kiválasztani, és 9 vezérlő helyett lesz egy.
Próbáltam, de az Eagle3D gyári szín-listáját ha beállítom akkor nem tudom, hogy íródik be kiválasztott érték a változóba. Sőt, pontosan azt sem tudom hogy hogyan kellene előhívnom azt a listát...
Na csak sikerült megoldanom listával (combobox), de ez sem módosul valamiért. Nem értem...
Na végre sikerült megoldani combobox-al!
Az volt a gond, hogy nem értettem mit jelent a combobox zárójelében lévő két, vesszővel elválasztott rész. De MPi-c egy régebbi hozzászólása segített: Bővebben: Link Akkor még nem értettem belőle semmit, de mostmár nagyon is. Az volt a gond hogy én ugyan azt a változóba írtam be az értéket amibe már egyszer az Eagle3D beírt magától valami mást. De most már működik a dolog, ezért mostmár megmutatom mit kotyvasztottam három napon keresztül: Bővebben: Nyákterv Bővebben: 3D-s kép A program főablaka pedig így módosult: Bővebben: Általános fül Bővebben: Panel fül Bővebben: Színek fül |
Bejelentkezés
Hirdetés |