Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  CloseSurface über C# erstellen

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:  CloseSurface über C# erstellen (2024 mal gelesen)
CatiaDevTeam
Mitglied
Fachinformatikerin Anwendungsentwicklung

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

Beiträge: 4
Registriert: 13.05.2012

W7 Ultimate 64Bit
Catia V5 R19
Visual Studio 2010

erstellt am: 13. Mai. 2012 10:01    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


CloseSurfaceQuellcode.txt

 
Guten Morgen zusammen,

ich sitze schon seit einiger Zeit an der Aufgabe, ein CloseSurface über C# zu erstellen.
Codezeile:
CloseSurface csFromName = sfFormName.AddNewCloseSurface(refFormName);
Allerdings bekomme ich hier vom Programm folgenden Fehler:
"Beim Aufruf einer COM-Komponente wurde ein HRESULT E_FAIL-Fehler zurückgegeben."

Im Anhang mal der komplette Quellcode.

Falls einer von euch eine Idee hat oder noch weiter Infos braucht, freue ich mich über jeder Rückmeldung.

Gruß
Sandra

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. Mai. 2012 12:20    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 CatiaDevTeam 10 Unities + Antwort hilfreich

Servus
Willkommen im Forum. Bitte Systeeminfo ausfüllen.
Ich kenne mich zwar noch in C# aus, aber folgende Zeile macht wahrscheinlich Probleme:
Code:
Reference refFormName = this.catBargraphenPart.CreateReferenceFromName("")

Du willst hier eine Referenz erzeugen, giltst aber nicht den Namen des Elementes an, aus dem die Referenz erzeugen willst (vergleiche auch CreateReferenceFormObject in einem Code)

Gruß
Bernd


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

[Diese Nachricht wurde von bgrittmann am 13. Mai. 2012 editiert.]

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

CatiaDevTeam
Mitglied
Fachinformatikerin Anwendungsentwicklung

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

Beiträge: 4
Registriert: 13.05.2012

W7 Ultimate 64Bit
Catia V5 R19
Visual Studio 2010

erstellt am: 13. Mai. 2012 14:42    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,

danke für deine Antwort.
Nach ein paar erfolglosen Versuchen die Referenz auf ein Element zu setzen,
habe mir das ganze nochmal als Makro in Catia aufgezeichnet,
auch hier wird bei der Referenz keine Angabe gemacht:

Sub CATMain()
    Set documents1 = CATIA.Documents
    Set partDocument1 = documents1.Item("HAUPTSKELET_V4.4.CATPart")
    Set part1 = partDocument1.Part

    ----------------------------------------------------------------
    Set shapeFactory1 = part1.ShapeFactory
    Set reference1 = part1.CreateReferenceFromName("")
    Set closeSurface1 = shapeFactory1.AddNewCloseSurface(reference1)
    ----------------------------------------------------------------

    Set hybridBodies1 = part1.HybridBodies
    Set hybridBody1 = hybridBodies1.Item("Komponenten")
    Set hybridBodies2 = hybridBody1.HybridBodies
    Set hybridBody2 = hybridBodies2.Item("Bargraph_1-Tank")
    Set hybridBodies3 = hybridBody2.HybridBodies
    Set hybridBody3 = hybridBodies3.Item("Tacho_Dummy")
    Set hybridShapes1 = hybridBody3.HybridShapes
    Set hybridShapeSweepLine1 = hybridShapes1.Item("Sweep.10")
    Set reference2 = part1.CreateReferenceFromObject(hybridShapeSweepLine1)
    closeSurface1.Surface = reference2
    part1.UpdateObject closeSurface1
End Sub


Evtl. noch andere Ideen?
Gibt es andere Möglichkeiten eine CloseSurface per Code zu erstellen?


Gruß Sandra

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. Mai. 2012 14: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 Nur für CatiaDevTeam 10 Unities + Antwort hilfreich

Servus
Mit welcher Kurve/Fläche willst du die CloseSurface erstellen?
Bilde dann von dieser Fläche/Objekt die Reference über CreateReferenceFromObject.
Oder eben über den Namen der Fläche. (diesen bei CreatReferenceFromName angeben)

Gruß
Bernd

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

[Diese Nachricht wurde von bgrittmann am 13. Mai. 2012 editiert.]

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

Jens Hansen
Mitglied
Senior Consult


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

Beiträge: 1055
Registriert: 05.08.2000

Win7
CATIA V5 R19
VB.Net
C#

erstellt am: 14. Mai. 2012 11: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 CatiaDevTeam 10 Unities + Antwort hilfreich

Hallo,
lässt sich denn die CloseSurface von Hand erstellen? Nicht dass da schon der Fehler liegt und die Fläche gar nicht zu füllen ist.

SG

Jens

------------------
Inoffizielle CATIA-Hilfeseite
Kochbuch - CATIA V5 automatisieren

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

CatiaDevTeam
Mitglied
Fachinformatikerin Anwendungsentwicklung

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

Beiträge: 4
Registriert: 13.05.2012

W7 Ultimate 64Bit
Catia V5 R19
Visual Studio 2010

erstellt am: 14. Mai. 2012 12: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


vbacode.txt

 
Hallo Jens,

ja das CloseSurface läßt sich von Hand erstellen,
es funktionionier auch mit VBA aus Excel heraus.
Eben diesen Code habe ich versucht in C# zu übersetzen.
VBA Code siehe Anhang Zeile 48.

Gruß
Sandra

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. Mai. 2012 12:38    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 CatiaDevTeam 10 Unities + Antwort hilfreich

Servus
Du hast doch schon die Referenz von "aktHybridShapeAssemble" (also deinem erstellten Assemble) gebildet.
IMHOIn my humble oppinion (Meiner Meinung nach) sollt es dann so funktionieren:
Code:
CloseSurface csFromName = sfFormName.AddNewCloseSurface(refShapeAssemble);

Die Zeile mit "Reference refFormName ... " brauchst du dann nicht mehr. (wird eh in der übernächsten Zeile wieder überschrieben)

Gruß
Bernd

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

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

CatiaDevTeam
Mitglied
Fachinformatikerin Anwendungsentwicklung

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

Beiträge: 4
Registriert: 13.05.2012

W7 Ultimate 64Bit
Catia V5 R19
Visual Studio 2010

erstellt am: 18. Mai. 2012 17: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 zusammen,

ich konnte das Problem lösen.
Der Ursprüngliche Quellcode aus C# funktioniert mit einer kleinen Änderung ohne Probleme.
Habe versicht die CloseSurface in einem GeometricSet zu erstellen & das geht natürlich nicht!
Nachdem ich bei this.catBargraphenPart.InWorkObject = (Body)bargaphBody; auf den richtigen Body verwiesen haben, hat alles funktioniert.

Danke für eure Hilfe.
Gruß Sandra

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