Změna názvu pohledu
Uživatel | Příspěvek |
PetrHH ![]() ![]() Poslat zprávu | Profil |
Datum:
16.4. 2012
| Zobrazeno:
13428x Konfigurace CATIA: Text dotazu: |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2844]
| Publikováno:
16.04. 2012 - 20:49 Tohle přenastavíte v Options, viz příloha. |
PetrHH ![]() ![]() Poslat zprávu | Profil |
[#2845]
| Publikováno:
17.04. 2012 - 09:31 Děkuji za rychlou odpověď.
Problém při tomto nastavení je, že se mi pak nezobrazí žádný nápis, ale já potřebuji, aby bylo zachováno např. "B-B 1:2" namísto "Schnitt B-B, Masstab:1:2" přijde mi že v normálních Options to nastavit nelze. |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2849]
| Publikováno:
17.04. 2012 - 14:16 Nejsem si jistý, jestli to jde přenastavit ve standardu. Názvy pohledů si Catia vkládá sama podle typu pohledu a lokalizace. Z nich se pak odvozuje název pohledu s ID a příponou, který je generován formulí (ta se vytváří automaticky) a přenáší se do textového pole v pohledu (název + ID + přípona).
Pokud by to nebylo ve standardech, bude třeba modifikovat patřičné soubory .nls, kde je definována lokalizace (prefixy se mění podle jazykové verze EN: Front, DE: Vorder Ansicht, ...) Takto se např. lokalizuje Catia do CZ. Největší problém je najít odpovídající nls soubor (jsou jich tisíce), většinou lze podle názvu určit, k jakému modulu se vztahuje. Pak se musí otevřít a přepsat texty. Pokud byste tam chtěl jen B-B, zapsal by se prázdný řetězec. Mnohem efektivnější je ale řešit to jednoduchým makrem, které automaticky přepíše názvy pohledů / řezů z např. Schnitt B - B na B - B. To lze samozřejmě udělat i ručně. |
PetrHH ![]() ![]() Poslat zprávu | Profil |
[#2860]
| Publikováno:
19.04. 2012 - 09:56 Děkuji za opdověď. No tak trošku se o Makra zajímám a pár se my jich podařilo i vytvořit , ale v tomto případě nevím moc jak bych ho vytvořil. klasické nahrání procedury asi moc nepomůže (zda-li se něco vůbec nahraje). Věděl by někdo jak vytvořit toto makro?
Ručně na každém pohledu odmazávat tento text je u velkých sestav už trošku otrava. |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2863]
| Publikováno:
19.04. 2012 - 10:41 Pokud by Vám nevadilo, že se pohledy ve stromu budou mít názvy jen A-A místo Schnitt A-A,
pak to bude vypadat nějak takhle. Předpoklad je, že máte aktivní výkres. Set oActiveDrawing = CATIA.ActiveDocument Psáno z hlavy narychlo, někde může být překlep. |
PetrHH ![]() ![]() Poslat zprávu | Profil |
[#2865]
| Publikováno:
19.04. 2012 - 13:15 Po menších úpravách zdrojáku Language="VBSCRIPT"mi to nyní háže chybu na řádku :
|
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2867]
| Publikováno:
19.04. 2012 - 13:31 Zkuste dát pryč závorky, já normálně píšu v .NETu, kde být musí, ale tady by asi dělají problém.
Jinak hodnoty Prefix, ID a Suffix jsou v kódu napsané obecně. Vy si musíte nejdřív zjistit jejich hodnoty, a pak je upravené zase zapsat. Takže: Dim sPrefix, sID, sSuffix |
PetrHH ![]() ![]() Poslat zprávu | Profil |
[#2870]
| Publikováno:
19.04. 2012 - 13:47 OK upraveno. Skript probehne bez chybove hlasky ale vymaze pouze prvni nazev u prvniho pohledu jinak vse ostatni zustane stejne. Language="VBSCRIPT" |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2873]
| Publikováno:
19.04. 2012 - 14:43 Tak vyzkoušejte, jestli skript opravdu prochází všechny pohledy, před podmínku s typem pohledu dejte MsgBoX(oView.Name0). |
PetrHH ![]() ![]() Poslat zprávu | Profil |
[#2878]
| Publikováno:
20.04. 2012 - 12:44 Postupně to prochází všechny pohledy. Msgbox vypisuje postupne nazvy vsech pohledu nachazejicich se v sestave, ale vymaže akorát "Vorderansicht".
|
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#2879]
| Publikováno:
20.04. 2012 - 12:56 A zrovna ten by to vymazat nemělo, takže je chyba v té podmínce. Možná že ve vbscriptu není správně podporovaná enumerace catViewType, zkuste si ještě v MsgBoxu vypsat typ pohledu a podle něj pak sestavit podmínku omezující přepis jen na řez a průřez.
Jestli si nejdu chvilku, tak to zkusím otestovat naživo, takhle "na papíře" to není úplně ono. :-) |
Tomáš Martinek ![]() ![]() Poslat zprávu | Profil |
[#3989]
| Publikováno:
04.07. 2013 - 08:03 Dobrý den,
podařilo se vám nakonec odladit toto makro? Přiznávám, že neustálá úprava těchto názvů mě už dohání k šílenství. Děkuji Tomáš Martinek |
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#3990]
| Publikováno:
04.07. 2013 - 12:26 Zatím jsem to dál neřešil, ale jde to i jinak. Nevím jestli ve standardu (nebo jinde) se dá nastavit, jak budou pohledy pojmenované.
Určitě se dá v některém souboru s lokalizací nahradit slovo Section cut za prázdný řetězec (u DE lokalizace to jinak píše Schnitt, u CZ se nastavuje Řez), pak to bude rovnou dělat jen A-A, B-B bez dalších úprav. |
Tomáš Martinek ![]() ![]() Poslat zprávu | Profil |
[#3991]
| Publikováno:
04.07. 2013 - 13:11 Ano, měl jste pravdu... je to soubor CATView.CATNls ;-)
Děkuji
|
Ing Jan Cinert ![]() ![]() Poslat zprávu | Profil |
[#3992]
| Publikováno:
04.07. 2013 - 14:00 A je to! :-) Rychlé, efektivní a bez ztráty informace. A vždy to jde vrátit zpátky. |
Andrej Verný ![]() ![]() Poslat zprávu | Profil |
[#5626]
| Publikováno:
10.02. 2016 - 15:33 Trošku oživím tému z roku 2012 . Zrovna som riešil niečo podobné.
Len pre info : Podmienka If oView.ViewType = CatViewType.catSectionView _ oView.Viewtype - výstupom je len cislo. Sice vo VBA v locals pekne identifikuje o aky typ pohladu sa jedna, ale bohužial typ pohľadu si musime odladiť. Napri Front view = 1, Section View tuším 9... Preto ta podmienka nefunguje. Takže treba to nahradiť nejako takto If oView.ViewType = 9 _ Cislo 10 som len tipol .... neviem ci to je section cut :D ... Ako som pisal, treba si odladiť. Ešte pikoška pre VBA : (dosť som sa natrápil kým som prišiel na chybu, tak snáď niekomu ušetrím čas a nervy :D ) vo VBA sa nedá oView deklarovať ako DrawingView, pretože potom metóda .GetViewName nebude fungovať a bude hadzať chybu "ByRef argument" (niečo v podobnom zmysle). takže ja som u seba oView vydeklaroval ako Variant a funguje to. |
Uživatel nepřihlášen
Pro zobrazení obsahu stránky / provedení akce (vytvoření nového téma, napsání odpovědi do diskuse apod.) musíte být přihlášeni.