Autor
|
Thema: MO auslesen (1049 mal gelesen)
|
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008 V5R20SP5-64bit XP 64bit, Dual-Xeon 2.66Ghz, 24GB Ram AM2
|
erstellt am: 13. Nov. 2009 12:45 <-- editieren / zitieren --> Unities abgeben:
Hi Forum, ich möchte mit der Maus eine MachiningOperation (MO) anklicken und per VBA den Namen auslesen. Irgendwie klappt das aber nicht so recht. Kann mir einer dabei mal helfen? Gruß, Gregor
------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 14. Nov. 2009 14:12 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
|
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008
|
erstellt am: 16. Nov. 2009 07:37 <-- editieren / zitieren --> Unities abgeben:
Moin, Fehlermeldungen habe ich keine. Hier ist der aktuelle Code:
Code: Private Sub gezielt_Click() UserForm1.Hide Dim arrOfVariant(0) As Variant Dim manuProgWork As manufacturing.ManufacturingProgram Dim mfgActsWork As manufacturing.MfgActivities Dim mfgOpWork As manufacturing.ManufacturingOperation Dim objBuffer As Object Dim selWork As INFITF.Selection Dim sStatus As String arrOfVariant(0) = "ManufacturingOperation" Set selWork = CATIA.ActiveDocument.Selection Rem Zielprogramm anklicken Set objBuffer = selWork sStatus = objBuffer.SelectElement2(arrOfVariant, "Bitte Operation selektieren", True) If Not sStatus = "Normal" Then Exit Sub End If 'Jetzt soll der Name der angeklickten MO ausgelesen und angezeigt werden '... end sub
------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 16. Nov. 2009 11:06 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
|
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008
|
erstellt am: 16. Nov. 2009 12:36 <-- editieren / zitieren --> Unities abgeben:
Warum ich zwei Variablen dafür habe? Mmmhh, du hast recht... Seltsam. Ich bekomme jetzt die Fehlermeldung: "Das Verfahren Item ist fehlgeschlagen" (Run-time error) Code: Private Sub gezielt_Click() UserForm1.Hide Dim arrOfVariant(0) As Variant Dim manuProgWork As manufacturing.ManufacturingProgram Dim mfgActsWork As manufacturing.MfgActivities Dim mfgOpWork As manufacturing.ManufacturingOperation Dim objBuffer As Object Dim selWork As INFITF.Selection Dim sStatus As String arrOfVariant(0) = "ManufacturingOperation" Set selWork = CATIA.ActiveDocument.Selection Rem Zielprogramm anklicken Set objBuffer = selWork sStatus = objBuffer.SelectElement2(arrOfVariant, "Bitte Operation selektieren", True) If Not sStatus = "Normal" Then Exit Sub End If'Jetzt soll der Name der angeklickten MO ausgelesen und angezeigt werden '... wert=objbuffer.item(1).value.name end sub
------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008 V5R20SP5-64bit XP 64bit, Dual-Xeon 2.66Ghz, 24GB Ram AM2
|
erstellt am: 19. Nov. 2009 09:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Problem habe ich nun gelöst. Jetzt stellt sich mir die Aufgabe, eine MO (deren Namen ich kenne), im PPR-Tree zu suchen, auszuwählen und an eine bestimmte Stelle umbenannt zu kopieren.
------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 19. Nov. 2009 09:58 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
Ich würde das über eine Suchabfrage machen, geht einfach und schnell. Möglicher Suchstring: Name='xy',all Alternativ: Rekursiv den Strukturbaum durchlaufen und deine gesuchte MO suchen. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008
|
erstellt am: 19. Nov. 2009 14:06 <-- editieren / zitieren --> Unities abgeben:
Per manueller Sucher im Strukturbaum habe ich die Position gefunden (sie ist übrigens immer gleich). Jetzt habe ich eine Variable, in der der Name steht Nullpunkt=Manu.ChildrenActivities.Item(3).Name Wie kann ich jetzt die MO (also Manu.ChildrenActivities.Item(3)) kopieren ?
------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 19. Nov. 2009 15:52 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
|
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008
|
erstellt am: 27. Nov. 2009 21:49 <-- editieren / zitieren --> Unities abgeben:
So, jetzt bin ich um einiges schlauer. Ich habe die zu kopierende MO selektiert und kopiert. Beim pasten möchte ich vorher noch die Zielposition anklicken können. Momentan wird direkt nach der "Quelle" die neue MO eingefügt. Eine neue Selektion wird nicht abgearbeitet... ------------------ Wer bin ich? Und wenn ja: wieviele? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Starbirth Mitglied Konstrukteur
Beiträge: 119 Registriert: 22.10.2009 Catia V5-6 R24 Windows 7 64bit Intel Xeon (4x3,5GHz) 32B Ram Nvidia Quatro K4200
|
erstellt am: 30. Nov. 2009 09:44 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
Moin. Die Struktur ist da ein wenig sperrig. Hatte das "Problem" letztens erst selber. Um ein Element X von A nach B zu kopieren musst du folgendes durchführen: Element "X" in "A" einer Selection hinzufügen -> Selection.Add X Selection.Copy Selection frei räumen ->Selection.Clear Zielort "B" der Selection hinzufügen -> Selection.Add B (das dürfte sich dann auch aus einer UserSelection erledigen lassen) Selection.Paste Entspricht im Ablauf etwa dem was man per Hand in Catia erledigen würde. So hab ich es mir recht gut merken können. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bappnaas Mitglied CNC-Programmierer
Beiträge: 62 Registriert: 25.08.2008
|
erstellt am: 30. Nov. 2009 15:24 <-- editieren / zitieren --> Unities abgeben:
|
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 30. Nov. 2009 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für Bappnaas
Such mal im Forum nach dieser Thematik, da wirst du hilfreiche Themen finden. Du kannst dazu auch mal den Makrorekorder verwenden. Vielleicht wird dir einiges klarer wenn du es erst mal manuell machst. grüße Dominik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |