Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Fehler beim erstellen von Publications

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:  Fehler beim erstellen von Publications (1100 / mal gelesen)
Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 06. Sep. 2017 11:45    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 zusammen,
mir stellt sich gerade folgendes Problem. Von meinem Bauteil das ich mit Hilfe eines Makros aufgebaut habe sollen die Achsensysteme als Publications ausgegeben werden. Ich habe es mit Hilfe der Makroaufnahme hinbekommen, dass die Publikation erstellt wird. Allerdings ist in der Publikation nicht mein einzelnes Achsensystem, sondern das komplette Catpart hinterlegt. Kennt jemand Lösungen?
Grüße

Code:
Dim product1 As Product
Set product1 = partDocument1.GetItem("partDocument1.Name")
Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("partDocument1.Name/!Axis System.Positionierung")
Dim publications1 As Publications
Set publications1 = product1.Publications
   
Dim publication1 As Publication
Set publication1 = publications1.Add("Axis System.Positionierung")
publications1.SetDirect "Axis System.Positionierung", reference1

Dim settingControllers5 As SettingControllers
Set settingControllers5 = CATIA.SettingControllers
   
Dim visualizationSettingAtt5 As VisualizationSettingAtt
Set visualizationSettingAtt5 = settingControllers5.Item("CATVizVisualizationSettingCtrl")
visualizationSettingAtt5.SaveRepository
part1.Update


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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Sep. 2017 12: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 Nur für Student051089 10 Unities + Antwort hilfreich

Servus

Du musst den String für die Methode CreateReferenceFromName zusammensetzen. zB:

Code:
Language="VBSCRIPT"

Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument

Dim product1 As product
Set product1 = partDocument1.product

Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName(partDocument1.name & "/!Axis System.Positionierung") 'ggf geht hier auch product1.name

Dim publications1 As Publications
Set publications1 = product1.Publications

Dim publication1 As Publication
Set publication1 = publications1.Add("Axis System.Positionierung1")

publications1.SetDirect "Axis System.Positionierung1", reference1

End Sub


Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 06. Sep. 2017 13:25    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 Bernd,
vielen Dank für deine schnelle Antwort!
Leider wurde das Problem dadurch nicht gelöst.
Es ist weiterhin in der Publication das komplette Part hinterlegt.
Weißt du vllt noch eine andere Lösung?
Grüße

Code:
'Publications erstellen
Dim product1 As Product
Set product1 = partDocument1.GetItem("product1.Name/partDocument1.Name")

Dim reference1 As Reference
Set reference1 = product1.CreateReferenceFromName("product1.Name/partDocument1.Name/!Axis System.Positionierung_PC")

Dim publications1 As Publications
Set publications1 = product1.Publications

Dim publication1 As Publication
Set publication1 = publications1.Add("Axis System.Positionierung_PC_")
publications1.SetDirect "Axis System.Positionierung_PC_", reference1

Dim settingControllers5 As SettingControllers
Set settingControllers5 = CATIA.SettingControllers

Dim visualizationSettingAtt5 As VisualizationSettingAtt
Set visualizationSettingAtt5 = settingControllers5.Item("CATVizVisualizationSettingCtrl")
visualizationSettingAtt5.SaveRepository
part1.Update


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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Sep. 2017 13: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 Nur für Student051089 10 Unities + Antwort hilfreich

Servus
Die Variable muss außerhalb der Anführungszeichen sein.
Lass mal meinen Code ablaufen, und schau dir in der entsprechenden Zeile die Anführungszeichen und das & an.

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 06. Sep. 2017 14:02    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

Also ich habe das jetzt versucht so anzupassen wie du meintest. Ich denke in dieser Zeile liegt der Fehler.
Code:
Set reference1 = product1.CreateReferenceFromName(product1.Name / partDocument1.Name & "/!Axis System.Positionierung_PC")

Bisher keine Veränderung... wie ich es auch drehe und wende.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 06. Sep. 2017 14: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 Nur für Student051089 10 Unities + Antwort hilfreich

Servus

Und schon mal meinen Code probiert?

Code:
Set reference1 = product1.CreateReferenceFromName(partDocument1.name & "/!Axis System.Positionierung_PC")
oder ggf
Code:
Set reference1 = product1.CreateReferenceFromName(product1.name & "/!Axis System.Positionierung_PC")
Warum benötigst du beide Namen im "Pfad" zum Element?
Oft hilft es auch einen Wert/String zur Analyse per Messagebox ausgeben zu lassen.

Gruß
Bernd

EDIT: Probier mal statt der Zeile mit GetItem: Set product1 = partDocument1.product

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 07. Sep. 2017 09:08    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 Bernd,
vielen Dank für deine Hilfe!
Hat alles Funktioniert.
Hier nochmal der ganze Code:
Code:

Dim product1 As Product
Set product1 = partDocument1.Product

Dim reference2 As Reference
Set reference2 = product1.CreateReferenceFromName(product1.Name & "/!Axis System.Positionierung")
Dim publications1 As Publications
Set publications1 = product1.Publications
Dim publication1 As Publication
Set publication1 = publications1.Add("Axis System.Positionierung")
publications1.SetDirect "Axis System.Positionierung", reference2


Dim settingControllers6 As SettingControllers
Set settingControllers6 = CATIA.SettingControllers

Dim visualizationSettingAtt6 As VisualizationSettingAtt
Set visualizationSettingAtt6 = settingControllers6.Item("CATVizVisualizationSettingCtrl")
visualizationSettingAtt6.SaveRepository
part1.Update


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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 07. Sep. 2017 09: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

Hallo Bernd,
nochmal eine kurze Frage:
Ich habe jetzt über eine For- Schleife die Achsensysteme publiziert. Meine Abbruchbedingung funktioniert auch soweit ganz gut. Leider wird eine Publikation am Ende zu viel erstellt.
Weißt du wie ich diese wieder rauslöschen kann?
Grüße

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 07. Sep. 2017 10:19    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 Student051089 10 Unities + Antwort hilfreich

Servus

Entweder erst gar nicht erzeugen (Abbruchbedingung prüfen) oder mit .Remove (siehe auch V5Automation.chm)

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 08. Sep. 2017 08:11    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

Moin,
das mit der Abbruchbedingung geht leider nicht zu vermeiden.
Meine Schleife wird beendet und die überflüssigen Befehle werden durch
Code:
'Löschen der überflüssigen Befehle
                vselection1.Clear
                vselection1.Add hybridShapePlaneOffset2
                vselection1.Add voIntersection4
                vselection1.Add hybridShapeLineNormal2
                vselection1.Add hybridShapeLineAngle2
            vselection1.Add publications1
                vselection1.Add axisSystem2
                vselection1.Delete

wieder rausgelöscht.
Es läuft alles soweit gut bis auf die Publication, die bleibt ohne Bezug stehen.
Weißt du wie das zu lösen ist?
Grüße

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 08. Sep. 2017 10: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 Student051089 10 Unities + Antwort hilfreich

Servus

Schon mal

Code:
publications1.Remove "NameMeinerPublikation"
probiert?

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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