Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Formel eines 3Dimensionalen Spline Auslesen

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:  Formel eines 3Dimensionalen Spline Auslesen (2719 mal gelesen)
P.Katter
Mitglied



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

Beiträge: 17
Registriert: 13.12.2009

erstellt am: 25. Nov. 2011 16:57    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 alle zusammen!

Für ein Studienprojekt in der Uni möchte ich einen durch belibiege Anzahl von Punkten (X,Y,Z - also Dreidimensional) definierten Spline auslesen. Dabei geht es mir nicht um die Koordinaten, sondern um die exakte und eindeutige Definition durch eine Formel.

Der Programmcode soll etwa so aussehen:
If "Spline" < kubisch Then
    msgbox("Spline")
end if

Hat von euch wer ne Idee? *hoff*

Wie man die Punkte eines 2D Spline ausliest wurde ja hier bei cad.de schon diskutiert, meiner Ansicht nach ist dies hier allerdings ein anderes Thema.

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

P.Katter
Mitglied



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

Beiträge: 17
Registriert: 13.12.2009

erstellt am: 26. Nov. 2011 19: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

Liege ich denn komplett falsch mit der Annahme, dass Catia sobald ich einen Spline mit mehreren Punkten definiere automatisch eine mathematische Formel für den Spline generiert?
Schließlich wäre ein Spline der nur durch ein Paar Punkte generiert wird unterdefiniert, und Catia müsste Ihn jedesmal beim Laden des Parts anders darstellen.
Ich hatte gehofft irgendwie auf die eindeutige Splinedefinition zugreifen zu können?

Hat den irgendjemand eine Idee wo ich "wenn überhaupt" nachgucken könnte? Ich weiß in VBA leider nicht einmal wie ich mir alle Grundsätzlichen Informationen des Splines anzeigen lassen kann.

Danke! 

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 26. Nov. 2011 19: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 P.Katter 10 Unities + Antwort hilfreich

Hallo,

CATIA generiert intern ganz bestimmt einen Formel, das heißt aber bei weitem noch nicht, dass man darauf zugreifen kann.
Aus VBA (und alle andere Makroversionen außer CAA) kannst du nur darauf zugreifen, was speziell dafür in CATIA programmiert wurde.

Für einen 3D Spline gibt es laut Doku (V5Automation.chm) schon einige Parameter, die man pro Puntk abfragen kann. Suche mal nach "HybridShapeSpline".
Aus diesen Daten musst du dir den Formel selbst zusammenbasteln.

Wenn du dein Formel prüfen möchtest, kannst du in CATIA Punkte auf deinen Spline berechnen und einfügen, somit kannst du dein Erfolg auch visuell prüfen (oder gleich über einen Makro mehrere Punkte als Test abfragen).

Für den 2D Spline im Sketcher habe ich diese Eigenschaften nicht gefunden. Da wird wahrscheinlich eine einfachere Definition verwendet, wozu außer den Koordinaten nichts anderes notwendig ist.

Gruß,
Zoltan

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: 26. Nov. 2011 19: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 P.Katter 10 Unities + Antwort hilfreich

Servus

Wie Catia den Spline intern abbildet kann dir vielleicht nur jemand von Dassault sagen.
AFAIK kann man aber dir Formel (bzw deren Koeffizienten) nicht abfragen.
Schau mal bei der FH Zwickau findest du AFAIR eine Beschreibung wie Catia Splines erstellt. (Unterlagen zu Freiformflächen)

Gruß
Bernd

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

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

P.Katter
Mitglied



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

Beiträge: 17
Registriert: 13.12.2009

erstellt am: 02. Dez. 2011 16:50    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


spline.png

 
Hallo alle zusammen,

vielen Dank für die Tipps. Allerdings komme ich leider doch nicht so recht weiter. Ich habe im Programm
Set hybridBodies1 = CATIA.ActiveDocument.Part.HybridBodies.Item(1).hybridshapes.Item(4)
geschrieben und den hybridbodies1 dann der Überwachung hinzugefügt. Nur leider finde ich darin überhaupt nichts geometrisches zu dem Spline - nicht einmal die 8 Punkte durch die ich Ihn definiert habe?
Bin ich in dem Bereich falsch, oder werden die geometrischen Daten die ich brauche darin gar nicht abgespeichert?

Vielen Dank!
Peter

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: 02. Dez. 2011 17: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 P.Katter 10 Unities + Antwort hilfreich

Servus
Dimensioniere mal die Variable richtig (HybridShapeSpline) dann sollten ggf mehr Eigenschaften auftauchen.
In der Doku findest du unter "HybridShapeSpline" alle Methoden und Eigenschaften die man zu ändern/auslesen eines Splines nutzen kann.

Gruß
Bernd

PS: Hast du nachgelesen wie ein Spline gebildet wird? IMHOIn my humble oppinion (Meiner Meinung nach) wirst du keine Formel davon direkt auslesen können.
PS2: Gemäß Doku kann man durch GetSplineType den Typ eines Splines auslesen (siehe Doku).

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

[Diese Nachricht wurde von bgrittmann am 02. Dez. 2011 editiert.]

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

P.Katter
Mitglied



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

Beiträge: 17
Registriert: 13.12.2009

erstellt am: 14. Dez. 2011 14: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

Leider kenne ich mich nur mit der grundsätzlichen Programmierung von VBA aus, weniger mit dem Zugriff auf Funktionen von Catia. Deswegen komme ich mit dem Aufruf vom "GetSplineType" auch nicht recht weiter.

Mein Code dazu sieht folgendermaßen aus:
...
    Dim Spline As HybridShapeSpline
    Dim UserSel As Object
    Set UserSel = CATIA.ActiveDocument.Selection
   
    Auswahl = UserSel.Item(1).Value
    Set asdf = Spline.GetSplineType(Auswahl)
...

Ausgegeben werden soll mir der Typ (z.B. Quadratisch, Kubisch) eines bestimmten Splines. Leider folgt immer "Wrong number of arguments or invalid property assignment"
In der API-Dokumentation steht:
o Func GetSplineType() As long
Gets the spline type.
Parameters:
oType
= 0 : Cubic Type Spline. = 1 : WilsonFowler Type Spline.
Aus diesem Beispiel werde ich allerdings nicht schlau. Kann mir jemand verraten was ich falsch mache?

Danke!

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

gladly
Mitglied



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

Beiträge: 56
Registriert: 02.11.2007

Catia V5R19SP9HF40 64Bit
Windows XP Pro x64

erstellt am: 14. Dez. 2011 15:40    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 P.Katter 10 Unities + Antwort hilfreich

Guten Tag,

falls der Code vollständig sein sollte wird die Function falsch genutzt.
Die Function GetSplineType benötigt ja eine Instanz des Objekts HybrdiShapeSpline.
Die VORHER getroffene Auswahl wird wohl der Spline sein.
Der Code müsste dann folgendermaßen aussehen:

Code:

    Dim Spline As HybridShapeSpline
    Dim UserSel As Object
    Set UserSel  = CATIA.ActiveDocument.Selection
 
    Spline = UserSel.Item(1).Value
    Dim asdf as Long 'Optional falls nicht Option Explizit eingestellt sein sollte...
    Set asdf = Spline.GetSplineType()

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