Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Verknüpfung einer Zeichnung ändern

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:  Verknüpfung einer Zeichnung ändern (8149 mal gelesen)
mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 22. Mai. 2006 12: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 zusammen

Ein bischen kenne ich durch Programmierung in Excel mit VBA aus. Jedoch bin ich in Catia noch nicht sehr weit gekommen. Ich helfe immer weiter, indem ich ein Befehlsfolge mit dem Recorder aufnehme und diese anschließend modifiziere.

Beim Drafting habe ich nun ein Problem:
Ich möchte Zeichnungen von Teilen erzeugen die ähnlich sind und sich jedoch durch einen Parameter unterscheiden (Bsp: Länge). Die Parts selber habe ich schon über eine Iterationsschleife aus einem Usprungspart abgeleitet. Nun wollte ich eine Zeichnung fertigstellen und anschließend ebenfalls über eine Iterationsschleife neue Zeichnungen über Save as erzeugen und das Modell, welches mit der Zeichnung verknüpft ist austauschen. Beim Aufnehmen dieser Befehlsfolge hat der Makrorecorder jedoch nicht die Änderungen der Verknüpfung registriert.

Kennt jemand von euch einen entsprechenden Befehl

Im vorraus Vielen Dank

Martin

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 22. Mai. 2006 22:03    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 mkna 10 Unities + Antwort hilfreich

Hallo mkna,

ich will Dir ja nicht Deine Illusionen nehmen, aber mein Wissensstand dazu ist: "Es geht nicht!". Zumindest wenn Du die Maße "dynamisch" behalten willst. Dazu fehlen (zumindest in R14) einfach die Befehle!
Unter "DrawingView.GenarativeLinks" gibt es kein "Replace", nicht mal ein "Remove", sondern nur ein "Remove All"!

Aber aus den ganzen Diskussionen im Forum würde ich Dir einen anderen Weg zum Testen vorschlagen: "SendTo"! Dazu müßtest Du Dein Konzept folgendermaßen abwandeln:

-CATPart samt CATDrawing öffnen
-in Iterationsschleife:
  -mittels "SendTo" CATPart und CATDrawing unter anderen Namen kopieren
  -kopiertes CATPart und CATDrawing öffnen
  -CATPart ändern/anpassen
  -CATDrawing updaten
  -CATPart und CATDrawing sichern

Falls Du dies probierst, poste mal, ob der Weg gangbar ist!


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 22. Mai. 2006 22: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

Hallo Lusilnie

Schade, aber trotzdem vielen Dank für Deine Antwort. Ich denke dass dein Weg sinnvoll ist und werde ihn morgen gleich ausprobieren (Ich bin zur Zeit zu Hause und habe hier kein Catia).


Habe auch schon in der Vergangenheit die Parts bei grundsätzlichen Änderungen lieber neu über besagte Iteration erzeugt als jedes einzelne Teil zu öffnen und anschließend entsprechend abzuändern.Da ich immer befürchte etwas zu übersehen.

Bis dann Martin

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

Bobby_Joe2001
Mitglied
Konstrukteur


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

Beiträge: 81
Registriert: 15.01.2006

erstellt am: 23. Mai. 2006 19:40    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 mkna 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Lusilnie:
Hallo mkna,

ich will Dir ja nicht Deine Illusionen nehmen, aber mein Wissensstand dazu ist: "Es geht nicht!". Zumindest wenn Du die Maße "dynamisch" behalten willst. Dazu fehlen (zumindest in R14) einfach die Befehle!
Unter "DrawingView.GenarativeLinks" gibt es kein "Replace", nicht mal ein "Remove", sondern nur ein "Remove All"!

Aber aus den ganzen Diskussionen im Forum würde ich Dir einen anderen Weg zum Testen vorschlagen: "SendTo"! Dazu müßtest Du Dein Konzept folgendermaßen abwandeln:

-CATPart samt CATDrawing öffnen
-in Iterationsschleife:
  -mittels "SendTo" CATPart und CATDrawing unter anderen Namen kopieren
  -kopiertes CATPart und CATDrawing öffnen
  -CATPart ändern/anpassen
  -CATDrawing updaten
  -CATPart und CATDrawing sichern

Falls Du dies probierst, poste mal, ob der Weg gangbar ist!


mfg,
Lusilnie


Meinst du SendTo per makro? Das erfordert eine spezielle Lizenz. Hab das selbst noch nicht getestet, aber warum sollte das mit den Links ersetzten nicht funktionieren?

@mkna
Vorschlag für Vorgehensweise:

- du erstellst von einem Part die erste "Beispielzeichung"
- Öffnest alle Parts

Jetzt kommt des Makro:

- Makro macht ne schleife durch alle geöffneten Dokumente
- Löscht von jeder Ansicht deiner Zeichung die links
- Fügt das part als neuen link zur betreffenden Ansicht hinzu
- Update der Zeichnung
- Zeichnung speichern unter

So sollte des per Makro realisierbar sein, hab ich allerdings selber noch nicht gemacht.

Frag einfach, falls ichs zu schlicht erklärt hab oder dir die Befehle fehln 

Gruß
Bobby

------------------
Du musst die Leute einmal richtig ärgern, dann wirst du endlich ernst genommen.
Konrad Adenauer

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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 23. Mai. 2006 20:13    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 Bobby_Joe2001

Kannst Du mir den Befehl für den Schritt
"Fügt das part als neuen link zur betreffenden Ansicht hinzu"
nennen ?

Martin

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

Bobby_Joe2001
Mitglied
Konstrukteur


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

Beiträge: 81
Registriert: 15.01.2006

erstellt am: 23. Mai. 2006 20: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 Nur für mkna 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von mkna:
Hallo Bobby_Joe2001

Kannst Du mir den Befehl für den Schritt
"Fügt das part als neuen link zur betreffenden Ansicht hinzu"
nennen ?

Martin



Bitteschön 

Code:

Sub CATMain()

    'Objectverweis für 3. View vom aktiven Blatt
    Set MyView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(3)
   
    'Objectverweis für 1. Dokument in der Dokumentliste, das ist z.B. ein Part
    Set MyDoc = CATIA.Documents.Item(1)
   
    'Alle Links der Ansicht löschen
    MyView.GenerativeLinks.RemoveAllLinks
   
    'Der Ansicht das neue Part zuweisen
    MyView.GenerativeLinks.AddLink MyDoc.Product

End Sub


Gruß
Bobby

------------------
Du musst die Leute einmal richtig ärgern, dann wirst du endlich ernst genommen.
Konrad Adenauer

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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 23. Mai. 2006 20:33    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

Oh das ging aber schnell nochmal 10U

Vielen Dank werde es morgen ausprobieren

Martin

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

Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 24. Mai. 2006 00: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 mkna 10 Unities + Antwort hilfreich

Hallo Bobby_Joe2001,

natürlich funktioniert das, um die View mit dem Dokument zu verknüpfen. Man kann anstelle von:
MyView.GenerativeLinks.AddLink MyDoc.Product
auch:
MyView.GenerativeBehavior.document = MyDoc
verwenden. Doch wie gesagt, liegt hier das Problem in den bestehenden Maßen. Die sind an eine "non-visible" Geometrie gekoppelt und nicht an das "neu" verbundene Original, also "nicht mehr dynamisch", sprich assoziativ!

Oder ist dies doch der Fall? Hast Du schon mal das Ergebnis nach einer Änderung des Parts/Products angeschaut?


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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

Studdy
Mitglied


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

Beiträge: 9
Registriert: 23.05.2006

erstellt am: 24. Mai. 2006 08: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 Nur für mkna 10 Unities + Antwort hilfreich

Ich habe ein ähnliches Problem.

Ich habe ein Quellproduct, das dynamisch durch eine Konstruktionstabelle erzeugt wird. Danach erzeuge ich eine neue Exceltabelle mit einem neuen Index. Diese neu erzeugte exceltablle soll nun die Konstruktionstabelle für das neu erzeugte Produkt sein. Das Problem ist nun, ich finde keinen Befehl mit dem ich den Link der Exeltablle bzw. Konstruktionstabelle ändern kann.

Wer weiß Rat?

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

Steffen Hohmann
Mitglied
 


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

Beiträge: 446
Registriert: 06.03.2002

erstellt am: 24. Mai. 2006 09:53    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 mkna 10 Unities + Antwort hilfreich

Hallo Martin,

wie würde man es denn manuell machen?

1. Master-Zeichnung öffnen
2. Master-Part öffnen
3. Parameter im Master-Part ändern
4. Zeichnung aktualisieren
5. Part unter neuem Namen speichern (jetzt weiß auch die Zeichnung davon)
6. Zeichnung unter neuem Namen speichern

Für jeden Schritt gibt es entsprechende Makrobefehle.
1. Set Master_Zeichnung = CATIA.Documents.Open ("Master_Zeichnung.CATDrawing")
2. Set Master_Part = CATIA.Documents.Open ("Master_Part.CATPart")
3. Master_Part.Part.Parameters.Item("ParameterName").Value = XXX
4. Master_Zeichnung.Update
5. Master_Part.SaveAs "Part_Variante_X.CATPart"
6. Master_Zeichnung.SaveAs "Zeichnung_Variante_X.CATDrawing"

Das packt man dann noch in eine Schleife.
So sollte es funktionieren.

Gruß
Steffen

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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 22. Sep. 2006 15:37    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 will noch mal das Thema aufgreifen, welches ich vor ein paar Wochen selbst gestartet habe. Der Vorschlag von dir Steffen funktioniert wunderbar, jedoch erhalte ich mit der Methode "Save as" Parts die immer die gleiche UUID haben. Wenn ich den Befehl "New from" außerhalb eines Makros ausführe bemerkt das System bei einer Zeichnung, dass hier auch ein Part dazugehört und fragt nach ob ich auch dies mit "New from" in eine neue Datei überführen möchte. Innerhalb eines Makros tut er das nicht.

Oder kennt jemand eine Möglichkeit eine neue UUID erzeugen zulassen

Vielen Dank

Martin

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