Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Winkel zwischen erzeugten Linien ausgeben

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:  Winkel zwischen erzeugten Linien ausgeben (1103 mal gelesen)
Dionisios
Mitglied
Student


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

Beiträge: 10
Registriert: 18.04.2003

erstellt am: 27. Apr. 2003 22: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

Servus,
Wie kann ich den Winkel zwischen 2 von meinem VB-Programm erzeugten Linien ausgeben?
Ich habe verschiedenes probiert, aber nichts hat geklapt.
Auch wenn vielleicht einige Funktionen/Methoden nicht für das ermittlen des Winkels nützlich sind,
würde ich auch gerne wissen wie diese funktionieren.

1000 Dank
Alex

'----------------------------------------------------------------------------------------------------------------------
 
Dim LinieL As Line2D
Dim DirLinieL As HybridShapeDirection 'oder Object
'Call LinieL.GetDirection(DirLinieL)
LinieL.GetDirection DirLinieL      ' mit Dim: Fehlermeldung: Typen unverträglich
              ' ohne Dim: Variable verwendet einen in Visual basic nicht unterstützten Typ der Automatisierung
'----------------------------------------------------------------------------------------------------------------------
   
Set DirLinieL = hybridShapeFactory1.AddNewDirection(refParalelleR)
                                          ' Fehlermeldung: Das Verfahren AddNewDirection ist fehlgeschlagen

'----------------------------------------------------------------------------------------------------------------------   
   
Result = LinieL.SetData(1#, 1#, 1#, 1#)          ' Fehlermeldung: Das Verfahren SetData ist fehlgeschlagen
   
'----------------------------------------------------------------------------------------------------------------------

Dim LinieTest As Line2D
LinieTest.SetData = 1# , 1#, 1#, 1#                    'Fehler
   
'**********************************************************************************************************************

Dim TangenteR as HybridShapeLineBiTangent
Set hybridShapeDirection2 = hybridShapeFactory1.AddNewDirection(refTangenteR)
Set Lengthx = hybridShapeDirection2.X                    ' Fehler: Das Verfahren X ist fehlgeschlagen

'----------------------------------------------------------------------------------------------------------------------

Set hybridShapeLineExplicit1 = hybridShapes1.Item("Tangente.L")
Set reference1 = part1.CreateReferenceFromObject(hybridShapeLineExplicit1)
Set hybridShapeLineExplicit2 = hybridShapes1.Item("Tangente.R")
Set reference2 = part1.CreateReferenceFromObject(hybridShapeLineExplicit2)

Dim TheSPAWorkbench As Object
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")

Dim TheMeasurable As Object 'Measurable
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(reference1)

Dim MinimumDistance As Object 'Angle
MinimumDistance = TheMeasurable.GetAngleBetween(reference2)


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

msk74
Mitglied
Student

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

Beiträge: 3
Registriert: 01.08.2003

erstellt am: 14. Aug. 2003 11:17    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 Dionisios 10 Unities + Antwort hilfreich

hi alex,
habe gerade selber mit winkeln zu tun gehabt.
hier ein beispielcode unter CATIA v5 r11, der bei mir funktioniert. unter r9 ist es mir jedoch nicht gelungen. evtl. ist die spaworkbench nicht unter r9 implementiert?

mfg
shani

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


Sub CATMain()
Set Bauteil = CATIA.ActiveDocument.Part
Set Wzk3D = Bauteil.HybridShapeFactory
Set HBody = Bauteil.HybridBodies.Add
HBody.Name = "Winkel-Test"

'Erzeugung von Punkten
Dim P1, P2, P3 As HybridShapePointCoord
Set P1 = Wzk3D.AddNewPointCoord(10, 10, 10)
Set P2 = Wzk3D.AddNewPointCoord(20, 10, 10)
Set P3 = Wzk3D.AddNewPointCoord(15, 15, 10)
Set RefP1 = Bauteil.CreateReferenceFromObject(P1)
Set RefP2 = Bauteil.CreateReferenceFromObject(P2)
Set RefP3 = Bauteil.CreateReferenceFromObject(P3)
HBody.AppendHybridShape P1
HBody.AppendHybridShape P2
HBody.AppendHybridShape P3

' Erzeugung von Linien
Dim linie1, linie2, linie3 As HybridShapeLinePtPt
Set linie1 = Wzk3D.AddNewLinePtPt(RefP1, RefP2)
Set linie2 = Wzk3D.AddNewLinePtPt(RefP2, RefP3)
Set linie3 = Wzk3D.AddNewLinePtPt(RefP3, RefP1)
Set Rk1 = Bauteil.CreateReferenceFromObject(linie1)
Set Rk2 = Bauteil.CreateReferenceFromObject(linie2)
Set Rk3 = Bauteil.CreateReferenceFromObject(linie3)
HBody.AppendHybridShape linie1
HBody.AppendHybridShape linie2
HBody.AppendHybridShape linie3

Bauteil.Update

' Winkel
Dim TheSPAWorkbench As Workbench
Dim aTheMeasurable, bTheMeasurable, cTheMeasurable As Measurable
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set aTheMeasurable = TheSPAWorkbench.GetMeasurable(Rk1)
Set bTheMeasurable = TheSPAWorkbench.GetMeasurable(Rk2)
Set cTheMeasurable = TheSPAWorkbench.GetMeasurable(Rk3)

Angle1 = aTheMeasurable.GetAngleBetween(Rk2)
Angle2 = bTheMeasurable.GetAngleBetween(Rk3)
Angle3 = cTheMeasurable.GetAngleBetween(Rk1)
MsgBox ("Winkel zwischen Linie 1,2: " & Angle1 & Chr(10) & "Winkel zwischen Linie 2,3: " & Angle2 & Chr(10) & "Winkel zwischen Linie 3,1: " & Angle3)

End Sub

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

Dionisios
Mitglied
Student


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

Beiträge: 10
Registriert: 18.04.2003

erstellt am: 15. Aug. 2003 19: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

Hi msk74,

wie ich sehe habe die catia Leute einen der vielen Fehlern behoben. Soweit ich sehe haste ja das selbe wie ich gemacht, nur bei dir hats geklappt.
Danke fürs Feedback.

Gruß Alex

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