Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Verlinkte Kopie per Makro erzeugen

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:  Verlinkte Kopie per Makro erzeugen (1291 mal gelesen)
Blechpatscher
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 13.12.2009

CATIA V5 R16 SP9 mit Win XP SP3

erstellt am: 13. Dez. 2009 17:17    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 Catia-Programmiergemeinde!

Bin ganz neu in diesem Forum, hab Erfahrung in CatiaV5, bin aber absoluter Anfänger in Makroprogrammierung.
Einfache Elemente per Makro erzeugen krieg ich dennoch schon hin.

Im Moment bin ich auf der Suche nach dem Makro-Befehl für´s "Einfügen mit Link".
Der Makrorecorder zeichnet ihn nicht auf und in Buch über Makroprogrammierung
habe ich auch nichts gefunden.

Gibt es irgendwo eine Liste mit Befehlen oder kann mir ihn jemand direkt nennen?

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: 13. Dez. 2009 17: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 Nur für Blechpatscher 10 Unities + Antwort hilfreich

Servus
AFAIK geht das mit dem Befehl PasteSpecial "CATPrtResult"
(siehe zB auch hier)

Gruß
Bernd

Bitte Systeminfo ausfüllen

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

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

Blechpatscher
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 13.12.2009

CATIA V5 R16 SP9 mit Win XP SP3

erstellt am: 14. Dez. 2009 21:47    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


Koerper_mit_Link_erzeugen.jpg

 
Hallo bgrittmann,

vielen Dank für die schnelle Hilfe!

Das Einfügen hat wunderbar funktioniert, aber da die Kopie exakt den gleichen Namen hat, wie das Original-Body (kommt von den Einstellungen s.Anhang), weiss ich nicht, wie man die Kopie deklarieren soll.
Wenn ich "Under the same tree node" wähle, kann ich über den Name "Result of *" meine Kopie selektieren,
leider sollen die CATIA-Einstellungen nicht verändert werden. Weisst du auch hier Rat?

Gruß
Blechpatscher

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: 14. Dez. 2009 21:58    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 Blechpatscher 10 Unities + Antwort hilfreich

Hallo Blechpatscher,

wenn Du den Body eingefügt hast, ist der letzte Body, z.B.:

Code:
Set Body = Bodies.Item(Bodies.Count)
  Dein eingefügter Body und Du kannst ihn nach Belieben mit
Code:
Body.Name = "IchBinDerLink"
umbenennen.


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

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: 14. Dez. 2009 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 Blechpatscher 10 Unities + Antwort hilfreich

Servus
Nur so eine Idee.
Wenn du einen neuen Körper einfügst könnte der über den Index abrufbar
sein, und zwar als letztes Element. zB:
max = Part.Bodies.Count
Part.Bodies.Item(max)

Gruß
Bernd

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

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

Blechpatscher
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 13.12.2009

CATIA V5 R16 SP9 mit Win XP SP3

erstellt am: 15. Dez. 2009 20:22    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,

das klappt ja wunderbar! Wenn alles im Leben so schnell und einfach zu lösen wäre!

Hast du vielen Dank!

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

Blechpatscher
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 13.12.2009

CATIA V5 R16 SP9 mit Win XP SP3

erstellt am: 15. Dez. 2009 20:27    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,

diese Variante hat bei mir nicht geklappt
Muss man den Index vorher irgendwie deklarieren?
(Bin wirklich noch ein Anfänger) Könntest du vielleicht den vollstendigen Code für den Befehl posten?
Danke!

Gruß
Blechpatscher

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: 15. Dez. 2009 21: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 Blechpatscher 10 Unities + Antwort hilfreich

Servus
Nimm doch den Code von Lusilnie.
Ich hatte das gleiche vor (bin aber auch noch eher Anfänger)

Gruß
Bernd

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

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

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. 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: 16. Dez. 2009 08: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 Blechpatscher 10 Unities + Antwort hilfreich


PasteWithLink_v1.zip

 
Hallo,

das mit der Bodies-Collection sollte zwar funktionieren ist aber IMHO viel zu umständlich. Ich beschreibe mal kurz den Ablauf wenn man das ganze Szenario per Hand ausführen würde.

1. Man markiert den Body der kopiert werden soll und kopiert diesen über das Kontextmenü (der Body ist selektiert)
2. Man selektiert das Part in den der Körper aus der Zwischenablage eingefügt werden soll (nur das Part ist selektiert)
3. Über das Kontextmenü wählt man PasteSpezial (ResultWithLink) aus (es ist immer noch das Part selektiert)
4. Jetzt fügt CATIA den neuen Body ein (!!!CATIA selektiert jetzt den neu eingefügten Body!!!)

Den Schritt vier machen wir uns zu nutze. Anstatt die Bodies-Collection nach dem neu eingefügten Körper zu durchsuchen nehmen wir einfach die Vorselektion von CATIA und ändern hier den Namen.

Das ganze klingt jetzt ein wenig abstrakt deswegen ist im Anhang auch noch ein fertiges (funktionsfähiges) CATScript. Fast alle Zeilen sind mit Kommentaren versehen. Damit solltest du erst einmal arbeiten können

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

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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

Blechpatscher
Mitglied
Konstrukteur


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

Beiträge: 11
Registriert: 13.12.2009

CATIA V5 R16 SP9 mit Win XP SP3

erstellt am: 20. Dez. 2009 17:14    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 Daniel,

vielen Dank für die ausführliche Beschreibung!
Dein Code habe ich erfolgreich in mein Programm eingefügt.
Allerdings verstehe ich noch nicht richtig, wie der Abbruch funktioniert. Die Befehle "vbCritical" und "vbOKOnly" waren mir noch nicht bekannt. Hab mir jetzt das Buch geholt, dass du in einem anderen Beitrag (Macro programmierung lernen) empfohlen hast. Hoffe daraus noch weitere Tricks zu lernen.

Wünsche dir und allen die sich in bei CAD.DE engagieren
Frohe Weihnachten und ein gutes Neues Jahr!

Blechpatscher

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

DanielFr.
Moderator
Manager


Sehen Sie sich das Profil von DanielFr. 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: 20. Dez. 2009 17:26    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 Blechpatscher 10 Unities + Antwort hilfreich

Hallo,

ich hoffe das in diesem Buch diese Befehle überhaupt erklärt werden  . Diese kommen nämlich nicht aus V5 bzw. haben nichts damit zu tun sondern aus VB. Hier ist eine Message-Box wie folgt definiert:

MsgBox(Text as String, Style as vbMsgBoxStyle, Title as String) as vbMsgBoxResult

Text sollte klar sein 
vbMsgBoxStyle (hierzu gehören vbCritical und vbOKOnly aber auch vbInformation, vbYesNo, usw.) gibt an wie die Message Box aussieht. Ein vbCritical hat links ein rotes X und erzeugt den typischen Beep-Sound. Ein vbInformation dagegen hat eine weiße Sprechblase mit blauen Ausrufezeichen und erzeugt einen anderen Sound. VBOKOnly gibt an das die Message Box nur einen OK Button hat. vbYesNoCancel z.b. hat drei Buttons (Ja, Nein, Abbruch) usw.
Die MessageBox Funktion ist also ein fester Bestandteil von VB und kann über diese Konstanten in ihrem Aussehen geändert werden. Als Rückgabe hat die Funktion einen Dateityp Namens vbMsgBoxResult. Wenn du z.B. eine vbYesNo Box erzeugst kannst du als Rückgabe vbYes oder vbNo bekommen. Dieser kann aber auch in einen String konvertiert werden. vbNo wäre dann z.B. "6".

Wie du siehst hat das nichts mit CATIA zu tun sondern ist ein reines VB-Thema.

Ich wünsche dir auch eine frohes Fest und einen guten Rutsch 

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

Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...)

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