Hallo,
ich möchte im Produkt Komponenten aktivieren/deaktivieren.
Das ganze soll ausgehend von einem Makro mit Argumenten laufen, welches in einem Adapterpart hängt.
Das ganze klappt, bis zu dem Punkt, an dem ich den Parameterwert des Component Activation State-Parameters eines Parts ändern möchte.
Anbei mein Skript - vielleicht kann da jemand weiterhelfen. Die mit Smileys markierte Zeile erzeugt den Fehler.
Set mypart = PN
Set einbau = mypart.Parent.Parent
set paras = mypart.parameters
For each para in paras
if instr(para.name, "A_") <> 0 then
set p = para
laenge_p_name = len(p.name)
p_name = mid(p.name, 3, laenge_p_name)
Call Einbau_oeffnen(einbau, p_name, p)
end if
Next
End Sub
'**********************************************************************
Sub Einbau_oeffnen (einbau, p_name, p)
Set myroot = einbau
Set temp = myroot.ReferenceProduct.Parent
Set doc = CATIA.Documents.Open(einbau.ReferenceProduct.Parent.FullName)
doc.activate
Set myroot = doc.product
Call Struktur_durchsuchen (myroot, p_name, p)
doc.close
End Sub
'**********************************************************************
Sub Struktur_durchsuchen (myroot, p_name, p)
For each myprod in myroot.Products
if right(myprod.ReferenceProduct.Parent.Name, 10) = "CATProduct" then
set myroot = myprod
Call Struktur_durchsuchen (myroot, p_name, p)
else
if myprod.PartNumber = p_name then
if p.value = false then
For each para in myprod.Parameters
if instr(para.name, "Component Activation State") <> 0 then
Set p = para
msgbox p.name & vbnewline & p.valueasstring
p.value = False
end if
Next
Exit For
end if
end if
end if
Next
End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP