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

Makro pro výpis parametrů z pártů v sestavě do excelu

UživatelPříspěvek
danikv

Poslat zprávu | Profil
Datum: 1.10. 2013 | Zobrazeno: 10350x
Konfigurace CATIA: V5

Text dotazu:
Dobrý den, prosim o radu. Upravuji makro pro výpis parametrů z pártů v
sestavě do excelovské tabulky. Bez problému mi funguje výpis
standardních parametrů jako Part Number, Nomenclature... ale na
přidané vlastnosti (Added Properties) makro nereaguje. Prosím poraďte.

for i=1 to prod.count
for j=1 to sel.count
if prod.item(i).name=sel.item(j).reference.name then
k=k+1
tab(1,k)=prod.item(i).PartNumber
tab(2,k)=sel.item(j).reference.name
tab(3,k)=prod.item(i).DescriptionRef
tab(4,k)=1
tab(5,k)=prod.item(i).AddedParameters.Hmotnost
end if
next
next

Ing Jan Cinert

Poslat zprávu | Profil
[#4143] | Publikováno: 01.10. 2013 - 13:05
Dobrý den,

makro ani reagovat nemůže, protože takhle to není správně. PartNumber, Description atd jsou vlastnosti produktu, proto se k nim dá přistupovat takto, ale AddedProperties jsou dostupné pouze přes svůj název v kolekci Parameters, což je další vlastnost Produktu. Nevím kde jste na tohle přišel :-)

Takže takhle:
tab(5,k)=prod.item(i).Parameters.Item("Hmotnost").ValueAsString

a ješte by to chtělo ošetřit případy, kdy AddedProperty neexistuje - jinak makro "shoří" na runtime exception.
danikv

Poslat zprávu | Profil
[#4145] | Publikováno: 02.10. 2013 - 07:22
Díky moc, funguje to. Můžete mi ještě poradit, jak ošetřit tu neexistenci parametru Hmotnost? Předpokládám nějakou podmínkou if-then. Děkuji
Ing Jan Cinert

Poslat zprávu | Profil
[#4146] | Publikováno: 02.10. 2013 - 08:30
To je podle toho v čem píšete...

Já ve VB.NET používám Try - Catch, v kódu pak
Try 

'příkaz, kde může být chyba
Catch e As Exception
' tady může být např. chybová hláška, že se něco nepodařilo (nebo nic)
Finally
'tohle se provede v každém případě
End Try

u VB6 se dá použít např.
On Error Resume Next 

'příkaz, kde může být chyba

nebo
On Error Goto ErrHandler:

příkaz, kde může být chyba
Exit Sub
ErrHandler:
'kód při chybě
Resume Next
End Sub

...nebo si to můžete vygooglit, je to popsané všude.


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.