Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Linie senkrecht zur ebene

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 senkrecht zur ebene (1063 / mal gelesen)
WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 02. Apr. 2020 17:46    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 habe ein Verständnisproblem bei folgender Aufgabe:
Ich will eine Linie erzeugen, indem man auf einen Bohrungsrand klickt. Das Programm erzeugt aus dem Mittelpunkt des Kreises (der Bohrungsrand) und aus der Fläche, in der der Kreis liegt, eine Linie. Dabei kopiere ich hauptsächlich das Vorgehen des Makro-Recorders. Leider habe ich das Problem, dass die Linien alle in die selbe Richtung zeigen und nicht "in die Bohrung" hinein. Hier der Code:

Code:

Dim hybridShapePlane1Curve1 As HybridShapePlane1Curve
hybridShapePlane1Curve1 = hybridShapeFactory1.AddNewPlane1Curve(reference1)
Dim reference2 As Reference
reference2 = part1.CreateReferenceFromObject(hybridShapePlane1Curve1)
Dim refOrigin As Reference
refOrigin = part1.CreateReferenceFromObject(hybridShapePointCenter1)
part1.Update()
Dim hybridShapeLineNormal1 As HybridShapeLineNormal
hybridShapeLineNormal1 = hybridShapeFactory1.AddNewLineNormal(reference2, refOrigin, 0, NormteilLaengeInt(index), False)
body1.InsertHybridShape(hybridShapeLineNormal1)
part1.Update()

Ich vermute, dass ich bei "AddNewLineNormal(reference2, refOrigin, 0, NormteilLaengeInt(index), False)" einen Logikfehler habe.
Könnt Ihr mir weiterhelfen?

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. Apr. 2020 18:11    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 WMA HSU 10 Unities + Antwort hilfreich

Servus

Wie sieht denn die falsche Linie aus?
Erwartet AddNewLineNormal nicht eine Reference einer Fläche?
ggf musst du AddNewLinePtDir verwenden (Direction aus deiner Kurve erstellen)

Gruß
Bernd

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

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

WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 02. Apr. 2020 18:34    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


aktuell.JPG


Wunsch.JPG

 
Hallo Bernd,

Vielen Dank, dass du so zuverlässig antwortest. Ich habe die beiden Zustände einmal als Bild angehängt.

Die Fläche hole ich mir wie folgt:

Code:

Dim hybridShapePlane1Curve1 As HybridShapePlane1Curve
hybridShapePlane1Curve1 = hybridShapeFactory1.AddNewPlane1Curve(reference1)
Dim reference2 As Reference
reference2 = part1.CreateReferenceFromObject(hybridShapePlane1Curve1)


reference1 verweist dabei auf den ausgewählten Kreis.

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. Apr. 2020 18:47    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 WMA HSU 10 Unities + Antwort hilfreich

Servus

Die Richtung von Ebenen/Flächen sind etwas "sonderbar".
Vermutlich musst du die Linie erstellen, einen Weg finde um zu prüfen ob diese richtig herum ist und falls nicht diese invertieren (Orientation).

Gruß
Bernd

Kleiner Tipp: gewöhne dir gleich an einen sauberen Code zu erstellen (alle Dims nach vorne, sprechende Objektnamen, Namenskonventionen, Fehlerbehandlung, ...)

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

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

WMA HSU
Mitglied
WMA


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

Beiträge: 22
Registriert: 31.03.2020

erstellt am: 06. Apr. 2020 15: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

Hallo Bernd,

Ich habe mir überlegt, dass ich die Distanzen zwischen dem Kreismittelpunkt und der Kamera sowie dem Endpunkt der Linie (Teil der Bohrungsachse) und der Kamera vergleiche. Ist der Endpunkt dichter, muss ich die Linie invertieren.
Die Koordinaten der Kamera zu lesen ist relativ einfach, ich weiß aber nicht, wie ich den Endpunkt der Linie herausbekomme.
Fällt dir ein unkomplizierter Weg ein?
Vielen Dank für deine Zeit,
Jörn

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: 06. Apr. 2020 16: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 Nur für WMA HSU 10 Unities + Antwort hilfreich

Servus Jörn

Du könntest mit einer Messung (GetPointsOnCurve) die Koordinaten bestimmen und dann selbst den Abstand berechnen.

Gruß
Bernd

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

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