Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Mindest Radius von 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:  Mindest Radius von Spline auslesen (2530 mal gelesen)
SteelNinja
Mitglied
Student - Maschinenbau

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

Beiträge: 9
Registriert: 03.02.2016

Catia V5R18
Catia V5R21
Catia V5R25

erstellt am: 17. Feb. 2016 09:43    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


min-Biegeradius_01.jpg


min-Biegeradius_02.jpg

 
Hallo zusammen,

ich habe folgendes Problem. Und zwar möchte ich von einem Spline bzw. von einer Tube(arbeite mit dem Tool Tubing Design) den mindest-Biegeradius auslesen und in Excel ausgeben.
Bei der Tube wird dieser schön im Fenster ausgegeben. Siehe Bild 1.

Excel Ausgabe und so stellt kein Problem dar.
Ich schaffe es nur nicht, den richtigen Wert zu greifen und den dann auszuwerfen.

Idee war noch, alles über den integrierten Spline zu machen.
Hab mal folgendes probiert. Hauptsächlich aus aufgezeichnetem Makro rausgeschrieben.

Code:

Sub CATMain()

Dim documents1 As Documents
Set documents1 = CATIA.Documents

Dim partDocument1 As PartDocument
Set partDocument1 = documents1.Item("TUBE_FLEXIB_0_a08_56bb22c9_2037d.CATPart")

Dim part1 As Part
Set part1 = partDocument1.Part

MsgBox part1.Name, vbInformation

Dim hybridBodies1 As HybridBodies
Set hybridBodies1 = part1.HybridBodies

Dim hybridBody1 As HybridBody
Set hybridBody1 = hybridBodies1.Item("RibPath")

Dim hybridShapes1 As HybridShapes
Set hybridShapes1 = hybridBody1.HybridShapes

Dim spline1 As HybridShapeSpline
Set spline1 = hybridShapes1.Item(1)

MsgBox spline1.Name, vbInformation

Dim Radius As Length
Set Radius = spline1.GetCurvatureRadius(2)

MsgBox Radius.Value, vbInformation


End Sub



Damit kann ich zumindest den Splinenamen dann ausgeben. (Probehalber in einer Msgbox)
Ich habe nur ein Problem mit dem Code "GetCurvatureRadius()". Verstehe die Hilfe dabei auch nicht wirklich.

Zitat:

Aus der V5Automation:
o Func GetCurvatureRadius( long  iPos) As CATIALength 

Returns the curvature radius value for each point of the spline.
Parameters:
iPos
The position of the point in the spline.
Legal values: first position is 1. The position cannot be 0.
oRadius
The curvature radius value at this point


Was genau muss man da als Punkt angeben? Und den Min-Radius bekomme ich dadurch ja auch nur schwierig, oder?!

Noch eine Idee ist, dass ganze beim Spline über den Befehl "Porcupine Curvature Analysis" zu machen. Dabei bekomme ich den Min-Radius, aber auch nur als Bild.

Hat jemand dazu noch andere Ideen oder sowas schonmal anders bewerkstelligt?

Das ganze soll in VBA programmiert werden und vorzugsweise unter Catia V5R18 laufen. Brauchen tue ich es für meine Studienarbeit an der Hochschule.

Viele Grüße

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: 17. Feb. 2016 12: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 SteelNinja 10 Unities + Antwort hilfreich

Servus
Mit der Methode "GetCurvatureRadius" kannst du den Radius an jeder Steller eine Kurve auslesen. Dabei muss ein Längenparameter mit angegeben werden (0 ist der Anfang, 1 das Ende der Kurve, zB 0.5 die Mitte)
Wenn du dies nutzen möchtest, könntest du über eine Schleife den Längenparameter um 0.001 erhöhen und überall den Radius auslesen. Den Minimalwert kannst du dann weiterverarbeiten (wird wohl recht langsam sein).
Wie du auf die Krümmungsanalyse zugreifen kannst ist mir nicht bekannt.

Gruß
Bernd

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

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

SteelNinja
Mitglied
Student - Maschinenbau

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

Beiträge: 9
Registriert: 03.02.2016

Catia V5R18
Catia V5R21
Catia V5R25

erstellt am: 22. Feb. 2016 08: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

Hey Bernd,

Also ich hab des ganze mal ausprobiert und getestet.
Bei mir funktioniert das auf deine Weise nicht.
Ich kann nur ganze Zahlen bei der Methode "GetCurvatureRadius" eingeben. Dabei auch nur die Zahlen, aus wie vielen Punkten mein Spline besteht.
So wie ich das verstehe, kann ich damit dann nur die Radien an den Punkten auslesen. Kannst du das bestätigen?

Abgesehen davon, funktioniert aber noch nicht einmal die Ausgabe des Radius an den Punkten^^

Grüße

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: 22. Feb. 2016 09:12    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 SteelNinja 10 Unities + Antwort hilfreich


GSD_MinRadius.png

 
Servus

Ups, du hast recht (mit Formel konnte man ja so was machen)
Alternativ kannst du auch mittels Knowlegware-Formel den minimalen Radius ermitteln (siehe Bild)

Gruß
Bernd

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

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

SteelNinja
Mitglied
Student - Maschinenbau

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

Beiträge: 9
Registriert: 03.02.2016

Catia V5R18
Catia V5R21
Catia V5R25

erstellt am: 22. Feb. 2016 12:35    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

Danke für den Tipp.
Genau so funktioniert's tadellos.

Grüße

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