hallo,
leider komme ich mit meinem skript nicht weiter. ich möchte gerne ein selektiertes objekt (in diesem fall z.b. konturfräsen) abfragen und mir den dazugehörigen fräser mit name und durchmesser bekommen.
leider funktioniert bei mir nur die selektion und nur die abfrage durch den strukturbaum. im ersten teil wird das selektierte (angeklickte) objekt angezeigt und im zweiten teil läuft das skript durch den ganzen prozess und gibt alle fräser aus.
kann mir jemand helfen die verknüpfung hinzubekommen?
hier das skript:
Language="VBSCRIPT"
Sub CATMain()
Dim MfgDoc
MfgDoc = Empty
On Error Resume Next
Set MfgDoc = CATIA.ActiveDocument
Set mySelection = MfgDoc.Selection
number = mySelection.Count
'msgbox "Number of elements in the selection = " & Cstr(number)
for i=1 to number
Set currentElement = mySelection.Item(i)
'Hier erscheint der angeklickte Name der Operation:
MsgBox currentElement.Value.Name,0
'msgbox "Loop on element " & i
next
' Retrieve current Process Root
Dim ActivityRef
Set ActivityRef = MfgDoc.GetItem("Process")
If (ActivityRef.IsSubTypeOf("PhysicalActivity")) Then
Dim childs
Set childs = ActivityRef.ChildrenActivities
Dim I
For I=1 To childs.Count
Dim child
Set CurrentSetup = childs.Item(I)
If (CurrentSetup.IsSubTypeOf("ManufacturingSetup")) Then
Set ProgramList = CurrentSetup.Programs
NumberOfProgram = ProgramList.Count
For J = 1 To NumberOfProgram
Set CurrentProgram = ProgramList.GetElement(J)
Set ActivityList = CurrentProgram.Activities
NumberOfActivity = ActivityList.Count
For K = 1 To NumberOfActivity
Set CurrentActivity = ActivityList.GetElement(K)
ActivityName = CurrentActivity.Name
ActivityType = CurrentActivity.Type
If (ActivityType = "ToolChange" Or
ActivityType = "ToolChangeLathe") Then
Set CurrentAssembly = CurrentActivity.ToolAssembly
AssemblyNumber = CurrentAssembly.Number
Dim Attribut
Set Attribut = CurrentAssembly.getAttribute("MFG_NAME")
AssemblyName = Attribut.Value
Set CurrentTool = CurrentActivity.Tool
ToolNumber = CurrentTool.Number
ToolName = CurrentTool.Name
MsgBox ToolName,0
End If
Next
Next
End If
Next
End If
End Sub
vielen dank im voraus.
Eremit
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP