Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Neues Part als CATIA.ActiveDocument

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:  Neues Part als CATIA.ActiveDocument (1526 mal gelesen)
AlfaRomeo75
Mitglied
Dipl.Ing. - Flächenkonstrukteur/Methodenplaner


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

Beiträge: 174
Registriert: 06.12.2004

-----------------
Windows XP professional Version2002
Service Pack 2
-----------------
CATIA V5 R16 SP5
-----------------
Intel Pentium 4 3,4GHz
4 GB RAM
-----------------

erstellt am: 18. Aug. 2005 10: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

Hallo,
hab da mal wieder ein Problem:
Ich möchte ein neues Part erzeugen in dem bspw. ein geöffneter Körper erzeugt wird, welcher anschliessend ausgeblendet werden soll (Nur ein Beispiel!)
Das Problem ist, daß bei der Erzeugung eines neuen Parts die Methode ActiveDocument fehlschlägt! (vermutlich weil ja noch kein Dokument aktiv ist!)?
Also wie deklarieren ich ein Neues bei Makrostart noch nicht existierendes Part als CATIA.ActiveDocument?

Wahrscheinlich eine Anfängerfrage aber bislang habe ich immer nur Makros geschrieben die sich auf bereits geöffnete Part bezogen haben.

Hier noch der Bsp.Code:

Sub CATMain()

  Dim documents1 As Documents
  Set documents1 = CATIA.Documents
 
  Dim partDocument1 As Document
  Set partDocument1 = documents1.Add("Part")
 
  Dim part1 As Part
  Set part1 = partDocument1.Part
 
  Dim hybridBodies1 As HybridBodies
  Set hybridBodies1 = part1.HybridBodies

  Dim OpenBody1 As HybridBody
  Set OpenBody1 = hybridBodies1.Add()
  OpenBody1.Name = "xyz"

  Dim NameOpenBody1
  NameOpenBody1 = OpenBody1.Name
  Dim Selection1 as Selection
  Set Selection1 = CATIA.ActiveDocument.Selection
  Selection1.Clear
  Selection1.Add (NameOpenBody1)
 
  Set visPropertySet1 = Selection1.VisProperties
  visPropertySet1.SetShow 1

  part1.Update
 
  End Sub

Vielen Dank im Vorraus!

Gruß
Thomas


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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 19. Aug. 2005 06:41    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 AlfaRomeo75 10 Unities + Antwort hilfreich

Hallo,

dein Code hat in folgender Zeile einen Fehler:

Selection1.Add (NameOpenBody1)

richtig wäre :  Selection1.Add (OpenBody1)

Bei mir läuft dein Script?!

Zur Erklärung: Wenn du ein neues Part oder Product erzeugst, wird dieses im Normalfall (ausser du verhinderst es) in einem neuen Fenster, welches dann auch das aktive Fenster ist, geöffnet und ist damit automatisch das Catia.ActiveDocument.

Falls es noch Probleme gibt, melde dich noch mal.

Gruss
TomTom

------------------
tomtom1972

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

AlfaRomeo75
Mitglied
Dipl.Ing. - Flächenkonstrukteur/Methodenplaner


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

Beiträge: 174
Registriert: 06.12.2004

-----------------
Windows XP professional Version2002
Service Pack 2
-----------------
CATIA V5 R16 SP5
-----------------
Intel Pentium 4 3,4GHz
4 GB RAM
-----------------

erstellt am: 19. Aug. 2005 08:07    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 TomTom,

vielen Dank für Deine Antwort! Mit welcher Catia-Version arbeitest Du? Bei mir (R12 SP9) läuft der Code nur dann, wenn bereits im CATIA ein Part geöffnet ist! Falls noch kein Part oder Product geöffnet ist (also ein leeres CATIA geöffnet ist), kommt immer die Fehlermeldung: "The method ActiveDocument failed".
Desweiteren: Falls bereits ein Part geöffnet war und nicht die Fehlermeldung kommt läuft das Makro zwar durch, aber der erzeugte Körper "OpenBody1" wird nicht ausgeblendet.

Gruß
Thomas

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 21. Aug. 2005 15:04    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 AlfaRomeo75 10 Unities + Antwort hilfreich

Hallo,

wenn du deinen Quellcode wie o.b. anpasst, müsste der OB eigentlich ins No-Show geschoben werden. Mit dem Code wie du ihn gepostet hast funktioniert das ganze nicht, weil deine Selection leer war. Das Script läuft trotzdem ohne Fehlermeldung bis zum Ende durch.
Ich arbeite momentan hauptsächlich mit R14SP3 und 5 und R15SP2. Da gibts keine Probleme.
Ich habe allerdings auch in der R12 (SP3,5,9) schon massenhaft neue Parts und Products erzeugt und hatte noch nie das von dir geschilderte Problem. Hast du VisualBasic zur Verfügung? Oder den VBA Editor in V5? Halte das Script direkt nach dem anlegen des neuen Parts mal an und zieh das Catia.ActiveDocument ins Watch Window. Dann müsstest du sehen, ob es das neue Part ist oder ob das Objekt leer ist.
Oder lass dir mit einer msgbox den Namen anzeigen.
Also erst mal nur:

Sub CATMain()
Set NewDoc = CATIA.Documents.Add("Part")
NewDoc.Name = "Part123"
msgbox "Das aktive Dokument ist " & Catia.ActiveDocument.Name
End Sub

Läuft das?

Gruss
TomTom
 

------------------
tomtom1972

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

AlfaRomeo75
Mitglied
Dipl.Ing. - Flächenkonstrukteur/Methodenplaner


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

Beiträge: 174
Registriert: 06.12.2004

-----------------
Windows XP professional Version2002
Service Pack 2
-----------------
CATIA V5 R16 SP5
-----------------
Intel Pentium 4 3,4GHz
4 GB RAM
-----------------

erstellt am: 22. Aug. 2005 07:44    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


Bild1.JPG

 
Hallo TomTom,

habe deinen Code kopiert und als CatScript gespeichert. Funktioniert leider nicht. Hier bekomme ich auch immer eine Fehlermeldung (siehe Bild). Und zwar bei beiden Varianten mit und ohne bereits geöffnetem Dokument.

Gruß
Thomas

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

StRei
Mitglied
CAD/EDA-Systemadministration


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

Beiträge: 32
Registriert: 30.08.2001

MS WindowsXP 64bit ed. (SP1)
IntelliStation A Pro
2*AMD Opteron 250 2,4
8GB Ram, Quadro FX3450
IntelliStation M Pro
Intel Core2Duo 2,66
8GB Ram, Quadro FX3500
CATIA V5R17SP7 / V5R18SP3
SmarTeam V5R17SP7

erstellt am: 22. Aug. 2005 15: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 AlfaRomeo75 10 Unities + Antwort hilfreich

Hallo,

ich habe mir das Macro angesehen und die Zeile

Selection.Add ... ersetzt durch

Selection.Search "Name=xyz,all"

Dann läuft das Macro bei mir durch (V5R12SP7)

------------------
Stephan

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