Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Reference aus Hauptfunktion in Funktion übergeben

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:  Reference aus Hauptfunktion in Funktion übergeben (883 mal gelesen)
Fmueller
Mitglied
Student

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

Beiträge: 9
Registriert: 26.03.2013

Win 7 Enterprise
CATIA V5 R21

erstellt am: 10. Apr. 2013 14:02    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 habe aktuell das problem, dass ich eine so erzeugte Referenzebene (ReferenceZX):

Set partDocument1 = CATIA.ActiveDocument
Set part1 = partDocument1.Part
Set hybridShapeFactory1 = part1.HybridShapeFactory
Set originElements1 = part1.OriginElements
Set hybridShapePlaneExplicit1 = originElements1.PlaneZX
Dim referenceZX As reference
Set referenceZX = part1.CreateReferenceFromObject(hybridShapePlaneExplicit1)

in eine Function übergeben möchte, damit ich in dieser eine weitere Ebene auf Basis dieser Referenz erzeugen kann.
Dabei tritt jedoch bei folgender Zeile nen Fehler auf, mit der Anmerkung: "Object required"

Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(referenzebene, start_abstand + aktueller_abstand, False)

ich vermute stark, dass beim Aufrauf der Function irgendetwas faul ist. Aktuell probiere ich das so:


Call Hauptroutine(Schnitte_y, Filename, Richtung, min_y, Abstand_y, referenceZX)

und

Function Hauptroutine(Anzahl_schnitte, Dateipfad, Richtung, start_abstand, abstand_ebenen, referenzebene)


ich habe irgendwie dass gefühl, dass bei der übergabe der Datentyp verloren geht, weil wenn ich eine Zeile vor der fehlerhaften Zeile mit ner MSGbox nach dem Namen der Referenz frage, mir nen passender name angezeigt wird.

kann mir jemand helfen?

MfG
Felix

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: 10. Apr. 2013 14:06    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 Fmueller 10 Unities + Antwort hilfreich

Servus
Wo ist "aktueller_abstand" definiert? An die Routine wird nur die Variable "abstand_ebenen" übergaben.

Gruß
Bernd

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

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

Fmueller
Mitglied
Student

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

Beiträge: 9
Registriert: 26.03.2013

Win 7 Enterprise
CATIA V5 R21

erstellt am: 10. Apr. 2013 14:11    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

das passiert nen paar zeilen vorher in der Funktion,hab den quelltext versucht aufs wesentliche herunterzukürzen, damit das problem leichter verständlich is.

edit:

so sieht die Function bis zur fehlerhaften zeile aus:

Public Function Hauptroutine(Anzahl_schnitte, Dateipfad, Richtung, start_abstand, abstand_ebenen, referenzebene)

Dim zaehler As Integer  'laufzeitzähler
For zaehler = 0 To Anzahl_schnitte

Set ExcelApplication = GetObject(Dateipfad) ' "Excel.Application"
    ExcelApplication.worksheets(Richtung).Cells(zaehler + 4, 1).Value = zaehler   'Nummerierung der Messwerte
   
    Dim aktueller_abstand As Integer
    aktueller_abstand = 0 + zaehler * abstand_ebenen
    ExcelApplication.worksheets(Richtung).Cells(zaehler + 4, 2).Value = aktueller_abstand   'Abstand
        
       
    'Erstellung der Ebene
   
    Set hybridShapePlaneOffset1 = hybridShapeFactory1.AddNewPlaneOffset(referenzebene, start_abstand + aktueller_abstand, False)

[Diese Nachricht wurde von Fmueller am 10. Apr. 2013 editiert.]

[Diese Nachricht wurde von Fmueller am 10. Apr. 2013 editiert.]

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

Servus
Wird auch innerhalb der Unterroutine der richtige Name der der Referenz ausgegeben (MsgBox)?
Ist in der Unterroutine "hybridShapeFactory1" deklariert und zugewiesen (ggf global)?

Gruß
Bernd

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

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

Fmueller
Mitglied
Student

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

Beiträge: 9
Registriert: 26.03.2013

Win 7 Enterprise
CATIA V5 R21

erstellt am: 10. Apr. 2013 17: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

jo eigentlich hatte ich gehofft das ganze global definiert zu haben bzw. ich hatte gehofft, dass wenn ich die referenz so wie ich sie oben in der hauptfunktion erzeugt habe, einfach in die unterfunktion zu füttern kann.

das problem ist für mich nich mehr akut, hab mir schon nen workaround ausgedacht, aber eigentlich würde mich schon für die zukunft interessieren, ob der weg, den ich mir vorgestellt habe überhaupt möglich ist.

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

Servus
Ich hab es mal kurz getestet: eine Referenz kann man in eine Unterfunktion übergeben.
Welches Objekt wurde bei dir "angemeckert" (Watchfester)

Gruß
Bernd

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

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

Fmueller
Mitglied
Student

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

Beiträge: 9
Registriert: 26.03.2013

Win 7 Enterprise
CATIA V5 R21

erstellt am: 10. Apr. 2013 17: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

hm die fehlermeldung selber hat einfach nur "object requiered" ausgegeben und auf die genannte zeile verwiesen.
da ".AddNewPlaneOffset" nur eine Referenzebene und einen Abstand benötigt, kann ja in meinen augen nur die fehlende Referenz mit Object gemeint sein.

danke schonmal für deine mühe 

Mfg Felix

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