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:
Azért van elcsúszva a csati, mert valószínűleg másmilyen csatlakozót tettél le a nyákra az Eagle-ben, de nem a hozzá való 3D-s alkatrészt rendelted hozzá.
Vagy pedig az alkatrész 3D-s makrója gyárilag hibás. Ez is könnyen előfordulhat, én már több gyári makrót kijavítgattam emiatt.
Igen makróhibás...kétfélével néztem meg ami ugyanúgy néz ki a lib-ben, de mind a kettővel el van csúszva.
A lib-ben könnyen ki lehet javítani és akkor nem kell a makrókhoz nyúlni.
Ahogy MPi-c is írja, a legegyszerűbb átrajzolni a .lib-et, mert így nem kell beletúrni a makróba. Viszont így ha vannak korábbi nyákterveid amikben szerepel ez a csatlakozó és frissíted őket, akkor az összes csatlakozó a nyákterven el fog 'ugrani'. De akkor is ez a legegyszerűbb.
Én egyébként nem találtam 'hajszálpontosan' ilyen csatit az Eagle alkatrészlistájában, ezért rajzoltam egyet és rendeltem hozzá makrót. (Más alkatrészeknél is van gyárilag ilyen hiba egyébként. Például más csatlakozóknál és trimmereknél is. Amelyekkel eddig összefutottam azokat kijavítottam és majd közzé teszem az oldalamon valamikor.)
Attila86
Csak egy kérdés.Régóta szemezek az oldaladon lévő alkatrészekkel és azt szeretném kérdezni,hogy mikor teszed őket letölthetővé?
Az oldalamon is írtam hogy még megrajzolok pár alkatrészt és utána. Illetve még szeretnék pár dolgot hozzáadni az Eagle3D-hez.
A POV-Ray-ben milyen paranccsal lehet lekerekíteni egy számot? Például hogy 14,438-ból csináljon 14-et.
Meg is van:
Na erre már sajnos nem találtam meg a választ:
Azt tudom, hogy hogyan tudok másolni agymás mellé objektumokat. Így: Bővebben: Link Ez eddig oké, mert itt az objektum után lévő 'translate' vagy 'rotate' parancs egyik értékét tudom megadni úgy hogy növekedjen egy értéktől egy másik értékig (például a linkelt oldalon az első makróban a piros gömböket -5-től +5-ig másolgatja). De én nem a 'translate' vagy a 'rotate' parancsokba szeretnék definiálni ilyen magától növekvő változókat, hanem egy objektumhoz definiált értéket szeretnék ilyen magától növekedővé tenni. Na aki érti ezt a mondatot... Szóval van nekem például egy ilyenem:
Az "ellenallas" a makró neve, a "labtavolsag" pedig egy hozzá definiált érték amire a makró szövegében (amit most "..."-al jelöltem) bármikor hivatkozhatok. Na én azt szeretném hogy ez a "labtavolsag" változzon úgy ahogy én szeretném. Mondjuk nullától 10-ig, egyesével. Ezt megtehetném persze úgy hogy tízszer egymás alá másolom a makrót, de ez egyrészt hülyén néz ki, másrészt pedig a 10 az nem egy konstans szám lenne hanem az is egy definíció (pl "huzalvastagsag"), ami mindig változhat ha én azt akarom. Érthetőbben nem igazán tudom megfogalmazni a problémát sajnos. Legfeljebb mutatok pár képet...
A translate és a rotate utasításokban nem maguktól növekednek a változók, hanem attól az utasítástól, aminek az ún. ciklusmagjában vannak. Általában a programzási nyelvekben vannak olyan utasítások, amelyek egy feltételtől függően többször is végrehajtják ugyanazt az utasítást vagy utasítás sorozatot. Az általad mutatott példában ez a (pov-ray szintaxis szerint):
#while ( Cond ) TOKENS... #end általános formátumú utasítás. Hasonlatos a c-ben használt while ciklushoz. Amig a Cond kifejezés igaz, vagyis nem nulla, addig végrehajtódnak a ciklusmag utasításai. Szerintem ezt tudod használni a makrón belül, úgy hogy a ciklusmagba teszed az objektumodat, meg azokat változókat, amiket minden egyes végrehajtás után valamilyen általad meghatározott szabály, sorozat szerint változtatni akarsz:
Köszönöm! Az a baj, hogy én nem ismerek semmilyen programozó nyelvet. Legfeljebb a POV-Ray-t, de azt is csak minimális szinten. Az pedig inkább csak matematika.
Megpróbáltam megcsinálni úgy ahogy írtad:
Az utolsó sorban az "object" paranccsal meghívtam a makrót, ugye ezt meg kell tenni? Mert amit te írtál abban nincs benne, ezért nem vagyok benne biztos. Na most, ez a kis makró nagyjából szemlélteti azt a dolgot amit én meg szeretnék valósítani. (De az ennél sokkal bonyolultabb makró.) A "torus" parancs egy gyűrűt rajzol. A kapcsos zárójelben lévő két érték vesszővel van elválasztva. Az első érték a gyűrű major sugara, a második érték pedig a minor sugarat adja meg. (Bővebben: Link) Én azt szeretném, hogy rajzoljon a POV-Ray egy gyűrűt "a" major átmérővel, majd rajzoljon ezen a gyűrűn belülre egy másikat ami kisebb nála. Aztán még egyet és még egyet mindaddig, amíg a major átmérő nulla lesz, mert ennél kisebb gyűrű ugyebár nem rajzolható. Azt majd én kiszámoltatom a POV-Ray-el hogy mekkorával kell a következő gyűrűnek kisebbnek lennie, de most ezzel nem akartam bonyolítani a makrót.
Csak kérdezem.
while ciklus ebben az esetben is while() do end: ?
Úgy írtam meg a makrót, hogy egyszerűen csak be kell írni hogy milyen vastag a huzal. Utána a POV-Ray kiszámolja hogy hány menet és hány rétegnyi vezeték fél el a csévetesten és úgy rajzolja meg a cuccot:
Bővebben: KÉP1 Bővebben: KÉP2 Kicsit csaltam, mert a menetek önmagukban végződnek. Ha teljesen reálisan rajzoltam volna meg, ahhoz megint elő kellene venni a trigonometriát és azt utálom. A menetek számát tudom 'dinamikusan' változtatni, de hogy ezt a rétegekkel is meg tudjam tenni, ahhoz kellene a fentebb említett probléma megoldása. Jelenleg a menetek ugyanis egymás fölé vannak másolgatva a sima "translate" paranccsal. A belső vezetékrétegek megrajzolásához viszont már nem jó a "translate" parancs. A belső rétegeket nem akarom megrazoltatni hiszen úgysem látszódnak. De legfelül sajnos látszik, ezért csak a legfelsőt szeretném. Mert itt felül be lehet látni a tekercsbe. Ha kikapcsolom a vasmagot és kékre színezem a csévét akkor jobban látszik a dolog: Bővebben: KÉP3 Ugyan ez felülnézetből: Bővebben: KÉP4 Talán így a legszembetűnőbb: Bővebben: KÉP5
Nem, a helpben benne van a szintaxis:
#while ( Cond ) TOKENS... #end, do, ':' vagy ';' nélkül.
Attila! Dolgozom a válaszon, de most már itt a munkaidő vége, majd otthonról írok.
Csak sikerült végre összehozni.
Bővebben: Link Még nem értem teljesen, de azt hiszem az volt a baja hogy makróba 'ágyaztam' az egészet. De ez nem biztos...
Juppíííí!!!
Bővebben: KÉP Szerk.: És már meg is van amit szerettem volna Bővebben: KÉP1 Bővebben: KÉP2 Bővebben: KÉP3
Attila! Jobban "vágod" te ezt az egészet, mint itt a megszólalók bármelyike.
Ilyen pepecs dolgokkal egyáltalán nem foglalkoztam, amit mondtam, (vagy mondani fogok ) soha nem próbáltam. Közben, azért mégis megírtam a választ, de most látom, hogy sikerült megoldani a kérdést. Azért beszúrom, amit írtam: Én úgy csinálnám, hogy a makrón belül menetnek deklarálnék egy objektumot ( de ezt te jobban tudod)
Ezután egy ciklusban a transleta-tel raknám egymásra a meneteket. A 2*r_minor-ral kellene az eltolást módosítani a kívánt magasságig:
Ha tudnám, hogy az összehasonlításban milyen operátorokat lehet használni máshogy is lehetne írni, mondjuk csökkenteni a menetszámot, amíg el nem éri a nullát.) Ezután egy újabb ciklussal csinálnám meg a lezáró tekercsrészt kb. így:
Az MPi-c által tervezett hd-h101-es 7szegmenses kijelzőjét beraktam és gondoltam gyorsan csinálok is vele 1 képet,de ezt írja ki:
#ifndef(pack_DIS1) #declare global_pack_DIS1=yes; object {DIODE_LED_7SEG("HD-H101",)translate<0,0,0> rotate<0,0.000000,0>rotate<0,0.000000,0> rotate<0,0,0> translate<7.620000,0.000000,19.050000>}#end // DIS1 HD-H101 HDSP-M Mi lehet a probléma?
Ez nem hibaüzenet, ebből nem tudok mondani semmit.
Nem hibaüzenet.Csak kifesti sárgával a sort és az object mellé rakja a karakter izét .De ha kell lefotózom,hátha tud mondani valaki valamit.
A POV-Ray ablakának bal alsó sarkába írja ki hogy mi baja van az adott sorral. Ha ezt látnánk akkor talán többet tudnánk mondani.
Egy PNG ablakkép segítene. Amikor egy sárgával jelzett sorral megáll, alul kiírja a hibát és ez a Messages fülön is elolvasható.
DIODE_LED_7SEG nincs dekralálva ( makro nincs meg....rossz helyen van...stb)
A LED-eknél az Eagle3D feldob egy kis ablakot melyben megkérdezi, hogy hány mm-re legyen a LED a paneltól és hogy milyen legyen a színe illetve mennyire legyen átlátszó.
Ilyen ablakot szeretnék én is egyes alkatrészekhez. Például a toroid gyűrűmhöz, amelynél jó lenne ha be lehetne ugyan így (a LED-ekhez hasonlóan) állítani a tekercs tulajdonságait. Például a színét, a huzal vastagságát vagy a menetek számát. Megpróbáltam beletúrni az Eagle3D fájljaiba hogy hátha megértem hogy hogyan lehet egy ilyen ablakot létrehozni, de nem sikerült kiderítenem. Csak arra jöttem rá, hogy a LED-ek tulajdonságait beállító ablakot hogyan tudom előhívni bármelyik alkatrésznél. (A 3dpack.dat-fájlban a hozzárendeléseknél az egyik változót 0-ról 1-re kell átírni.) De hogyan lehetne egy ilyen kis ablakot létrehozni? Én sajnos a programozáshoz még mindig nem értek, ezért az Eagle3D fájljait olvasgatva nem lettem sokkal okosabb. Tulajdonképpen a LED-ek tulajdonságait beállító ablakot is fel tudnám használni ahhoz, hogy három változót beállítsak egy adott alkatrésznél. De így a kis ablak feliratai megmaradnak. Mondjuk a szín megadásánál beállítódhat a gyűrű színe, a "Távolság a paneltól" pedig lehetne a menetszám, az "Átlátszóság" pedig a huzalvastagság. De az eredeti feliratokkal ez elég idétlenül nézne ki... Azért lenne jó ezt így ilyen 'elegánsan' megoldani, mert nem biztos hogy mindenki bele tud túrni a makrókba és ott átírni a változókat. Szerk.: MPi-c! Úgy rémlik, hogy te fordítottad le az Eagle3D-t magyarra. Ezért gondolom jól értesz a programozáshoz, és biztos bele kellett túrnod az Eagle3D programfájljaiba. Nincs esetleg ötleted erre?
Hmm... A 3dpack.dat fájlban a harminc változó közül a 21-28-asok nincsenek használatban. Gondolom az Eagle3D készítői direkt meghagyták hogy oda még lehessen tenni valamit...
Megtaláltam!
A 3d41.ulp fájl 1888- sorától írja le hogy miket csináljon a program ha az egyes változók ilyenek és olyanok... És a 20. váltózótól valóban ki is vannak hagyva, tehát oda lehetne beírni akármit! Viszont itt már tényleg tudni kellene programozni. Például a LED-ek tulajdonságait megkérdező ablak így néz ki:
Ért ebből valaki valamit?
Kicsit foglalkoznod kellene a "c" nyelvel és utána visszatérni ezekhez a dolgokhoz.
Ezen a szinten már nehéz lesz minden ismeret nélkül.
Pedig megy ez programozói ismeretek nélkül is.
Bővebben: KÉP Az egyes jellemzőket beállító legördülő menüket illetve "beíró ablakokat" is tudok elvileg varázsolni, csak ott még van egy kis gond... |
Bejelentkezés
Hirdetés |