Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  HybridShapes später appenden

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:  HybridShapes später appenden (646 mal gelesen)
Adamewin
Mitglied


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

Beiträge: 6
Registriert: 14.04.2014

CATIA V5 R21 SP2 HF 57, Programmierung in C#

erstellt am: 14. Apr. 2014 17: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

Hallo,

in meinem aktuellen Projekt habe ich viele Geometrieelemente, die zwar erstellt (computed, upgedated), aber nicht appended werden, da es sich nur um Hilfsgeometrie handelt.

Die Referenzen auf die Elemente habe ich auf einem Stack, so dass ich sie für weitere Operationen verwenden kann.
Am Ende wird der Stack wieder durchlaufen und alle Elemente gelöscht.

Insbesondere im Fehlerfall möchte ich jetzt aber einige Elemente doch Im Baum haben, kann sie aber nicht mehr appenden (der Versuch resultiert in einer COM Exception).

Kennt jemand eine Möglichkeit, die letzten n Elemente vom Stack zum Baum hinzuzufügen?
Das einzige, was mit zur Zeit einfällt, wäre alles sofort hinzuzufügen und überflüssiges später zu löschen. Bei der Zahl von Operationen um die es hier geht, wäre das allerdings ein erheblicher (nicht hinnehmbarer) Performance Verlust.

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. Apr. 2014 18: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 Adamewin 10 Unities + Antwort hilfreich

Servus
Wie sieht den dein Stack aus? Was ist in dem Stack drin (nur CATReferenzen oder die Hybridshapes)?

Gruß
Bernd

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

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

Adamewin
Mitglied


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

Beiträge: 6
Registriert: 14.04.2014

CATIA V5 R21 SP2 HF 57, Programmierung in C#

erstellt am: 15. Apr. 2014 08:52    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,

es sind verschiedene HybridShapes, gespeichert in der Reihenfolge, in der sie erstellt wurden.

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. Apr. 2014 09:09    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 Adamewin 10 Unities + Antwort hilfreich

Servus
kannst du dann nicht deinen Stack per Schleife abarbeiten und zum GeoSet "appenden"?
Oder stehe ich gerade auf dem Schlauch?

Gruß
Bernd

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

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

Adamewin
Mitglied


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

Beiträge: 6
Registriert: 14.04.2014

CATIA V5 R21 SP2 HF 57, Programmierung in C#

erstellt am: 15. Apr. 2014 10: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,

per Schleife abarbeiten ist kein Problem, nur wenn ich versuche, das jeweilige Element zu "appenden", bekomme ich nur eine COM Exception (bzw. einen Automatisierungsfehler, wenn ich es mit VBA versuche).

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. Apr. 2014 10: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 Nur für Adamewin 10 Unities + Antwort hilfreich

Servus
Wie sieht dein Code aus? Was übergibst du an "AppendHybridShape"?

Gruß
Bernd

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

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

Adamewin
Mitglied


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

Beiträge: 6
Registriert: 14.04.2014

CATIA V5 R21 SP2 HF 57, Programmierung in C#

erstellt am: 15. Apr. 2014 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

Hallo,

der Code sieht prinzipiell so aus:

Stack<AnyObject> geo;
intersSideSurf = GSDFactory.AddNewIntersection((Reference)pointsPlanesRes.Plane, (Reference)InputElements.SideSurface);
intersSideSurf.Compute();
geo.Push(intersSideSurf);
...
stuffBody.AppendHybridShape((HybridShape)geo.Pop());

ich übergebe also verschiedene HybridShapes.

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. Apr. 2014 10:49    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 Adamewin 10 Unities + Antwort hilfreich

Servus
ich kenne mich in C# nicht aus. Wie sieht der Code in VBA aus?
Musst du nicht die einzelnen Objekt an "AppendHybridShape" und nicht den ganzen Stack?

Gruß
Bernd

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

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

Adamewin
Mitglied


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

Beiträge: 6
Registriert: 14.04.2014

CATIA V5 R21 SP2 HF 57, Programmierung in C#

erstellt am: 15. Apr. 2014 10:55    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,
VBA Code habe ich grade nicht greifbar.

Aber die Zeile:

  stuffBody.AppendHybridShape((HybridShape)geo.Pop());

befindet sich in einer Schleife und übergibt jeweils das letzte Element auf dem Stack an AppendHybridShape.
Die Objekte werden also einzeln übergeben.
Verschiedene Reihenfolgen habe ich auch sschon - erfolglos - ausprobiert.

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 15. Apr. 2014 15: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 Nur für Adamewin 10 Unities + Antwort hilfreich

Liegts vielleicht eher daran, dass Deine CATIA-Session einen Zustand erreicht hat andem das nicht mehr möglich ist?

Oder: Wenn Du Elemente nicht "appendest", dann landen sie automatisch unter dem nächsten Objekt, welches diese benutzt, vielleicht sind sie dadurch bereits irgendwo schon drangehangen und Du musst das nächst höhere Objekt finden.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

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