Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Vytvořit téma
Koncepty
Seznam oblíbených
Soukromé zprávy
Pravidla
Live CHAT
VIP žádost
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

Svary - vložení a editace ve výkresu

UživatelPříspěvek
Josef Landa

Poslat zprávu | Profil
Datum: 8.11. 2013 | Zobrazeno: 11028x
Konfigurace CATIA: V5R20

Text dotazu:
Dobrý den,
chtěl bych udělat makro na vložení svaru a následnou editaci.
dle V5Automation.chm jsem se dopracoval k tomuto:


Dim DrwDocument As DrawingDocument
Dim drwsheets As DrawingSheets
Dim drwsheet As DrawingSheet
Dim drwviews As DrawingViews
Dim drwview As DrawingView
Dim DrwWelding As DrawingWeldings
Dim DrwWeld As DrawingWelding

Set DrwDocument = CATIA.ActiveDocument

Set drwsheets = DrwDocument.Sheets
Set drwsheet = drwsheets.Item(1)

Set drwviews = drwsheets.Item(1).Views
Set drwview = drwviews.Item("Front view")

Set DrwWelding = drwview.Weldings
Set DrwWeld = drwview.Weldings.Add(catCFlangeWelding, -3540#, -8010#) 'pridat svar

'texty značky svaru
DrwWeld.GetTextRange(catWeldingFieldOne).Text = "1"
DrwWeld.GetTextRange(catWeldingFieldTwo).Text = "2"
DrwWeld.GetTextRange(catWeldingFieldThree).Text = "3"
DrwWeld.GetTextRange(catWeldingFieldFour).Text = "4"
DrwWeld.GetTextRange(catWeldingFieldFive).Text = "5"
DrwWeld.GetTextRange(catWeldingFieldSix).Text = "6" 'nezobrazuje se => pouzit pro informace o pozicich
DrwWeld.GetTextRange(catWeldingFieldSeven).Text = "7" 'nezobrazuje se => pouzit pro informace o pozicich

MsgBox DrwWeld.GetTextRange(catWeldingFieldOne).Text 'rozmer svaru (např. a4)
MsgBox DrwWeld.GetSymbol(catFirstWelding) 'znacka svaru


Takže vložit text a následně ho i zjistit pomocí funkce:
DrwWeld.GetTextRange(catWeldingFieldOne).Text

mi jde bezproblémů ale symbol svaru dokážu pouze zjistit takto:
DrwWeld.GetSymbol(catFirstWelding)

kde se mi ukáže hodnota 1 atd. což je index značky svaru.
Poradíte mi prosím jakým způsobem mohu značku svaru změnit/zadat?

Ing Jan Cinert

Poslat zprávu | Profil
[#4258] | Publikováno: 08.11. 2013 - 10:52
K tomu bude sloužit některá z metod objektu Drawing welding, viz výřez dokumentace k API

Přiložené obrázky:

Josef Landa

Poslat zprávu | Profil
[#4259] | Publikováno: 08.11. 2013 - 11:22
snažil sem se o to ještě dříve, než nem se zeptal.
když chci zadat symbol svaru, tak mi vba našeptávé tento kod:
DrwWeld.GetSymbol(catFirstWelding) = catHUGrooveWelding

ten mi pak ale nejde a napiše hlášku: must return Variant or Object
agaragar

Poslat zprávu | Profil
[#4265] | Publikováno: 08.11. 2013 - 14:46
Zdravím, mňa by zujímalo čo znamenajú tie mriežky pri tých číslach.

Set DrwWeld = drwview.Weldings.Add(catCFlangeWelding, -3540#, -8010#) 'pridat svar

Vďaka
Ing Jan Cinert

Poslat zprávu | Profil
[#4266] | Publikováno: 08.11. 2013 - 14:57
GetSymbol je evidentně pro zjištění symbolu svaru, pro zadání bude SetSymbol, tu syntaxi máte špatně. podívejte se pořádně do dokumentace k API, je to tam docela dobře popsané.

PS: Pro Agaragar - ta čísla jsou souřadnice pozice vložení, ale ty mřížky tam nemají co dělat. Už jsem to někde viděl, nevím jestli to nedělá rekordér...

Přiložené obrázky:

agaragar

Poslat zprávu | Profil
[#4268] | Publikováno: 08.11. 2013 - 16:29
A ešte pod dotaz, je najká možnosť ako nezadávať absolútne hodnoty súradníc ale relatívne?

Ďakujem
Ing Jan Cinert

Poslat zprávu | Profil
[#4269] | Publikováno: 08.11. 2013 - 17:07
Relativně vůči čemu?
agaragar

Poslat zprávu | Profil
[#4270] | Publikováno: 08.11. 2013 - 17:34
Napríklad,

že vytvorim bod niekde v priestore a bez toho aby som poznal jeho absolútne súradnice voči stredu by som ho chcel posunul o 100mm v osi X a 200mm v osi Y a 300mm v osi Z napríklad.
Ing Jan Cinert

Poslat zprávu | Profil
[#4271] | Publikováno: 08.11. 2013 - 19:41
Musíte vycházet z toho nabízí Catia. Tam to jde jen o bodu, který je zadaný nějakými souřadnicemi. Pak samozřejmě lze přidat k jednotlivým složkám libovolnou hodnotu.
Bod.X += 10 ' posunuti bodu o 10 ve smeru x 
Fojman

Poslat zprávu | Profil
[#4781] | Publikováno: 20.10. 2014 - 20:22
Zkouším načítat všechny svary v jednom pohledu, ale výsledky jsou zvláštní a nepředvídatelné, až mám pocit, že příkaz DrawingWeldings nefunguje správně - na začátku vytvořím prázdný pohled. Přidám dejme tomu 5 svarů, spustím makro a to vyhodí hlášku, že v pohledu je 5 svarů. Přidám tedy další tři svary (nebo třeba 2 smažu) do pohledu, spustím makro a to vyhodí počet svarů stále jako 5. Tak vše z pohledu smažu a nechám jen prázdný pohled - znovu spustím a stále zobrazuje počet jako 5... nechápu.


Sub CATMain()

Dim MyView As DrawingView
Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.ActiveView
Dim Svary As DrawingWelding
MsgBox ("Počet svarů je " & MyView.Weldings.Count)

End Sub


Napadá mě, zda proměnné z makra nějak nezůstávají po jeho skončení v paměti a při dalším spuštění nějak neovlivňují další běh programu. Jak tedy "refreshnout" stav před dalším spuštěním makra, či donutit Catii aby vytvořila novou kolekci svarů? Nebo kde jdělám chybu? Děkuji
ps: "svarem" mám namysli "welding symbol" na výkresu.
Josef Landa

Poslat zprávu | Profil
[#4782] | Publikováno: 20.10. 2014 - 20:42
Já už si to moc nepamatuju, ale měl sem ten samej problem. Myslím, že sem to vyřešil, tím, že sem i svary vytvářel programem. Komplet celou znacku sem poskládal a pak ten svar v pohledu byl. Aby to bylo OK, tak komplet programem svary vytvářet, načítat a mazat, pak to je spolehlivé.
Řešil sem to dost dlouho.
Fojman

Poslat zprávu | Profil
[#4783] | Publikováno: 20.10. 2014 - 20:49
To jste mne nepotěšil:( Toho jsem se bál. Já bych rád docílil načtení a exportu právě oněch manuálně naklikaných svarů.
Josef Landa

Poslat zprávu | Profil
[#4784] | Publikováno: 20.10. 2014 - 21:09
Já to nevyřešil, možná že tu někdo poradí, já rezignoval a celou značku svaru sem skládal a byla to fuška, ale zase do značky sem si zapsal spoustu věcí navíc, které jsou potřeba pro svařovací tabulky a nejsou vidět na výkrese. Jako třeba mezi jekejma pozicema svar je, jake tlostky svaruju, jakou metodou a jaké materiály svařuju.
Catia, vytváří welding symbol, ale já když zadavam v programu tak vytvářím Welding a ty pak i načtu.
Tam se podle mě trošku kříží pojmy a dojmy :-)
Snad poradi někdo více zkušený...


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.