Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Linie: Punkt - Richtung

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:  Linie: Punkt - Richtung (1229 mal gelesen)
martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2018 bis V5-6R2022

erstellt am: 20. Sep. 2016 11: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

Hallo,
kann mir bitte jemand mitteilen, warum der folgende Code nicht funktioniert? Vielen Dank schon mal im voraus.

    'Punkt erstellen
    Dim HybridShapeFactory1 As HybridShapeFactory
    Set HybridShapeFactory1 = CATIA.ActiveDocument.Part.HybridShapeFactory
   
    Dim Point1 As Point
    Set Point1 = HybridShapeFactory1.AddNewPointCoord(0, 0, 0)
    Point1.Compute
    HybridBody2.AppendHybridShape Point1
    Point1.Name = "Nullpunkt"
   
    'Ebene erstellen
    Dim OriginElements1 As OriginElements
    Set OriginElements1 = CATIA.ActiveDocument.Part.OriginElements
   
    Dim Plane1 As Plane
    Set Plane1 = HybridShapeFactory1.AddNewPlaneOffsetPt(OriginElements1.PlaneZX, Point1)
    Plane1.Compute
    HybridBody2.AppendHybridShape Plane1
    Plane1.Name = "zx-Ebene"
   
   
   
    'Linie erstellen
    Dim Line1 As Line
    Set Line1 = HybridShapeFactory1.AddNewLinePtDir(Point1, CATIA.ActiveDocument.Part.OriginElements.PlaneYZ, 0, 20, True)
    Line1.Compute
    HybridBody2.AppendHybridShape Line1
    Line1.Name = "x-Line"

Das Problem ist dabei offensichtlich die Zeile:

Set Line1 = HybridShapeFactory1.AddNewLinePtDir(Point1, CATIA.ActiveDocument.Part.OriginElements.PlaneYZ, 0, 20, True)

(Nur zur Info: Der Punkt und die Ebene werden einwandfrei erstellt - nur die Linie eben nicht...)

Danke und Gruß
Martin

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: 20. Sep. 2016 11:22    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 martin2 10 Unities + Antwort hilfreich

Servus Martin
Gemäß der Doku benötigt AddNewLinePtDir den Punkt als Reference und die Richtung als Direction.
Probier es mal so:
Code:

   'Referenzen bilden
    dim RefPoint as Reference
    Set RefPoint = CATIA.ActiveDocument.Part.CreateReferenceFromObject(Point1)

    dim RefDirection as Reference
    Set RefDirection = CATIA.ActiveDocument.Part.CreateReferenceFromObject(Plane1)

   'Direction bilden
     Dim MyDirection As HybridShapeDirection
     Set MyDirection = hybridShapeFactory1.AddNewDirection(RefDirection)

   'Linie erstellen
    Dim Line1 As Line
    Set Line1 = HybridShapeFactory1.AddNewLinePtDir(RefPoint, MyDirection, 0, 20, True)
    Line1.Compute
    HybridBody2.AppendHybridShape Line1
    Line1.Name = "x-Line"


Das lässt sich auch gut mit dem Makrorekorder aufnehmen.

Gruß
Bernd

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

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 20. Sep. 2016 11: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

Hallo,

Vielen Dank - es funktioniert!!!

Gruß
Martin

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

Windows 11 / 64bit
CATIA V5-6R2018 bis V5-6R2022

erstellt am: 20. Sep. 2016 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


Extremum_20092016.png

 
Hallo nochmal,
noch eine weitere Frage - mit ähnlicher Problematik...

Warum funktioniert hier der Code nicht:

    'Äußerster Punkt "xmax" erstellen
    'Referenzen bilden
    Dim RefBody As Reference
    Set RefBody = CATIA.ActiveDocument.Part.CreateReferenceFromObject(CATIA.ActiveDocument.Part)
    'Dim RefLinie As Reference
    Set RefLinie = CATIA.ActiveDocument.Part.CreateReferenceFromObject(Line1)
   
    Dim xmax As HybridShapeExtremum
    Set xmax = HybridShapeFactory1.AddNewExtremum(RefBody, RefLinie, 1)


Und als Zusatzfrage noch: Wie kann ich beim "Äußersten Punkt" die beiden optionalen Richtungen inkl. Min/Max (siehe Bild im Anhang) ebenfalls noch übergeben?

Danke und Gruß
Martin

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: 20. Sep. 2016 14:28    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 martin2 10 Unities + Antwort hilfreich

Servus
Vermutlich muss du die Reference aus dem Hautkörper bilden und nicht vom ganzen Part.
Code:
Set RefBody = CATIA.ActiveDocument.Part.CreateReferenceFromObject(CATIA.ActiveDocument.Part.Mainbody)

Die zusätzlichen Richtungen kannst du über die Eigenschaften Direction2 und Direction3 definieren (Makrorekorder und Doku) bzw Min/Max über ExtremumType2 und ExtremumType3.

Gruß
Bernd

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

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

martin2
Mitglied
Konstrukteur


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

Beiträge: 941
Registriert: 05.2002.27

erstellt am: 21. Sep. 2016 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

Hallo nochmal,

nur der Vollständigkeit halber - ich hab's hinbekommen.

Es lag sowohl am RefBody als auch an der RefLinie.

Das mit Direction 2 und 3 hab ich nach einer Makroaufzeichnung dann auch noch gecheckt.

Danke!

Martin

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