Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  CAA: CATICutAndPastable

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:  CAA: CATICutAndPastable (1400 mal gelesen)
weissda
Mitglied
ingenieur


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

Beiträge: 48
Registriert: 04.08.2006

erstellt am: 23. Nov. 2006 11: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

Hi

Wie kann ich auf ein kopiertes Objekt zugreifen? Ich paste ein Objekt (listObjectsToCopy enthält das zu kopierende feature) mit folgendem Befehl:

CATICutAndPastable_var spEndCAPOnPrtCont(spPrtCont);
CATLISTV(CATBaseUnknown_var) spFinalObject = spEndCAPOnPrtCont->Paste(listObjectsToCopy,&listTargets,NULL);

Wie kann ich nun auf das NEUE, kopierte Objekt zugreifen?? spFinalObject ist ja nur der Pfad des ZU KOPIERENDEN objektes...
Ich hätte gerne sowas wie:
CATISpecObject_var copiedObject=...?

Hoffe mein Problem ist rübergekommen ;-)

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

dr
Mitglied
CAD-/PLM-Entwickler und -Berater


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

Beiträge: 87
Registriert: 30.10.2001

erstellt am: 27. Nov. 2006 12:23    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 weissda 10 Unities + Antwort hilfreich

Moin,

Ich habe mit dem CATICutAndPastable interface bisher nicht gearbeitet.
Aber die Dokumentation sieht für mich so aus, dass die Kopien in der Liste iToCurObjects (zweiter Parameter) landen.
Kannst ja mal prüfen, ob die Liste, die Du da angibst, durch die Operation größer wird. Sollte dann kein Problem sein, auf die Objekte zuzugreifen.

Aber Achtung: Am Anfang der Interface-Beschreibung steht ja auch, dass lediglich Links erzeugt werden und keine echten Kopien.
Kann wichtig sein, falls Du die Kopie verändern möchtest, das Original aber nicht...

------------------
--
Danny Reinhold
Reinhold Software Services

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

weissda
Mitglied
ingenieur


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

Beiträge: 48
Registriert: 04.08.2006

erstellt am: 27. Nov. 2006 15:59    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

Hi Danny

Danke für deine Antwort. Ja, jetzt wo du's erwähnst scheint das ganz einleuchtend *g* Allerdings ändert sich die Grösse der Liste nicht: vor dem paste enthält sie das zu kopierende Objekt aber es könnte sein, dass dieses dann durch das neue ersetzt wird...?
Wie bring ich denn eine CATPathElement Variable dazu, mir den Pfad als Text auszugeben (CATIAlias) kann ich nicht anhängen. Dann könnte ich das Ganze mal überprüfen. Hier mal der ganze Code-Part, der zum paste gehört:

// Create a path element containing the feature to be copied and its father
CATICutAndPastable_var spStartCAPOnPrtCont(spPrtCont);
CATLISTV(CATBaseUnknown_var) listTargets;
CATPathElement *pathTarget = new CATPathElement(oProtoFeat);
pathTarget->AddFatherElement (spPrtCont->GetPart());
// Append the path element to the list
listTargets.Append(pathTarget);
pathTarget->Release();

// Append the feature to be copied to a list
CATLISTV(CATBaseUnknown_var) listObjectsToCopy;
listObjectsToCopy.Append(oProtoFeat);

CATICutAndPastable_var spEndCAPOnPrtCont(spPrtCont);

// Paste the feature to the parent/target
CATLISTV(CATBaseUnknown_var) spFinalObject = spEndCAPOnPrtCont->Paste(listObjectsToCopy,&listTargets,NULL);

Greets, Daniel.

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

dr
Mitglied
CAD-/PLM-Entwickler und -Berater


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

Beiträge: 87
Registriert: 30.10.2001

erstellt am: 28. Nov. 2006 09:35    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 weissda 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von weissda:
[B]Allerdings ändert sich die Grösse der Liste nicht: vor dem paste enthält sie das zu kopierende Objekt aber es könnte sein, dass dieses dann durch das neue ersetzt wird...?

...


// Append the path element to the list
listTargets.Append(pathTarget);


Wozu soll das gut sein?

Ich würde es so probieren:
- In die erste Liste kommt das zu kopierende Objekt.
- Die zweite Liste bleibt leer
- Die Funktion aufrufen
- Dann mal prüfen, was sich in der zweiten Liste befindet.

------------------
--
Danny Reinhold
Reinhold Software Services

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

weissda
Mitglied
ingenieur


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

Beiträge: 48
Registriert: 04.08.2006

erstellt am: 28. Nov. 2006 10:00    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

Hi Danny

Ich habe auch nicht rausgefunden wozu das nötig ist (ev. um den Vater des zu kopierenden Objektes festzulegen...eben: z.B. im Pfad würde dann das zu kopierende durch das kopierte Objekt ersetzt...). Auf jeden Fall bleibt die Liste auch nach dem Aufruf leer.
Ich habe die Code-Teile aus dem UseCase:

C:\...\B16\CAADoc\CAAPartInterfaces.edu\CAAPriCutCopyPasteMain.m\src

kopiert.

Auch wenn ich das neue Objekt als CATPathElement bekäme: wie könnte ich dieses denn schlussendlich wieder als CATISpecObject editieren?

Greets und danke, Daniel.

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