1

Téma: Editace komponent

1) Jaky ma vyznam, ze mohu menit vlastnosti car a padu komponent, aniz bych se prepnul do editace komponenty, a to dokonce i v pripade ze mam komponentu uzamcenou (chapu ze zamek se tyka pozice, ale proc ne i jakekoliv zmeny komponenty)?

2) Pokud mam komponentu prilis u kraje desky a zacnu ji editovat tak, ze po prikazu Replace se jeji pozice LEFT nebo TOP dostane na minusove hodnoty, tak se proces stornuje a muzu editovat znovu.
Proc neni napriklad nejake upozorneni ze objekt zasahuje mimo pole editoru a proto bude napriklad odsazen o x,y milimetru?

3) S tim souvisi i vec, ze kazda komponenta ma udaj o pozici vztazen k jednomu jejimu elementu (tzv.klicovemu). Pokud tento element odstranim a komponentu ulozim ("Replace This"), souradnice zustavaji, ovsem jiz plati pro jiny element, ktery ale v ramci komponenty lezi jinde. Komponenta jiz tedy neni po provedeni "Replace This" na svem miste.
Reseni: pokud se odstrani klicovy element, staci ke stavajicim souradnicim polohy cele komponenty pripocitat rozdil relativnich vzdalenosti mezi starym a novym klicovym elementem. Pak se po navratu z editace soucastky tato soucastka na desce nehne.

2

Re: Editace komponent

kolin napsal:

1) Jaky ma vyznam, ze mohu menit vlastnosti car a padu komponent, aniz bych se prepnul do editace komponenty...

Je tomu tak proto, aby bylo možné globálně (zpravidla množinovými operacemi) měnit celou desku, např. zaměnit jeden typ pájecího bodu za jiný, všechna označení součástek přenést do vrstvy vnitřních obrysů, nastavit velikost znaků a typ čáry pro jména součástek, apod.  Takové chování asi nejlépe odpovídá celkové koncepci systému.  Naopak kdybych editace tohoto druhu zakázal, vnášel bych tím nekonsistenci -- do součástek by totiž i přesto bylo možno fyzicky zasáhnout skrz změny hodnot v tabulce rozměrů.

kolin napsal:

... a to dokonce i v pripade ze mam komponentu uzamcenou (chapu ze zamek se tyka pozice, ale proc ne i jakekoliv zmeny komponenty)?

Vlajka Fixed skutečně fixuje jen polohu součástky.  V systému je již po několik verzí připravena i vlajka Locked, která by vyloučila také ostatní editační zásahy, ale z různých důvodů (včetně výše zmíněné nekonsistence) jsem ji nikdy nepoužil.

kolin napsal:

2) Pokud mam komponentu prilis u kraje desky a zacnu ji editovat tak, ze po prikazu Replace se jeji pozice LEFT nebo TOP dostane na minusove hodnoty, tak se proces stornuje a muzu editovat znovu.
Proc neni napriklad nejake upozorneni ze objekt zasahuje mimo pole editoru a proto bude napriklad odsazen o x,y milimetru?

Když jsem program psal, zdál se mi již případ, že se součástka editací výrazněji zvětší, dost netypický.  Tím spíše pak případ, kdy přírůstek rozměrů součástky překročí šířku okraje desky.  Zároveň jsem si říkal, že v editaci součástky nemůže být tolik neuložené práce jako v editaci desky.  Proto jsem situaci, kdy součástku nelze umístit zpět, ošetřil v zásadě jako fatální chybu.

Mohu se podívat, co by se s tím dalo dělat, ale asi až v nějaké příští verzi.

kolin napsal:

3) S tim souvisi i vec, ze kazda komponenta ma udaj o pozici vztazen k jednomu jejimu elementu (tzv.klicovemu). Pokud tento element odstranim a komponentu ulozim ("Replace This"), souradnice zustavaji, ovsem jiz plati pro jiny element, ktery ale v ramci komponenty lezi jinde. Komponenta jiz tedy neni po provedeni "Replace This" na svem miste.
Reseni: pokud se odstrani klicovy element, staci ke stavajicim souradnicim polohy cele komponenty pripocitat rozdil relativnich vzdalenosti mezi starym a novym klicovym elementem. Pak se po navratu z editace soucastky tato soucastka na desce nehne.

Má-li součástka nějaké vývody, je tím "klíčovým" prvkem vývod nejnižšího čísla.  Pokud jste v rámci veškerých editací součástky tento vývod odstranil, užije se opět aktuální vývod nejnižšího čísla.  Jenomže se součástkou se mohly stát i daleko složitější změny, a program nemůže uhodnout, co vlastně uživatel považuje za vztažný bod.  Vývod (typicky) číslo 1 jsem užil, jelikož mi jeho odstranění připadá jako málo častý editační zásah.  (Běžnější situace asi bude, že jej člověk posune, čímž se mu -- proti jeho přání -- na desce změní poloha středu součástky.)

Než zavádět jinou logiku, která by přinesla potíže zase v jiné situaci, by bylo lepší zavést explicitní vztažný bod součástky (např. v počátku relativních souřadnic editoru součástky).  Do některé příští verze s tím již dlouho počítám.

3 Naposledy upravil: kolin (2007-10-04 09:49:53)

Re: Editace komponent

Petr Horský napsal:

....vnášel bych tím nekonsistenci -- do součástek by totiž i přesto bylo možno fyzicky zasáhnout skrz změny hodnot v tabulce rozměrů.
Vlajka Fixed skutečně fixuje jen polohu součástky.  V systému je již po několik verzí připravena i vlajka Locked, která by vyloučila také ostatní editační zásahy, ale z různých důvodů (včetně výše zmíněné nekonsistence) jsem ji nikdy nepoužil.

To je pravda, zmena v tabulce by se odrazila i na uzamcene komponente a rozhodne by to uzamceni komponenty bylo jaksi derave....na druhou stranu zmena typu sirky segmentu, nebo typu pouziteho padu je castejsi a pravdeopdobnejsi, nez zasahy do tabulky, kterou bych mel mit predem jiz davno optimalizovanou jak na co nejmensi pocet polozek, tak s kompromisem na co nejrozmanitejsi pocet druhu rozmeru (zejmena plati pro vrtaky).
Uzivatel by tedy spise ocenil, ze si komponentu zamkne a tak se mu nezmeni cast komponenty, pokud nekterou tu cast bude mit oznacenou napriklad prikazem Select Select Pad One Type (jednoduse toho lze docilit napriklad kdyz v komponente pouzju stejny typ padu, jako mam na prokovkach, a rozhodnu se vsechny prokovky zmensit - tak si hnu i s pady v komponente).
Pokud bude hybat s tabulkou, je i jemu jasne ze se to projevi i na zamcene komponente - tak je take tento system staveny.
Neni to tedy uplne koser ale zas tolik bych se tomu nebranil...

Petr Horský napsal:

Když jsem program psal, zdál se mi již případ, že se součástka editací výrazněji zvětší, dost netypický.  Tím spíše pak případ, kdy přírůstek rozměrů součástky překročí šířku okraje desky.
Má-li součástka nějaké vývody, je tím "klíčovým" prvkem vývod nejnižšího čísla.  Pokud jste v rámci veškerých editací součástky tento vývod odstranil, užije se opět aktuální vývod nejnižšího čísla. Vývod (typicky) číslo 1 jsem užil, jelikož mi jeho odstranění připadá jako málo častý editační zásah.  (Běžnější situace asi bude, že jej člověk posune, čímž se mu -- proti jeho přání -- na desce změní poloha středu součástky.)

Jako komponentu ovsem mame delany i krabicky s predem nakreslenym okrejem desky, kde neni zadny pin. Take se prave stava, ze se souradnice vztahuji k padu, ktery je montaznim otvorem. Ovsem pokud ho odstranim nebo posunu, nastava tento problem - zejmena u velkych krabicek. A nejhorsi je, kdyz krabicku doedituju, dam Replace This a za celou dobu si neuvedomim ze sem si predtim mel krabicku presunout vice do stredu plochy. Pokud si to uvedomim behem jeji editace, jeste se to da zachranit pomoci Quit & Place, ale to se stane jen ve vyjimecne vzacne svetle chvilce :o)
Dale se take stava, ze jeste neco do krabicky dokresluji, napriklad ruzne vystupky po okrajich apod. A to se muze stat i u bezne soucastky.

Petr Horský napsal:

Jenomže se součástkou se mohly stát i daleko složitější změny, a program nemůže uhodnout, co vlastně uživatel považuje za vztažný bod.
Než zavádět jinou logiku, která by přinesla potíže zase v jiné situaci, by bylo lepší zavést explicitní vztažný bod součástky (např. v počátku relativních souřadnic editoru součástky).  Do některé příští verze s tím již dlouho počítám.

Na neco podobneho jsem take myslel (Eagle to ma resene na stred editoru a zalezi na uzivateli jak si soucastku od oka vystredi vuci znacce) ale rekl bych ze to by prave byl vetsi zasah, ktery by zpusobil, ze po otevreni jiz nakreslenych desek nebude jedina soucastka na svem miste. Proto se mi zda jednodussi alespon se podivat jestli se sucastka nedostava do zakazane oblasti a pokud ano, uzpozornit na to a soucastku posunout tak, aby zasahovala jen do povolene oblasti. Porad je to lepsi nez ztracena prace..

4 Naposledy upravil: kolin (2008-05-22 12:11:07)

Re: Editace komponent

Petr Horský napsal:

Když jsem program psal, zdál se mi již případ, že se součástka editací výrazněji zvětší, dost netypický.  Tím spíše pak případ, kdy přírůstek rozměrů součástky překročí šířku okraje desky.

Prosim, bylo by mozne toto tedy nejak lepe osetrit? treba komponentu posunout tak, aby byla cela editovatelne v oblasti i za cenu ztraty jeji puvodni pozice?

Petr Horský napsal:

Zároveň jsem si říkal, že v editaci součástky nemůže být tolik neuložené práce jako v editaci desky.  Proto jsem situaci, kdy součástku nelze umístit zpět, ošetřil v zásadě jako fatální chybu.

Ono totiz muze dojit i k situaci, kdy si nejdrive nakreslim obrys vesti soucastky, vratim se do editoru schematu abych si ulozil, a pak do soucastky zacnu pridavat pady. Tim se zmeni vstazny bod, cela soucastka se posune mimo plochu a je vymalovano.

ted se mi treba stalo, ze jsem delal desku (delam ji jako soucastku, nehrozi tak jeji nechtene rozhozeni) o rozmerech 160 x 360 a vlozenim padu se mi vztazny bod soucastky posunul (odhaduji) z prostredka na pad (ne pin, a uz vubec ani ne prvni vlozeny) lezici vpravo. Kdyz jsem pak v dalsi editaci tento pad posunul asi o 1cm vlevo a spojil se s carou ve vodive vrstve, najednou se vztaznym bodem stal pad na druhe strane desky a pri opousteni editoru soucastky se zase deska dostala mimo povolenou plochu. Jediny zaruceny zpusob jak o to neprijit, je "Quit and Place" s tim, ze to polozim pokud mozno tak, abych prepsal puvodni soucastku.
Opravdu by to chtelo nejak doresit..

5

Re: Editace komponent

V rychlosti jsem teď program v archivu www.formica.cz/files/Layout-p99-test1103.zip (který je nezávislý na poslední testovací verzi) změnil tak, že se každá součástka bez dalšího posune směrem do kreslicí plochy o tolik, o kolik její hranice po editaci překračovala.  Jistě by to chtělo nějaký čítač chyb (pro hromadnou editaci součástek ve stejném pouzdře, kde může hranice překročit jedno či několik z nich) a chybové hlášení na konci příkazu, ale to asi není prvořadé.

Prosím vyzkoušejte si, zda to skutečně funguje tak, jak byste očekával.  (Nemusím asi zdůrazňovat, že změnit program může být jednodušší než ověřit jeho funkci.)  Předpokládám, že se k tomu brzy ještě vrátím.

6

Re: Editace komponent

Dekuji, funguje to dle ocekavani, tady to asi neni moc co resit - je to precejen jako takova posledni zachrana, takze staci zamezit ztrate prace i za cenu posunu soucastky. Po zapracovani tedy jeste to hlaseni (bylo by hezke vypsat i o kolik se soucastka posunula, abych vedel o kolik musim posunout cely vykres, aby soucastka byla vuci vsemu ostatnimu opet na svem miste) a asi i zvyrazneni dotcenych (=posunutych) soucastek jako je to napr.u indikace nadbytechnych soucastek (=tech co nejsou v netlistu).

7

Re: Editace komponent

kolin napsal:

... a asi i zvyrazneni dotcenych (=posunutych) soucastek ...

To se mi zdá celkem zbytečné.  Takovéto součástky se dají snadno najít dle toho, že se dotýkají okraje kreslicí plochy -- stačí vědět (z chybového hlášení), že máme nějaké hledat.  Navíc by to kolidovalo s příkazem Replace | Replace Marked Ones.