Aktuální datum a jméno designera do výkresu
Uživatel | Příspěvek |
LIbor Šoupal Poslat zprávu | Profil |
Datum:
19.7. 2017
| Zobrazeno:
9128x Konfigurace CATIA: V5R24 Text dotazu: |
Břeťa Doležal Poslat zprávu | Profil |
[#6259]
| Publikováno:
20.07. 2017 - 13:27 Někdy pomůže GetEnvVariableValue() z řetězcových operací.
V mém případě např.: GetEnvVariableValue("USER_HOME") dá cestu do dokumentů, pokud bývá stejná, tak by se dal uživatel z cesty dostat. Ale spíš bych řešil přes makro než takto krkolomně, abych případně vepisoval i vícero informací najednou. Většinou se toto řeší přes PLM systémy (spojení parametrů-attributů v PLM s parametry v CATII). Pro menší firmy bez PLM je asi nej použít makro. Makro by byl vstupní formulář s nějakými vstupními textboxy, comboboxy a tlačítko na nasypání dat do Catie a případné další vychytávku (tisk *.pdf po schálení, apod...) |
Ing Jan Cinert Poslat zprávu | Profil |
[#6260]
| Publikováno:
20.07. 2017 - 13:47 Dobrý den,
tohle je jednoznačně úkol pro makro. Pokud máte PDM/PLM, bývá toto většinou součástí integrace do CATIA, ale lze i pomocí makra. Jak píše kolega Doležal, informace většinou bývají uložené v parametrech (výkresu nebo partu/sestavy) a jde jen o to, dostat je to textů v razítku. Pro představu ukázka již hotové řešení (na obrázku), kde se dá nakonfigurovat přenos atributů do razítka (kromě přenosu to zvládne i změnu formátu výkresu). Výhoda tohoto je, že se dá použít na již existující razítko a parametry. |
LIbor Šoupal Poslat zprávu | Profil |
[#6262]
| Publikováno:
20.07. 2017 - 14:27 Uživatel odpovídá na příspěvek #6260:
Dobrý den, děkuji za Vaši promptní reakci, tohle makro je krásná věc, ale když si představím, že ho budu muset obhajovat a počítat úspory pro nákup, tak to radši budu dělat ručně :-) . Obzvlášť když ostatní parametry již máme vyřešené. Umístily jsme je do vlastnosti partu a od tamo je natahujeme do výkresu. Potřeboval bych tedy jednoduché makro, které po spuštění načte do textových polí výkresu USERNAME a DATE Bylo by něco takového možné? děkuji |
Břeťa Doležal Poslat zprávu | Profil |
[#6263]
| Publikováno:
21.07. 2017 - 07:12 Napsat makro na vyplnění USERNAME a DATE je otázkou několika desítek minut, pokud nebudete řešit všechny detaily toho co může nastat - spuštění makra mimo CATDrawing, více sheetů, verze Catie, apod......
Pokud budete chtít i stabilitu od makra a třeba i postihnout více listů a více druhů rámečků, apod... tak musíte řešit šiřší kontext a zde už to bude spíše několik hodin, protože je třeba si i minimálně vyjasnit zadání s tím, co všechno očekáváte od makra. Pokud se do toho budete chtít dát sám, tak to není zas až tak složité a za pomoci tohoto fóra byste to asi dal i dohromady. Zásadní jsou asi tyto věci
Myslím si, že ukecat vedoucí, vzít si do firmy na týden brigádníka co umí VBA by nemuselo být tak těžké. Ev. si zaplatit makro od externisty (DPP) a následně si jej už jen samostatně udržovat. Pokud je makro již hotové, tak jej pochopit a obstarávat už není zas tak těžké. Většinou jde jen o to poupravit Reference při změnách Releasu Catie a změnách šablony výkresu. Ev. se poptejte, kolik by za to vedoucí byli ochotni dát a třeba Vám někdo tady na fóru makro do nějaké částky udělá. Za mě dostat jedním tlačítkem jméno uživatele a datum do výkresu je úspora cca 20sec. To je údaj, který se dá přepočíst na roční úsporu. |
Ing Jan Cinert Poslat zprávu | Profil |
[#6264]
| Publikováno:
21.07. 2017 - 09:10 V tomto jednoznačně souhlas, úspora je v tomto konkrétním případě do minuty.
Jen se ještě zeptám, jak řešíte přenos parametrů z Partu. Předpokládám, že přes Attribute link, ale tady je jedno velké riziko, že při změně v Partu se parametr při normálním update nepřepíše. Musí se použít Force update, který už si změněný parametr natáhne a v textu přepíše. |
LIbor Šoupal Poslat zprávu | Profil |
[#6265]
| Publikováno:
21.07. 2017 - 11:00 Uživatel odpovídá na příspěvek #6264:
Ano, přesně tak jak píšete. Ale k makru. Pustil jsem se do toho. Nadefinoval jsem jméno textového pole na drwAutor viz příloha. Opsal kód, viz víše do makra a zakončilo to chybou Language="VBSCRIPT" |
Břeťa Doležal Poslat zprávu | Profil |
[#6266]
| Publikováno:
21.07. 2017 - 13:05 Zas tak jednoduché to programování není :-) Z čeho by pak programátoři byli živi? :-) Zkus to postupně. Nejprve si makro nahraj a potom jej zkus dopsat, tak aby něco dělalo automaticky opakovaně.
drwAutor As DrawingText je pouze deklarace proměnné, následně je ještě nutno spojit s objektem v Catii. Jinak stejně jako uváděl Jan C. doporučuji importovat přes parametry a následně až attribute link. Psal jsem přímou možnost cesty (né celý program) a přes parametry je to jinak. |
Ing Jan Cinert Poslat zprávu | Profil |
[#6267]
| Publikováno:
21.07. 2017 - 13:15 Samozřejmě, takhle snadno to nelze. Kód je jen ilustrativní...
K objektu textu se musíte nejprve nějak dostat. Vidím, že jste úplný začátečník :-) Adresování testu vypadá nějak takhle: oDrwRoot = CATIA.ActiveDocument.DrawingRoot ' root vykresu Jde to i jinak, ale pokud nemáte zkušenosti OOP, bude chvíli trvat než na to přijdete a hlavně tápat v objektech, protože ten idi.otský integrovaný editor nemá nic jako zvýrazňování syntaxe, kontrolu chyb, intelisense....zkrátka to, co nabízí třeba VisualStudio. PS: Upřímně nechápu to obhajování nákladů na pořízení makra, když se pak někdo, kdo tomu moc nerozumí, snaží něco vytvořit sám. Proti snaze se nedá nic říct, ale když se nad tím stráví třeba týden (a to vám garantuju, že za den to neuděláte a pak to stejně budete x-krát dolaďovat, až začne lidem díky neošetřeným chybám padat Catie), jsou náklady na zakoupení často stejné, ne-li nižší než vlastní vývoj (týden práce konstruktéra je pro firmu nákladově +/- 15-18tisíc). |
LIbor Šoupal Poslat zprávu | Profil |
[#6276]
| Publikováno:
02.08. 2017 - 10:08 Dobrý den
dalo mi to chvilku zabrat, ale naučil jsme se něco nového. děkuji za radu |
Jakub Švejda Poslat zprávu | Profil |
[#6361]
| Publikováno:
05.11. 2017 - 08:54 Dobrý den,
mám dotaz k tématu aktuálního data na na výkres pomocí makra. Potřebuji datum ve formátu yyyy-mm-dd, použil jsem: Dim Datum Bohužel do razítka se dostane jen 2017-00-05, nevíte proč se mi nechce vypsat měsíc? Pokud použiji Datum = Today, vypsání proběhne správně: 05.11.2017, jenže potřebuji výše uvedený formát. Ve VBA jsem úplný začátečník, nejspíš mi uniká jen nějaká banalita, mohl by mě prosím někdo popostrčit ke správnému výsledku. Děkuji |
Ing Jan Cinert Poslat zprávu | Profil |
[#6362]
| Publikováno:
05.11. 2017 - 20:05 Dobrý den,
na první pohled chybu nevidím. Zkuste možné nejprve do proměnné Datum přiřadit hodnotu Today a formátovat datum až při zápisu do razítka. Já dělám více v .NET a tam jsou někdy mírné nyance .. sem tam je něco jinak. Google určitě poradí, na StackOverflow je toho o VBA mraky. |
Jakub Švejda Poslat zprávu | Profil |
[#6365]
| Publikováno:
06.11. 2017 - 08:24 Děkuji za reakci, zkusil jsem, snad jsem pochopil správně, ale výsledek je stále stejný. (Viz. orázek v příloze)
Dim Datum Zapsání do razítka: 'Pole zmen - DatumVytvoreniA Google zatím neporadil, nejspíše se špatně ptám. Zkusil jsem to tady, zda se tím někdo nesetkal. |
Ing Jan Cinert Poslat zprávu | Profil |
[#6368]
| Publikováno:
06.11. 2017 - 10:54 Zkuste tohle:
Private Sub CommandButton1_Click() |
Břeťa Doležal Poslat zprávu | Profil |
[#6380]
| Publikováno:
23.11. 2017 - 11:56 Pokud se nepodaří pomocí funkce Format, tak je možno si složit řetezec bez funkce. Myslím, že jde použít:
ale fci Format běžně používám bez problémů
|
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.