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

Existing Component ze šablony

UživatelPříspěvek
Tomáš Ludvík

Poslat zprávu | Profil
Datum: 25.6. 2018 | Zobrazeno: 7559x
Konfigurace CATIA: V5-6R2016, CAC+FPE+MCE

Text dotazu:
Dobrý den,
poradíte mi prosím jak do makra zadat konkrétní cestu na soubor pro příkaz "Existing Component..." ?


Attribute VB_Name = "New_from_TEMPLATE_into_slected_product"
Sub CATMain()

Set oSel = CATIA.ActiveDocument.Selection

If oSel.Count = 0 Then

MsgBox ("Vyber product pro vlozeni noveho partu!")

Exit Sub

End If

CATIA.StartCommand ("Existing Component...") (CESTA NA KONKRÉTNÍ SOUBOR)

End Sub

Pavel Krsek

Poslat zprávu | Profil
[#6505] | Publikováno: 25.06. 2018 - 10:43
... pokud to jde jinak, tak bych osobně příkazy typu CATIA.StartCommand nevolil, ale např.:

Dim oProduct As Product

oProduct = oSelection.Item(1).Value
Dim var1 ( 0 )
var1 ( 0 ) = "... cesta.... "
oProduct.Products.AddComponentsFromFiles var1, "All"
Ing Jan Cinert

Poslat zprávu | Profil
[#6506] | Publikováno: 25.06. 2018 - 12:37
Přesně tak, příkaz StartCommand ... vám pouze otevře Catiovské okno s výběrem dokumentu. V něm byste musel zadal cestu a název souboru a pak ho odesláním stisku Enter musel potvrdit. Komplikované, ne-li nemožné ...

Snippet pana Krska je OK, předpokládá celou cestu k souboru. Musí se použít pole, i v případě, že vkládáte pouze jeden dokument.
Tomáš Ludvík

Poslat zprávu | Profil
[#6507] | Publikováno: 25.06. 2018 - 15:25
Díky za odpovědi,
bohužel mě to ani tak nefunguje, můžete mě na to prosím mrknout co tam mám špatně ?


Attribute VB_Name = "Existing_component_Part_D"
Sub CATMain()
Set oSel = CATIA.ActiveDocument.Selection
If oSel.Count = 0 Then
MsgBox ("Vyber product pro vlozeni noveho partu!")
Exit Sub
End If
Dim oProduct As Product
oProduct = oSelection.Item(1).Value
Dim var1 ( 0 )
var1 ( 0 ) = "U:\CAD_Support\Sablony_D\CATIA\Makra_D\Templates\Part_D.CATPart"
oProduct.Products.AddComponentsFromFiles var1, "All"
End Sub
Ing Jan Cinert

Poslat zprávu | Profil
[#6508] | Publikováno: 26.06. 2018 - 13:45
1) Jednou tam máte oSel a podruhé oSelection.....

2) Při přiřazení proměnné do objektu musí být u CAT/VBA skriptů klíčový výraz Set, takže bude Set oProduct...

Pan Krsek to má psané v .NET, kde už se to uvádět nemusí...

Opravte - jinak to funguje.


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.