Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Visual Studio 2005 - VB.net Was mach ich falsch?

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:  Visual Studio 2005 - VB.net Was mach ich falsch? (2636 mal gelesen)
JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 29. Okt. 2007 16:07    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 bin grad dabei in Visual Studio 2005 ein Programm zum Ansteuern von Catia zu schreiben...
Leider tritt bei mir immer folgender Fehler auf:

Nachdem ich mein aktives Part bekommen durch "GetCATIAPartDocument" bekommen hab und mir nen Hybridbody erstellen will, bekomm ich immer die Fehlermeldung:

Zitat:
Eine nicht behandelte Ausnahme des Typs "System.Runtime.InteropServices.COMException" ist in Microsoft.VisualBasic.dll aufgetreten.

Zusätzliche Informationen: Das Verfahren Item ist fehlgeschlagen


Was ist hierbei mein Fehler? Ich hatte vorher den Code in VB von Excel geschrieben und da hat es ohne Probleme funktioniert...

Hier ist der Codeausschnitt, der den Fehler produiert:

Code:
  'Get CATIA
        Dim PtDoc As Object
        PtDoc = GetCATIAPartDocument()

        'Get HybridBody
        Dim myHBody As Object

        'Hier tritt der Fehler auf:
        myHBody = PtDoc.Part.HybridBodies.Item("GeometryFromXFLR")


MfG Jürgen

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

noir333
Mitglied
Ingenieur


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

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 29. Okt. 2007 17:56    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 JuergenHeckmann 10 Unities + Antwort hilfreich

Hallo Jürgen,

ich weiss zwar nicht was "PtDoc = GetCATIAPartDocument()", aber ich gehe davon aus, dass dies eine Function ist, die Dir das aktuelle Document aus Catia holt.
Zum Erzeugen musst Du dann
myHBody = PtDoc.Part.HybridBodies.Add
und
myHBody.Name="GeometryFromXFLR"
zum Benennen eingeben.
mit Item kannst Du nur vorhandene HBodies ansprechen.


------------------
-----------

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 30. Okt. 2007 12:30    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!

Vielen Dank für die Antwort...
Das funktioniert schon mal sehr gut :-)

Jetzt hab ich nur ein 2. Problem, was bei meinem vorherigen Code auch nicht aufgetreten war:

Ich füge eine Reihe von Punkten ein, was auch noch funktioniert.

Diese Punkte möchte ich dann einem Spline hinzufügen. Hierbei kommt immer folgende Fehlermeldung:

Zitat:
Eine nicht behandelte Ausnahme des Typs "System.Runtime.InteropServices.COMException" ist in Microsoft.VisualBasic.dll aufgetreten.

Zusätzliche Informationen: Typkonflikt. (Ausnahme von HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))


Ich kann leider nirgends etwas über HRESULT finden...

mein code an dieser stelle sieht folgender maßen aus:

Code:
        Do
            'Add new Point into document
            PassingPtArray(index) = PtDoc.Part.HybridShapeFactory.AddNewPointCoord(foil.dAFoilcoordiantes(0, index), foil.dAFoilcoordiantes(1, index), foil.dAFoilcoordiantes(2, index))
            myHBody.AppendHybridShape(PassingPtArray(index))
            index = index + 1
        Loop Until (index = foil.intCoordinatenumber - 1)


        'Start building spline
        'Are there enough points ?
        If (index < 2) Then

            MsgBox("Not enough points for a spline. Spline deleted")

        Else

            Spline = PtDoc.Part.HybridShapeFactory.AddNewSpline
            Spline.SetSplineType(0)
            Spline.SetClosing(0)


            'Creates and adds points to the spline
            intCount = 0
            Do
                ReferenceOnPoint = PtDoc.Part.CreateReferenceFromObject(PassingPtArray(intCount))
                Spline.AddPointWithConstraintExplicit(ReferenceOnPoint, Nothing, -1, 1, Nothing, 0)

                intCount = intCount + 1

            Loop Until intCount = index - 1
            myHBody.AppendHybridShape(Spline)


Woran könnte das liegen?

Gruß Jürgen

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 31. Okt. 2007 01:05    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 miteinander!

Ich hab rausgefunden, dass der Fehler in folgender Zeile auftritt:

Code:
ReferenceOnPoint = PtDoc.Part.CreateReferenceFromObject(PassingPtArray(intCount))

Und zwar, durchläuft er einmal die Schleife und bricht danach ab...
In meinem PassingPtArray stehen alles Com Objekte drin...
Ich weiss daher nicht, was nun bei m 2. durchlauf anders sein soll, als bei m ersten

Gruß Jürgen

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

noir333
Mitglied
Ingenieur


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

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 31. Okt. 2007 09:44    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 JuergenHeckmann 10 Unities + Antwort hilfreich

Hallo Jürgen,
versuch mal vor dem Erzeugen des Splines ein
part.update
damit alle Punkte upgedatet werden, die Du erzeigt hast, vorher kann man mit denen manchmal nicht weiter arbeiten!

------------------
-----------

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 31. Okt. 2007 09: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

Auch mit nem update vorher funktionierts leider nich...
:-(
Ich bin da grad n bissl am verzweifeln... Ich kann mir eigentlich fast nich vorstellen, das VBA von Excel und VB.net soweit auseinander gehn...
Ich werd mir mal schaun, ob ich darüber in unser Bibliothek n gutes Buch find...

Gruß Jürgen

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 31. Okt. 2007 15: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

Hallo nochmal...

Ich muss mich korrigieren...

Das Problem ist nicht die referenz zuweisung sondern erst die Zeile

Code:
Spline.AddPointWithConstraintExplicit(ReferenceOnPoint, Nothing, -1, 1, Nothing, 0)

Er durchläuft die schleife auch nicht einmal sondern bricht schon bei dem ersten durchgang ab...

Gruß

Jürgen

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

noir333
Mitglied
Ingenieur


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

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 31. Okt. 2007 16: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 Nur für JuergenHeckmann 10 Unities + Antwort hilfreich

Hallo Jürgen,

hier mal eine meiner Zeilen die das gleiche macht:

Code:

spl1.AddPointWithConstraintExplicit(refp1, Nothing, -1.0, 1, Nothing, 0.0)

Vielleicht macht das ja einen Unterschied, mit dem 1.0 ,weil diese Größen Double sein müssen, probier mal....

Ergänzung: ist der Spline auch als HybridShapeSpline deklariert?

------------------
-----------

[Diese Nachricht wurde von noir333 am 31. Okt. 2007 editiert.]

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 01. Nov. 2007 01:24    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!

Hier ist jetzt mal die komplette spline sub von mir...

die variable foil ist einfach ein struct in dem nen array mit coordinaten drin ist und die Anzahl der Koordinaten gespeichert ist.

Deklariert hab ich doch den spline durch forgende zeile, oder?
            Spline = PtDoc.Part.HybridShapeFactory.AddNewSpline

Code:
    Sub CreationSpline(ByVal foil As foil, ByVal Spline As Object)
        Dim index As Integer
        Dim intCount As Integer
        Dim PassingPtArray(foil.intCoordinatenumber - 1) As Object
        Dim ReferenceOnPoint As Object

        'Get CATIA
        Dim PtDoc As Object
        PtDoc = GetCATIAPartDocument()

        'Get HybridBody
        Dim myHBody As Object
        myHBody = PtDoc.Part.HybridBodies.Add
        myHBody.Name = "imported data"

        index = 0

        Do
            'Add new Point into document
            PassingPtArray(index) = PtDoc.Part.HybridShapeFactory.AddNewPointCoord(foil.dAFoilcoordiantes(0, index), foil.dAFoilcoordiantes(1, index), foil.dAFoilcoordiantes(2, index))
            myHBody.AppendHybridShape(PassingPtArray(index))
            index = index + 1
        Loop Until (index = foil.intCoordinatenumber)

        PtDoc.Part.Update()

        'Start building spline
        'Are there enough points ?
        If (index + 1 < 2) Then

            MsgBox("Not enough points for a spline. Spline deleted")

        Else

            Spline = PtDoc.Part.HybridShapeFactory.AddNewSpline
            Spline.SetSplineType(0)
            Spline.SetClosing(0)


            'Creates and adds points to the spline
            intCount = 0
            Do
                ReferenceOnPoint = PtDoc.Part.CreateReferenceFromObject(PassingPtArray(intCount))
                Spline.AddPointWithConstraintExplicit(ReferenceOnPoint, Nothing, -1.0, 1, Nothing, 0.0)

                intCount = intCount + 1
            Loop Until (intCount = foil.intCoordinatenumber - 1)

            myHBody.AppendHybridShape(Spline)

        End If

        PtDoc.Part.Update()

    End Sub


Leider hat das mit dem 1.0 statt 1 nicht geklappt. Es muss aber wirklich so sein, dass ich irgend ne n falschen typ übergebe. Die Fehlermeldung gibt mir als Zusatzinfo zurück: Typkonflikt


Gruß Jürgen

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

noir333
Mitglied
Ingenieur


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

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 01. Nov. 2007 13: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 Nur für JuergenHeckmann 10 Unities + Antwort hilfreich

Hallo Jürgen,
also Du hast Spline als Object deklariert! Versuch mal:
Code:

Sub CreationSpline(ByVal foil As foil, ByVal Spline As HybridShapeSpline)



Außerdem bin ich mir nicht sicher, dass das mit dem "ByVal" so in Ordnung ist. Eigentlich dürfen ByVal definierte Variablen nicht in der SUB verändert werden, evtl. mal ByRef versuchen.

ReferenceonPoint hast Du auch als "Object" deklariert, das muss aber "reference" sein.

Also: Du solltest alle Catia Objekte genauso deklarieren, was sie sind:

Dim linie as HybrdiShapeline
Dim Spline as HybridshapeSpline
Dim Point as hybridshapepointon Coord

etc...

Wenn Du mal nicht im voraus weist, welcher Typ es sein wird, dann solltest Du "AnyObject" verwenden (für Catia-Objekte) , NICHT Object.

------------------
-----------

[Diese Nachricht wurde von noir333 am 01. Nov. 2007 editiert.]

[Diese Nachricht wurde von noir333 am 01. Nov. 2007 editiert.]

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 01. Nov. 2007 13:33    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!

Mein Problem mit dem deklarieren wie z.b. "...as reference" ist, dass ich immer gesagt bekomme "typ nicht deklariert" was mir irgendwo auch klar ist, da vb ja nicht von vornherein die catiaspezifischen variablen kennen kann. ich hatte eben auch das selbe problem als ich mit VBA programmiert hatte und dann hab ich das alle Catiaspezifischen variablen als objekte deklariert und dann hatte es funktioniert. Merkwürdig...

nun ja...
muss ja da irgend ne dll oder so von catia vorher einbinden, damit das funktioniert? wenn ja, mit welchem befehl mach ich n das??

(sorry, dass ich so viele fragen stell, aber ich steh noch relativ am anfang der programmierung mit Catia)

MfG Jürgen

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

noir333
Mitglied
Ingenieur


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

Beiträge: 148
Registriert: 27.01.2004

Dell Precision 450 Dual Xeon, 2MB RAM,
XP SP2, NX3
V5R17SP3

erstellt am: 01. Nov. 2007 14: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 JuergenHeckmann 10 Unities + Antwort hilfreich


tlb.jpg

 
Hallo Jürgen,
hat mich gewundert, dass Du überhaupt was zum laufen bekommen hast!
Also: Um auf die Catia-Objekte zugreifen zu können musst Du die TLB'S
zum Projekt hinzufügen:

1. Eigenschaften des Projektes öffnen: Projekt -> Test1-Eigenschaften -> Verweise
2. Catia Bibliotheken hinzufügen: Knopf "Hinzufügen" drücken und unter "Durchsuchen" den Pfad zu den Catia-Bibliotheken angeben.
(z.B. "C:\Program Files\Dassault Systemes\B16\intel_a\code\bin" Achtung! Release beachten!)
3. Die Dateien "CATGitTypeLib.tlb" "InfTypeLib.tlb" "MecModTypeLib.tlb" "PartTypeLib.tlb" "SPATypeLib.tlb" auswählen und mit OK bestätigen.

Dann in dem Fenster darunter alle neuen Libs mit Haken versehen. Siehe Screenshot.

------------------
-----------

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

forrestq
Mitglied
student

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

Beiträge: 4
Registriert: 06.12.2007

erstellt am: 06. Dez. 2007 13:48    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 JuergenHeckmann 10 Unities + Antwort hilfreich

habe versucht den program laufen zu lassen aber dann krieg ich 2 fehlern, habe das genau kopiert was hier ist. kann jemand mir helfen.
Sry jürgen bin auf keine hilfe

mfg

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 06. Dez. 2007 13:54    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,

Erstmal noch Danke an noir333!!! Es funktioniert jetzt alles und ich kann mich nun neuen Herausforderungen stellen ;-)

@forrestq:

Was bekommst du denn für Fehler angezeigt? und welchen code genau, hast du versucht laufen zu lassen?

Gruß Jürgen

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

forrestq
Mitglied
student

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

Beiträge: 4
Registriert: 06.12.2007

erstellt am: 06. Dez. 2007 14: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 JuergenHeckmann 10 Unities + Antwort hilfreich

@ Jürgen  hier ist der code:
Sub CreationSpline(ByVal foil As foil, ByVal Spline As HybridShapeSpline)
    Dim index As Integer
    Dim intCount As Integer
    Dim PassingPtArray(foil.intCoordinatenumber - 1) As Object
    Dim ReferenceOnPoint As Object
    Dim line As HybrdiShapeline
    Dim Spline As HybridshapeSpline
    Dim Point as hybridshapepointon Coord

    'Get CATIA
    Dim PtDoc As Object
    PtDoc = GetCATIAPartDocument()

    'Get HybridBody
    Dim myHBody As Object
    myHBody = PtDoc.Part.HybridBodies.Add
    myHBody.Name = "imported data"

    index = 0

    Do
        'Add new Point into document
        PassingPtArray(index) = PtDoc.Part.HybridShapeFactory.AddNewPointCoord(foil.dAFoilcoordiantes(0, index), foil.dAFoilcoordiantes(1, index), foil.dAFoilcoordiantes(2, index))
        myHBody.AppendHybridShape(PassingPtArray(index))
        index = index + 1
    Loop Until (index = foil.intCoordinatenumber)

    PtDoc.Part.Update()

    'Start building spline
    'Are there enough points ?
    If (index + 1 < 2) Then

        MsgBox("Not enough points for a spline. Spline deleted")

    Else

        Spline = PtDoc.Part.HybridShapeFactory.AddNewSpline
        Spline.SetSplineType(0)
        Spline.SetClosing(0)


        'Creates and adds points to the spline
        intCount = 0
        Do
            ReferenceOnPoint = PtDoc.Part.CreateReferenceFromObject(PassingPtArray(intCount))
            Spline.AddPointWithConstraintExplicit(ReferenceOnPoint, Nothing, -1.0, 1, Nothing, 0.0)

            intCount = intCount + 1
        Loop Until (intCount = foil.intCoordinatenumber - 1)

        myHBody.AppendHybridShape(Spline)

    End If

    PtDoc.Part.Update()

End Sub

aso nur kopiert was da war.
fehler: keine sub main sag er

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

JuergenHeckmann
Mitglied
Student


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

Beiträge: 17
Registriert: 29.04.2007

erstellt am: 09. Dez. 2007 16:10    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

nun ja...

das ist eben nur eine sub meines programmes... das ganze programm hat mittlerweile ein paar tausend zeilen code.. das nächste ist, dass ich eigene strukturen benutze hier z.b. die struktur "foil".

Gruß Jürgen

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