Autor
|
Thema: Fehlerhafter Link (2075 mal gelesen)
|
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 11:58 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe folgendes Problem: Ich habe ein Product mit zwei Parts; ein Part ist fix das andere soll sich mittels Constraints bewegen lassen. Das fixe Part hat zwei Publicationen, die unter anderem als Grundlage für die Constraints dienen. Damit ich die Publicationen des fixen Parts in dem beweglichen Part mit VBA verwenden kann, habe ich in dem beweglichen Part ein GeoSet "External References" angelegt und die Publications mittels "Paste Special" dort hinein kopiert. Nur leider geht bei dem Kopiervorgang wohl irgendwie der Link verlohren. Wenn ich meine Constraints anwende bewegen sich die Kopien der Publicationen (die eigentliche Publicaton bleibt an ihrem festen Ort). Hat jemand eine Ahnung woran das liegen könnte? Viele Grüße und vielen Dank schon mal im Voraus Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 19. Mrz. 2014 12:36 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus Anja Ich kapier nicht so ganz was du vorhast. Warum kopierst du die Veröffentlichungen in das andere Part? Könntest du nicht einfach Bedingungen in der Baugruppe erzeugen? (ggf hilft ein Bild) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 12:59 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, Ich kopiere die Veröffentlichung weil ich mit VBA sonst nicht rankomme - wenn du mir sagen kannst wie ich im Product ohne die kopiererei an die Veröffentlichung eines Parts rankommen kann wäre das natürlich das aller beste! Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 19. Mrz. 2014 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus Du kannst doch auch aof die Publications zugreifen (AFAIK leider nicht über den Namen sondern nur über den Index): Code: Sub CATMain()Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim product1 As Product Set product1 = productDocument1.Product '2. Product im Baum Dim PartProduct As Product Set PartProduct = product1.Products.Item(2) Dim oPub As Publication Set oPub = PartProduct.Publications.Item(1) End Sub
Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Mrz. 2014 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
|
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 13:52 <-- editieren / zitieren --> Unities abgeben:
Super - vielen Dank für die schnellen Antworten!! Jetzt stehe ich aber vor einem neuen Problem: um die Veröffentlichung zuzuweisen brauche ich eine Referenz darauf. Dazu habe ich folgenden Code geschrieben: Dim pub As Publication Set pub = rootProduct.Products.Item(1).Publications.Item(1) Dim str as string str = rootProduct.Products.Item(1).Name & "/!" & pub.Name Dim ref As Reference Set ref = rootProduct.CreateReferenceFromName(str) Leider bekomme ich bei der "set ref"-Anweisung immer einen Fehler ("Unspecified error"). Könnt ihr mir dabei auch noch weiter helfen? Vielen Dank! Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RSchulz Moderator² Head of CAD, Content & Collaboration / IT-Manager
Beiträge: 5541 Registriert: 12.04.2007 @Work Lenovo P510 Xeon E5-1630v4 64GB DDR4 Quadro P2000 256GB PCIe SSD 512GB SSD SmarTeam V5-6 R2016 Sp04 CATIA V5-6 R2016 Sp05 E3.Series V2019 Altium Designer/Concord 19 Win 10 Pro x64
|
erstellt am: 19. Mrz. 2014 14:19 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Puh... Also ganz im Ernst die Erstellung von Referencen etc. ist schon recht kryyptisch und nicht mal eben so getan. Ich habe mich in diesem Bereich auch mal etwas tiefer reingegraben, aber das ist schon recht komplex bzw. kann komplex werden. Ich möchte mal behaupten, dass er nicht einfach mit den Namen eine Referenz erzeugen kann. Hier wirst du wohl mehr Formatierung benötigen. Kannst du mal den Inhalt des "str" posten? Ich kann mir schließlich gerade schlecht eine komplette Testumgebung für dich aufbauen... ------------------ MFG Rick Schulz Nettiquette (CAD.de) - Was ist die Systeminfo? - Wie man Fragen richtig stellt. - Unities
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 14:20 <-- editieren / zitieren --> Unities abgeben:
Ich habe glaube ich eher ein Problem mit der Veröffentlichung an sich - wenn ich in Catia manuell eine Veröffentlichung erzeuge kann ich mit dieser arbeiten, mit meiner in VBA erzeugten Veröffentlichung allerdings nicht Hier mein Code zum Erzeugen der Veröffentlichung (Wie kann ich den Code so schön absetzen und formatieren wie ihr das macht??): Sub Veroeffentlichen() Dim linie As HybridShape Set linie = partDocument1.Part.HybridBodies.Item("Results").HybridShapes.Item("Linie") Dim str As String str = partName & "/!" & linie.Name Dim pub As Publication Set pub = publications1.Add("Publication") Dim ref As Reference Set ref = prod.CreateReferenceFromName(str) publications1.SetDirect "Publication", ref 'Fixierung der Publication Set globBedingung = prod.Connections("CATIAConstraints") str = rootProduct.Name & "/" & prod.Name & "/!" & rootProduct.Name & "/" & prod.Name & "/" Dim refPub As Reference Set refPub = rootProduct.CreateReferenceFromName(str) Dim bed As Constraint Set bed = globBedingung.AddMonoEltCst(0, refPub) End Sub Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 14:25 <-- editieren / zitieren --> Unities abgeben:
Jetzt haben sich unsere Posts überschnitten... Hier der Inhalt von str: 800_001_Alt_149.1/!Publication Vielen Dank! PS: Ich habe in der Form schon mehrmals auf Objekte referenziert - bei HybridShapes klappt das so... Mit den Veröffentlichungen stehe ich allerdings noch etwas auf Kriegsfuß [Diese Nachricht wurde von sAnjas am 19. Mrz. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 19. Mrz. 2014 14:25 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus IMHO kannst du die Referenz auch direkt aus der Veröffentlichung ermitteln. Das Beispiel erzeugt eine Bedingung zwischen der ersten Veröffentlichung der ersten beiden Products im RootProduct: Code: Sub CATMain()Dim productDocument1 As ProductDocument Set productDocument1 = CATIA.ActiveDocument Dim product1 As Product Set product1 = productDocument1.Product Dim constraints1 As Constraints Set constraints1 = product1.Connections("CATIAConstraints") Dim reference1 As Reference Set reference1 = product1.Products.Item(1).Publications.Item(1).Valuation Dim reference2 As Reference Set reference2 = product1.Products.Item(2).Publications.Item(1).Valuation Dim constraint1 As Constraint Set constraint1 = constraints1.AddBiEltCst(catCstTypeOn, reference1, reference2) End Sub
gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 19. Mrz. 2014 14:35 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank Bernd - mit deiner Methode bekommt die Referenz den gleichen Wert wie mit meiner (wobei deine eindeutig eleganter ist ). Das bestärkt mich in meiner Vermutung dass mit meiner Veröffentlichung generell etwas nicht stimmt und das es gar nicht an der Referenz als solches liegt... Könnt ihr mir zu der Erzeugung meiner Veröffentlichung etwas sagen? Versteckt sich da irgendwo ein Fehler? Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 20. Mrz. 2014 13:13 <-- editieren / zitieren --> Unities abgeben:
Ich denke ich habe mein Problem gelöst - für alle die vielleicht auch Probleme haben auf ihre Veröffentlichungen zuzugreifen: Nachdem ich das Product (inklusive Veröffentlichungen) gespeichert, geschlossen und wieder geöffnet hatte, konnte ich auf die Veröffentlichungen zugreifen... Es liegt also nicht an der Erzeugung der Veröffentlichungen oder deren Referenz. Ich verstehe nicht so ganz warum (wenn mir das jemand erklären könnte wäre ich sehr dankbar) aber es funktioniert zumindest... Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
K.Siebert Mitglied Tech Zeichner
Beiträge: 415 Registriert: 19.05.2007 Win XP Catia V5 R19 Catia V5 R24
|
erstellt am: 20. Mrz. 2014 21:24 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Hallo, IMHO kommt CATIA bei Veröffentlichungen nicht mit der Aktualisierung hinterher. musste gestern per Skript ein paar löschen, im Baum waren Sie noch zu sehen, mit der Maus aber nicht mehr anklickbar als ich das Part gespeichert/geschlossen und wieder geöffnet hatte waren sie auch im Baum verschwunden. im Code hatte ich allerdings auch keinen update erzwungen villeicht hilft das? ------------------ Sei Schlau bleib Dumm !!?!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 21. Mrz. 2014 08:22 <-- editieren / zitieren --> Unities abgeben:
Hallo, also CATIA und Veröffentlichungen ist echt so ne Sache glaube ich - inzwischen kann ich meine Veröffentlichungen wunderbar ansprechen und verwenden, CATIA sagt auch dass die Links vorhanden sind, mein Product ist sauber... Und was machen meine Veröffentlichungen? Die lösen sich räumlich von dem fixen Part mit dem sie doch verlinkt sind und bewegen sich munter in meinem Product umher Verzweifelte Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2014 08:27 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
|
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 21. Mrz. 2014 10:18 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, Die Constraints "zerschießen" mir meine Veröffentlichungen, normal sollten sich diese ja Updaten und die gleiche Lage behalten. An den zwei unterschiedlich positionierten Linien und den blauen Koordinatensystemen siehst du dass dem nicht so ist... Und das alles ohne das CATIA einen Fehler melden würde oder defekte Links anzeigen oder sonstiges... Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2014 12:20 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus Was hast du denn gemacht? Wie soll es aussehen/funktionieren? Ich erkenne nur dass das eine Part fixiert ist, das andere in der Baugruppe nicht positioniert ist. Beide Parts haben scheinbar Veröffentlichungen. Sollen die Linien immer konkurtent sein? (mit Bedingungen ausrichten oder Linien mit Verknüpfung (im Baugruppenkontext ins andere Part kopieren) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 21. Mrz. 2014 12:58 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, Part1 ist fix, Part2 soll sich einmal entlang der Linie und dann noch rotatorisch um das Koordinatensystem bewegen können. Die Veröffentlichung aus dem zweiten Part wird nicht verwendet (war schon vorher drin, wird für meinen Anwendungsfall aber nicht benötigt). Linie und Koordinatensystem aus Part1 sind veröffentlicht und Part2 soll eigentlich nur darauf zugreifen. Wenn ich Veröffentlichungen in Catia manuell erzeuge kenne ich das so, dass meine Veröffentlichungen nach jeder Bewegung welche die Lage ändern würden ein Update verlangen und die entsprechenden Objekte werden wieder konkreuent (ich weiß nicht ob du verstehst was ich meine - ich finde es schwer das so zu beschreiben). Konkret sollte das zum Beispiel so aussehen, dass wenn ich das veröffentlichte Koordinatensystem im ersten Part rotiere, das darauf referenzierte Koordinatensystem im zweiten Part die gleiche Lage einnehmen sollte wie das Veröffentlichte und somit das komplette zweite Part rotiert wird. Ich hoffe du kannst mit meinen Erklärungen was anfangen Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2014 13:07 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus Dann musst du ja noch die entsprechenden Bedingungen in der Baugruppe erzeugen (diese sind bei dir ja deaktiviert). Oder steht ich gerade auf dem Schlauch was du willst. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 21. Mrz. 2014 13:22 <-- editieren / zitieren --> Unities abgeben:
Die Bedingungen in der Baugruppe wurden erzeugt und werden auch aktiviert (wenn ich eine Bewegung durchführe und sie benötige). Du hast Recht, sieht auf dem Bild vielleicht so aus als ob ich die vergessen hätte zu aktivieren, wenn das mein Problem wäre wäre ich happy Es macht für mich den Eindruck als würde CATIA ignorieren dass es sich bei den Veröffentlichungen ja eigentlich um ein Objekt handelt welches in Part1 und Part2 verwendet wird. Als ob irgend etwas mit dem Link nicht in Ordnung wäre, aber wenn ich mir den Link anschaue ist der vollkommen ok - total seltsam... Wenn ich das ganze manuell so aufbaue funktioniert es auch, also irgend etwas muss bei dem automatisierten anlegen der Veröffentlichungen schief gehen Viele Grüße Anja Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2014 13:28 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
|
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 21. Mrz. 2014 13:35 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, die Baugruppe/Teile kann ich leider nicht hochladen (Geheimhaltung). Das Makro ist ziemlich groß, den Teil zur Erzeugung der Veröffentlichungen habe ich ja schon gepostet (darin sollte der Fehler eigentlich versteckt sein denke ich), welcher Teil interessiert dich noch? Viele Grüße und vielen Dank Anja
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 21. Mrz. 2014 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus Kannst du zumindest ein (vereifachtes) Part (nur die Linie mit der Veröffentlichung) hochladen? Aus deinem Code-Schlipsel geht nicht hervor: - wo ist "publications1" definiert/deklariert (es sieht fast so aus, dass du die Veröffentlichung in der Baugruppe erzeugst) - wie du die Bedingung erzeugst (bzw auf was du dich beziehst) - ggf die Referenz Erzeugung über CreateReferenceFromObject (geht nur im Part) benutzen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sAnjas Mitglied
Beiträge: 31 Registriert: 11.03.2014 Win7 Enterprise Catia V5/6 R24
|
erstellt am: 24. Mrz. 2014 15:12 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, entschuldige die späte Anwort! Ich habe mein Makro jetzt umstrukturiert und mein Vorgehen in sofern geändert, das ich mit weniger Constraints und mit lediglich einer Veröffentlichung auskomme. So funktioniert es jetzt (und der Code wurde wesentlich vereinfacht). Trotzdem vielen Dank für deine Hilfe! Viele Grüße Anja PS: Diese Veröffentlichungen sind mir immer noch sehr suspekt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
eisalex Mitglied
Beiträge: 9 Registriert: 03.04.2018 CATIA V5-6R2016 SP3
|
erstellt am: 06. Sep. 2018 21:02 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus zusammen, traue mir zu nachzufragen: ist Zumachen und Speichern von Produkt die Lösung publizierte Features anklickbar zu bekommen, oder geht es doch ohne Stecker ziehen? ich habe schon 3 Pfade zum Thema gefunden und niergendswo die Lösung ausgelesen. Updaten hat nicht geholfen, aber evt. gibt es doch was? Danke schon mal vorab. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 06. Sep. 2018 21:07 <-- editieren / zitieren --> Unities abgeben: Nur für sAnjas
Servus ggf für deine Frage ein eigenes Thema aufmachen. Was heißt "anklickbar machen"? Wo soll die Veröffentlichung erzeugt werden? Wie sieht dein Code bisher aus? Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |