1

Téma: NÁMĚT: Hromadná změna textu

(patrně jsme to kdysi řešili v mailu jako námět, ale nemohu dohledat ani mail, ani výsledek debaty)
Nemohu se ani v menu dopátrat hromadné změny obsahu označených textů (ani na předpokládané trase Edit - Change, ani jinde), takže podávám jako námět..

2

Re: NÁMĚT: Hromadná změna textu

Tohle program teď vskutku neumí.  Ona by se asi dala celkem jednoduše napsat náhrada textu všech označených nápisů jiným, nebo i záměna zadaného podřetězce v označených nápisech jiným (s kontrolou překročení max. povolené délky), bylo by však asi třeba odtud vyjmout názvy součástek; jinak by se samozřejmě muselo testovat, zda tam nevznikají duplicitní.

Můžete prosím popsat situace, v kterých byste to chtěl užívat?

3

Re: NÁMĚT: Hromadná změna textu

Teď jsem si například kreslil krabičku a její varianty, kde jsem potřeboval změnit asi 20 textů protože jsem měl okomentované jednotlivé výstupky, jak jsou v které části vysoké. To je jednou za čas. ??asto ale bych funkci využil v momentech, kdy dělám revizi desky. Dnes mám pro R, L, i C jedno pouzdro např.0805, jmenuje se RLC0805. Ale na starších deskách je totéž pouzdro zvl᚝ (R0805, L0805, C0805). Nebudu polemizovat, proč chci pouzdra sjednocovat, prostě to nutné je a na vysvětlování složité. Každopádně teď jdu v Layoutu do editace součástky, nechám označit nulové texty (velikost 0,0mm), změním na nenulové, R0805 přepíšu na RLC0805 a zas to všechno změním na nulový text a totéž u dvou zbývajících druhů. S novým příkazem bych prostě zadal "*0805" -> "RLC0805" a hotovo.
Názvy součástek - myslíte reference? Buď to lze přepínačem, nebo mít možnost Select / Qualify / Unselect /... na druhy textu, pokud jsou v layoutu nějak rozlišovány?

4

Re: NÁMĚT: Hromadná změna textu

Tomáš Och napsal:

S novým příkazem bych prostě zadal "*0805" -> "RLC0805" a hotovo.

No, možná byste nejprve musel již existujícím příkazem Select / Select / Text / Masked ty nápisy označit. 

Tomáš Och napsal:

Názvy součástek - myslíte reference? Buď to lze přepínačem, nebo mít možnost Select / Qualify / Unselect /... na druhy textu, pokud jsou v layoutu nějak rozlišovány?

Ano.  Uvažujeme-li ten jednodušší případ, tedy náhradu celých nápisů (spíše než náhradu podřetězců), je buď označen název jediné součástky, jenže pak nemá žádný dobrý smysl jej měnit hromadnou operací, anebo je jich označeno více, jenže pak jim zas nelze vnucovat stejný text (každý název musí zůstat unikátní).

5

Re: NÁMĚT: Hromadná změna textu

Nemyslim ale jen o nahrazovani textu patricich soucastkam (pripustme vyjimku pro reference (resp.nazvy soucastek), kde to smysl nema), ale o vsech textech na desce. Dale, v prikladu jsem sice nastinil nahrazeni celeho textu, pokud by se neco takoveho ale delalo, tak nezaslouzilo by si to plnou podporu? Tedy i zmenu casti retezce?

6

Re: NÁMĚT: Hromadná změna textu

To zatím byly jen jakési předběžné úvahy mezi minimálním a maximálním řešením:  První může vnucovat nový text bez ohledu na předchozí, a názvy součástek prostě přeskakovat, protože stejně nemá smysl je takovýmto způsobem měnit.  Naopak u druhého existují důvody i pro práci s názvy součástek (např. změna XTAL* na X*), bylo by tedy třeba kontrolovat vznik duplicit, podobně záměna podřetězce (která by mimochodem mohla být i opakovaná, např. ABC za A by z ABRAKA udělalo ABCBRABCKABC) obecně může řetězec prodloužit, takže by se musela hlídat i max. výsledná délka.  Minimální řešení by ovšem vycházelo programátorsky o dost jednodušší.

Mimochodem, také byli uživatelé, kteří podobné operace dělávali textovým editorem v .pcb souboru.  (To mělo, technicky vzato, určité výhody, např. duplicitní názvy součástek se našly při otvírání souboru, podobně se v té chvíli přepočetla okénka nápisů a případně i okénka součástek je vlastnících...)

7

Re: NÁMĚT: Hromadná změna textu

Jake mate presne na mysli nepripustne duplicity? Napadaji me prave jen ty reference...

8

Re: NÁMĚT: Hromadná změna textu

Ano, přesně tak.  Přitom, kdyby se to mělo naprogramovat opravdu komfortně, musela by se celá záměna provést nejprve „nanečisto“, pak zkontrolovat, zda nevznikly duplicity, a pouze pokud ne, změnit texty doopravdy.

9

Re: NÁMĚT: Hromadná změna textu

Tak ohledne referenci jsme se shodli, ze ty by se ignorovaly z principu, cili s tim, ze se ignorujou, by to uz melo byt mnohem jednodussi?

10

Re: NÁMĚT: Hromadná změna textu

Reference bych pro začátek opravdu vynechal zcela.

11

Re: NÁMĚT: Hromadná změna textu

Ano, presne tak, ja bych je vynechal nejen pro zacatek, ale uplne. Nebo myslite, ze by to pozdeji zahrnout chtelo i je? Je k tomu nejaky duvod?

12 Naposledy upravil: jarex (2018-01-30 10:37:44)

Re: NÁMĚT: Hromadná změna textu

Opět asi jen můj požadavek. Pokud by šlo označit např 100 součástek a napsat do formuláře LED1 a dát ENTER. A těch 100 součástek by v tu chvíli bylo pojmenováno jako LED1 - LED100 v tom smyslu že by program vybíral prvky z leva do prava po "řádcích", byla by to úspora času veliká. Ale jde o to, pokud vůbec někdo mimo mě něco takového potřebuje.

13

Re: NÁMĚT: Hromadná změna textu

Tohle bych asi nebral jako změnu textu, nýbrž jako přečíslování; už před začátkem operace totiž ty součástky musely mít nějaká unikátní jména.

Budu rád, když se případní další zájemci o podobné operace přihlásí v tomto fóru.

14

Re: NÁMĚT: Hromadná změna textu

Neco podobneho, se zminenim moznych potizi nebo slozitejsiho reseni, pokud by to nekdo chtel zpetne promitnout so schematu: http://www.formica.cz/forum/viewtopic.php?id=212

15 Naposledy upravil: Petr Horský (2018-03-09 12:12:09)

Re: NÁMĚT: Hromadná změna textu

Zpět k těm záměnám textu, jakožto takovým:

Pokusně jsem to dnes naprogramoval, s následujícími omezeními:
1) pracuje to jen na označených nápisech;
2) z nich však jsou všechny názvy součástek ignorovány;
3) lze buď nahradit všechny nápisy (pattern to replace = "*"),
4) anebo doslovně zadaný podřetězec (pattern to replace = cokoliv jiného), je-li nalezen, nahradit jiným.

Jinými slovy, nelze užívat wildcards (vyjma té samostatné hvězdičky).  (Díky tomu stačila knihovní funkce StringReplace, a nemusel jsem programovat vlastní.)  Bylo třeba ošetřit nějaké chybové stavy; výsledný řetězec totiž nesmí být  delší než povolených 72 znaků, ale nesmí být ani prázdný.

Pravděpodobně Vám pošlu odkaz na verzi k vyzkoušení, popřípadě jej pak přidám i sem.

??? ??? ???

Zde je odkaz: http://www.formica.cz/files/Layout-441-p109-1115.zip