Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro starten in Produktstruktur und separaten Fenster

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:  Makro starten in Produktstruktur und separaten Fenster (3562 mal gelesen)
Hezarfen
Mitglied
Konstrukteur


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

Beiträge: 42
Registriert: 30.11.2005

Catia V5 R16 SP5

erstellt am: 26. Sep. 2007 11:28    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,

ich habe eine Frage, ich möchte gerne in einer Produktstruktur, in einem Part einen Parameter ändern. Die Änderung des Parameters startet ein Marko in diesem part.

--Produkt
    >--Produkt
        >-Part

Das Makro läßt sich jedoch nur starten, wenn ich den Part separat im Fenster geöffnet habe. Ich möchte jetzt auch, das dieses Makro auch startet, wenn ich in der geladenen Produktstruktur den Parameter ändere. Ist es möglich, dass in beiden Fällen das Makro startet. Das heisst, einmal in einem separaten Fenster und in der Produktstruktur?

Makrocode (Anfang):

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As Document
Set partDocument1 = documents1.Item(DataName)

Dim part1 As Part
Set part1 = partDocument1.Part
Set parameters1 = part1.Parameters

Ich hoffe auf eure Hilfe!

Gruß
Hezarfen

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 26. Sep. 2007 12:16    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 Hezarfen 10 Unities + Antwort hilfreich

Hallo,
wo genau befindet sich denn der Parameter? Im Produkt selber oder im Part? Um einen Part-Parameter zu ändern muss das Part angesprochen werden - also so, wie es jetzt schon gemacht wird. befindet sich der Parameter im Produkt, muss logischer Weise dieses angesprochen werden.

SG

Jens Hansen

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

Hezarfen
Mitglied
Konstrukteur


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

Beiträge: 42
Registriert: 30.11.2005

Catia V5 R16 SP5

erstellt am: 26. Sep. 2007 13:24    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 Jens,

es handelt sich hierbei um ein Part-Parameter. Falls ich das Part im separaten Fenster geladen habe funktioniert das Makro. Aber sobald ich in der Produktstruktur diesen Part-Parameter veränder, zeigt es mir eine Fehlermeldung bei der Zeile
Set part1 = partDocument1.Part
Ich denke in der Produktstruktur muss man noch das Produkt (in der das Part liegt) irgendwie deklarieren. Ich will allerdings auch noch, dass das Makro unabhängig von der Produktstruktur funktioniert. Ist das denn möglich?

Nochmal die 2 Möglichkeiten:
Version 1 (im separaten Fenster)
Part1
  >-Parameter

Version 2 (in der Produktstruktur)
Produkt1
>-Produkt2
    >-Part1
      >-Parameter

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 01. Okt. 2007 14:51    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 Hezarfen 10 Unities + Antwort hilfreich

Hallo Herzafen,

ich denke Dein Problem hängt mit

Code:
Set partDocument1 = documents1.Item(DataName)

zusammen. Was ist denn bei Dir "DataName"?. Hier sollte entweder der Index des Parts angegeben werden, was wahrscheinlich eher schwierig ist, oder der Dateiname des Parts.

Damit das Makro sowohl in einer Produktstruktur als auch im Einzelteil läuft, könntest Du zu Beginn mit

Code:
sDocType = TypeName(CATIA.ActiveDocument)

den Dokumenttyp ermitteln und abhängig vom Ergebnis (PartDocument oder ProductDocument) die entsprechenden Deklarationen für Einzelteil oder Produkt vornehmen.

Gruß, Alex

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

Hezarfen
Mitglied
Konstrukteur


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

Beiträge: 42
Registriert: 30.11.2005

Catia V5 R16 SP5

erstellt am: 02. Okt. 2007 14:32    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 Alex,

danke für deine Hilfe.
DataName war bei mir eine Function, die mir den Datei/Part Namen herausliest. Ich habe nun mein Makro entsprechend verändert, jedoch verstehe ich das nicht ganz. Wie kann ich nun auf ein Part im Produkt zugreifen. Wenn ich in der Produktstruktur in ein part rein gehe und in ihm ein Parameter veränder, sollte das Makro (im part) starten. Unten steht der code, der funktioniert nur wenn ich das part separat offen habe. In der Produktstruktur muss ich irgendwie noch den Part anwählen, oder wird der nicht automatisch angewählt wenn ich in der Produktstruktur in den part reingehe und den makro starte?

-Produkt
  >-Part
      >-Makro

Sub Main

sDocType = TypeName(CATIA.ActiveDocument)
'hier lese ich haraus um was für ein Dokumenttyp mein ActiveDokument ist

Dim MyDocument As Document
Set MyDocument =  CATIA.ActiveDocument

Dim PP As sDocType
Set PP = MyDocument.Part 'part?!

Set parameters1 = PP.Parameters

Set ParameterXY1 = parameters1.Item("Parameter name 1")
Set ParameterXY2 = parameters1.Item("Parameter name 2")

ParameterXY1_Status=ParameterXY1.Value
ParameterXY2_Status=ParameterXY2.Value

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = PP.HybridBodies

....

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

BigCheese
Mitglied
Dipl-Ing


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

Beiträge: 130
Registriert: 12.05.2004

CATIA V5R19 SP3

erstellt am: 02. Okt. 2007 16:30    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 Hezarfen 10 Unities + Antwort hilfreich

Hallo nochmals,

das Problem ist, dass Dein aktives Dokument das Produkt ist, egal ob Du Dich nun in dem CATPart befindest oder nicht. Dein aktives Dokument ist der oberste Knoten des Baumes...
Zur Unterscheidung könnte ich mir das in etwa wie folgt vostellen:

Code:
Select Case sDocType
    Case "PartDocument"
        Set oPart = CATIA.ActiveDocument.Part
    Case "ProductDocument"
        Set oPartDocument = CATIA.Documents.Item(DataName)
        Set oPart = oPartDocument.Part   
    Case Else
        i = MsgBox("Der Dokumenttyp konnte nicht ermittelt werden oder ist nicht geeignet!", vbCritical, "Fehler")
        Exit Sub
End Select

Ich hoffe, das hilft Dir weiter.

Grüße, Alex

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

Hezarfen
Mitglied
Konstrukteur


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

Beiträge: 42
Registriert: 30.11.2005

Catia V5 R16 SP5

erstellt am: 04. Okt. 2007 11:36    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 Alex,

vielen Dank, du hast mir sehr geholen, ...es klappt! 

Gruß
Hezarfen

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

AndiKrue
Mitglied
Berater


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

Beiträge: 72
Registriert: 04.12.2008

Windows XP Prof x64 Edition
Intel Xeon W3520 @ 2.67 GHz
8 GB RAM,
Nvidia Quadro FX 1800
CATIA V5R19

erstellt am: 23. Jan. 2009 11:34    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 Hezarfen 10 Unities + Antwort hilfreich

Wie bekommt man denn den Namen des aktiven Parts im Product? Also wie funktioniert dein DataName? Oder regel ich das über eine Userselection?

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

denyo_1
Moderator
Manager


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

Beiträge: 2506
Registriert: 10.08.2005

HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3

erstellt am: 23. Jan. 2009 11:43    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 Hezarfen 10 Unities + Antwort hilfreich

Hallo Andi,

den Namen des aktiven Parts in einer Produktstruktur bekommt man nur über eine Selektion raus. Hier wird halt der Variable DataName der Dateiname des Parts zugewiesen das angesprochen werden soll. Dieses wird den in den Documents.Items direkt angesprochen

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

AndiKrue
Mitglied
Berater


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

Beiträge: 72
Registriert: 04.12.2008

Windows XP Prof x64 Edition
Intel Xeon W3520 @ 2.67 GHz
8 GB RAM,
Nvidia Quadro FX 1800
CATIA V5R19

erstellt am: 23. Jan. 2009 11:46    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 Hezarfen 10 Unities + Antwort hilfreich

Ok schade, ansonsten wärs auch zu einfach für den Anwender des Makros -.-
Aber danke für deine schnellen Antworten!

[Diese Nachricht wurde von AndiKrue am 23. Jan. 2009 editiert.]

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