Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Produkt in einem Prozess austauschen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Produkt in einem Prozess austauschen (1937 mal gelesen)
ChristianWW
Mitglied
KONSTRUKTEUR/ CAM PROGRAMMIERER


Sehen Sie sich das Profil von ChristianWW an!   Senden Sie eine Private Message an ChristianWW  Schreiben Sie einen Gästebucheintrag für ChristianWW

Beiträge: 31
Registriert: 21.10.2013

Intel(R) Xeon(R) CPU E5-1650 0 @ 3.20GHz
Arbeitsspeicher 32 GB
Windows 7 Enterprise SP1 64Bit
NVIDIA Quadro 2000<P>Catia R26 V5-R62014 SP3 HF36

erstellt am: 27. Nov. 2014 13:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,
muss als erstes erwähnen das ich mich erst seit ca. 3 Monaten mit der programmierung von Catia Makros befasse.


1. Ich habe ein Produkt mit zwei Parts geöffnet.
2. Mit einem Makro wird ein Startprozess "Neu aus" geöffnet.

Problemstellung:

Nun möchte ich das das Produkt in der Aufspannung, durch das geöffnete Produkt ersetzt wird.

Hoffe ihr könnt mir weiterhelfen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joehz
Moderator
Freiberuflicher Konstrukteur


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 27. Nov. 2014 17:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ChristianWW 10 Unities + Antwort hilfreich

Zitat:

1. Ich habe ein Produkt mit zwei Parts geöffnet.

OK.

Zitat:

2. Mit einem Makro wird ein Startprozess "Neu aus" geöffnet.

Will sagen: Du legst ein neues CatPart an?

Zitat:

Problemstellung:
Nun möchte ich das das Produkt in der Aufspannung, durch das geöffnete Produkt ersetzt wird.

Hä? Welche Aufspannung? Ach ja! Du bist NC-Programmierer.

Frage: Geht das Interaktiv?
Wie schaut das Ergebnis vom Makro-Rekorder aus?

Ein paar Infos bräuchten wir schon noch.

Tschau,
Joe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianWW
Mitglied
KONSTRUKTEUR/ CAM PROGRAMMIERER


Sehen Sie sich das Profil von ChristianWW an!   Senden Sie eine Private Message an ChristianWW  Schreiben Sie einen Gästebucheintrag für ChristianWW

Beiträge: 31
Registriert: 21.10.2013

erstellt am: 28. Nov. 2014 07:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Offenes_Produkt.png


Startprocess.png

 
Hallo joehz,

ja ich bin NC-Programmierer und befasse mich neben CATPart , CATProduct , CATDrawing eben auch mit CATProcess.

Anbei das Makro welches verwendet wird um einen Startprocess(.CATProcess) aus einem Vorlagenmenü zu wählen.

Nochmal die Schritte:

1.Product mit z.B. zwei Part ist geöffnet.

2.Makro start ( Quellcode siehe hier. Keine Ahnung ob der Code so korrekt ist aber er funktioniert für unsere Arbeitsweise :-) )
##############################################################################################################################################################
Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents
Dim processDocument1 As Document


On Error Resume Next
Set activedoc = CATIA.ActiveDocument
If Err.Number <> 0 Then
MsgBox "Es ist kein Dokument geöffnet Makro wird beendet", 16
Exit Sub
End If

If InStr(CATIA.ActiveDocument.Name, ".CATProduct") < 1 Then
MsgBox "Active CATIA Document ist kein Produkt. öffnen Sie ein Produkt und versuchen Sie es erneut.", , msgboxtext
Exit Sub
End If

' Name und Speicherort merken
X1 = CATIA.ActiveDocument.Product.PartNumber
X2 = CATIA.ActiveDocument.FullName
     
        tstr = tstr & "*************************************************************" & vbCrLf
        tstr = tstr & "Kurze Erklärung" & " !!!  Bitte Lesen  !!!" & vbCrLf
tstr = tstr & "*************************************************************" & vbCrLf & vbCrLf & vbCrLf
        tstr = tstr & "1. Wichtig!!  Das Produkt muss aktiv sein" & vbCrLf
        tstr = tstr & "2. Alles muss gespeichert sein" & vbCrLf
tstr = tstr & "3. Es dürfen keine weiteren Catia Fenster geöffnet sein" & vbCrLf
tstr = tstr & "4. Sie können aus einer Startprocessvorlage wählen" & vbCrLf & vbCrLf
        tstr = tstr & "Moechten Sie jetzt fortfahren?" & vbCrLf & vbCrLf
        tstr = tstr & "JA = Fortfahren" & vbCrLf
        tstr = tstr & "NEIN = Abbrechen" & vbCrLf
       
tint = MsgBox(tstr, vbYesNo, "Automatisierte Process Erstellung für die NC-Programmierung")
        IF tint = VbNo then
        Exit sub
        end if
       
DasMenu = "Wähle eine Processvorlage durch Nummereingabe:" +Chr(10)+_
                  " "+Chr(10)+_
                  "1  =  STARTPROZESSTEMPLATE_001" '+Chr(10)+Chr(10)+_
               
antwort = InputBox(DasMenu,"Auswahl:")

if isnumeric(antwort) then

If antwort = 1 then Set processDocument1 = documents1.NewFrom("\V5_NC_STARTPROCESS\0000-00-00_000-00__FRP_STARTPROZESSTEMPLATE_________________001_--____.CATProcess")
'If antwort = 2 then Set processDocument1 = documents1.NewFrom("\V5_NC_STARTPROCESS\0000-00-00_000-00__FRP_STARTPROZESSTEMPLATE_________________002_--____.CATProcess")
'If antwort = 3 then Set processDocument1 = documents1.NewFrom("\V5_NC_STARTPROCESS\0000-00-00_000-00__FRP_STARTPROZESSTEMPLATE_________________003_--____.CATProcess")
    'If antwort = 4 then Set processDocument1 = documents1.NewFrom("\V5_NC_STARTPROCESS\0000-00-00_000-00__FRP_STARTPROZESSTEMPLATE_________________004_--____.CATProcess")

        Bock = MsgBox("Wollen Sie den Process speichern?", vbYesNo + vbInformation)
        If Bock = vbNo Then
        Exit Sub
        End if       

        Dim X2AB as String
        Dim FISL as String
Dim X2NEU as String

X2AB = Mid(X2, 4, 25)
FiSL = Instr(X2AB, "\")
X2NEU = left(X2AB,FiSL-1)

'Speicherfile nochmal anzeigen
        Myfile = InputBox("DL-Name zum speichern eingeben!" & Chr(10) & "Der DL-Name muss korrekt geschrieben sein, existieren und Sie müssen schreibrechte besitzen." & Chr(10) & "Geben sie nichts ein wird im V5_TRANSFER gespeichert.", "Speicherort", X2NEU, vbOK + vbInformation)
        If Myfile = "" Then Myfile = "V5_TRANSFER"

'Dokument speichern unter
        CATIA.ActiveDocument.SaveAs (Chr(1) & Chr(2) & "\" & Myfile & "\" & X1 & ".CATProcess")
        'MsgBox "Der Process wurde erfolgreich gepeichert unter: "& Chr(10)& Chr(10) & Myfile & Chr(10)& Chr(10) & X1 & ".CATProcess"

        end if
        End Sub

#########################################################################################################################################################################

3. Nach dem Makrolauf ist ein Startprocess(.CATProcess) geöffnet. Jetzt will ich eben noch das das Produkt im CATProcess ausgetauscht wird.
 
Habe mal ein Makro aufzeichnen lassen folgendes wurde aufgezeichnet:
Language="VBSCRIPT"

Sub CATMain()

Dim processDocument1 As Document
Set processDocument1 = CATIA.ActiveDocument

Dim product1 As CATBaseDispatch
Set product1 = processDocument1.GetItem("PPRProduct")

Dim products1 As Products
Set products1 = product1.Products

Dim product2 As Product
Set product2 = products1.Item("Item.1")

Dim products2 As Products
Set products2 = product2.Products

Dim product3 As Product
Set product3 = products2.Item("0000-00-00_000-00__FRP_STARTPROZESSTEMPLATE_________________001_--____.1")

products2.Remove product3

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As Document
Set partDocument1 = documents1.Item("0000-00-00_000-00__PRT_STARTPROZESSTEMPLATE_________________001_--____.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

Dim partDocument2 As Document
Set partDocument2 = documents1.Item("NC_PART_1.CATPart")

Dim part2 As Part
Set part2 = partDocument2.Part

Dim partDocument3 As Document
Set partDocument3 = documents1.Item("NC_PART_2.CATPart")

Dim part3 As Part
Set part3 = partDocument3.Part

End Sub


Wenn ich das aufgezeichnete Makro starten will bekomm ich eine Fehlermeldung. Habe so ein Gefühl wie wenn das was ich wünsche nicht umsetzbar ist 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joehz
Moderator
Freiberuflicher Konstrukteur


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 28. Nov. 2014 10:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ChristianWW 10 Unities + Antwort hilfreich

Hallo Christian,

ich hab zwar selbst ein paar Jahre NC-Programme geschrieben, allerdings noch unter V3 bzw. V4.
Von Prozessen versteh' ich nix.

Aber: Nach meinem Verständnis müsste ein aufgezeichnetes Makro, falls es unter den identischen Bedingungen wieder ausgeführt wird, zum gleichen Ergebnis kommen.

War das der Fall? Die gleichen Dateien/Prozesse offen/aktiv ...?

Und wie war die Fehlermeldung?

Nur so'n Gedanke. Wie gesagt, bei Prozessen bin ich Bäcker. :-)

Tschau,
Joe


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianWW
Mitglied
KONSTRUKTEUR/ CAM PROGRAMMIERER


Sehen Sie sich das Profil von ChristianWW an!   Senden Sie eine Private Message an ChristianWW  Schreiben Sie einen Gästebucheintrag für ChristianWW

Beiträge: 31
Registriert: 21.10.2013

erstellt am: 01. Dez. 2014 09:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo joehz,

das Makro habe ich unter gleichen Bedingungen nochmal ausgeführt allerdings komme ich nicht mehr zum gleichen Ergebnis.
Das ganze ist glaub ich komplexer als erwartet.

Trotzdem Danke für deine Ideen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joehz
Moderator
Freiberuflicher Konstrukteur


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 01. Dez. 2014 13:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ChristianWW 10 Unities + Antwort hilfreich

Hallo Christian,

hast Du mal probiert das Makro nochmal aufzuzeichnen,
per Catia-Undo zurückzugehen und das Makro ablaufen zu lassen?

Eigentlich muss das funktionieren.

Tschau,
Joe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

joehz
Moderator
Freiberuflicher Konstrukteur


Sehen Sie sich das Profil von joehz an!   Senden Sie eine Private Message an joehz  Schreiben Sie einen Gästebucheintrag für joehz

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 01. Dez. 2014 13:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für ChristianWW 10 Unities + Antwort hilfreich

Hallo Christian,

noch was anders:
Beim Abspeichern verwendest Du die Anweisung:

Code:

CATIA.ActiveDocument.SaveAs (Chr(1) & Chr(2) & "\" & Myfile & "\" & X1 & ".CATProcess")

Chr(1) oder Chr(2) hab ich in gut 20 Jahren VB-Praxis nie verwendet (ausser vielleicht bei Modems).
Das sind Steuerzeichen.
Was machen die in einem String?

Tschau,
Joe

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ChristianWW
Mitglied
KONSTRUKTEUR/ CAM PROGRAMMIERER


Sehen Sie sich das Profil von ChristianWW an!   Senden Sie eine Private Message an ChristianWW  Schreiben Sie einen Gästebucheintrag für ChristianWW

Beiträge: 31
Registriert: 21.10.2013

erstellt am: 03. Dez. 2014 10:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo joehz,

das darfst du mich nicht Fragen. Das sind noch Überbleibsel von meinem vorhergehenden Arbeitskollegen.

Denke aber das dies die Vorzeichen unseres Fileservers sind. 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz