Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Projektion in Skizze verwenden

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:  Projektion in Skizze verwenden (912 mal gelesen)
EmilioSanchez
Mitglied



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

Beiträge: 70
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 15. Feb. 2020 15:07    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


Projektion.JPG

 
Hallo,

in einer Skizze hole ich mir die Koordinaten eines Punktes auf einer Kurve in einem Abstand vom Kurvenanfang.
Funktioniert auch prima solange es sich bei den Kurven um Linien, Kreise, Splines handelt mit diesem Code:

Sub CATMain()

  Dim partDocument1 As PartDocument
  Set partDocument1 = CATIA.ActiveDocument

  Dim part1 As Part
  Set part1 = partDocument1.Part

  Dim bodies1 As Bodies
  Set bodies1 = part1.Bodies

  Dim body1 As Body
  Set body1 = bodies1.Item("Hauptkörper")

  Dim sketches1 As Sketches
  Set sketches1 = body1.Sketches

  Dim sketch1 As Sketch
  Set sketch1 = sketches1.Item("Skizze.1")

  part1.InWorkObject = sketch1

  Dim geometricElements1 As GeometricElements
  Set geometricElements1 = sketch1.GeometricElements

  Dim myCurve As Object
  Set myCurve = geometricElements1.Item("Spline.1") 'Hier möchte ich jedoch auf ein projeziertes Element zugreifen

  'Start und Endpunkt der Kurve bestimmen
  Dim ParamExtents(1) As Variant
  myCurve.GetParamExtents ParamExtents
 
  'Startpunkt bestimmen
  Dim StartParam As Double
  StartParam = ParamExtents(0)

  'Parameter des Punktes auf der Kurve im Abstand von 10mm vom Startpunkt der Kurve bestimmen
  PointParam = myCurve.GetParamAtLength(StartParam, 10)
 
  'Die Koordinaten des Punktes bestimmen
  Dim PointKoordinaten(1)
  myCurve.GetPointAtParam PointParam, PointKoordinaten

  MsgBox PointKoordinaten(0) ' X Koordinate
  MsgBox PointKoordinaten(1) ' Y Koordinate


  part1.InWorkObject = body1

  part1.Update

End Sub


Nun möchte ich aber an Stelle der Kurve [-> Set myCurve = geometricElements1.Item("Spline.1")] eine in der Skizze vorhandene Projektion verwenden.
Und hier komme ich nicht weiter.
Ich kann zwar das Element Markierung.1 im Set Externe Erzeugungsgeometrien ansprechen, aber es liefert keine verwendbare Kurve.

Hat jemand hierzu eine Idee?

Schon mal vielen Dank.

Bernd

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: 16. Feb. 2020 10:49    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 EmilioSanchez 10 Unities + Antwort hilfreich

Servus

Ich kann dein Problem nachstellen.
Mir fallen nur Workarounds dazu ein:

  • Projektion isolieren (vorher Kopie erstellen), dann scheint die Bestimmung der Koordinaten zu klappen
  • temporärer Punkt im GSD erzeugen und davon die Koordinaten bestimmen
Gruß
Bernd

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

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

EmilioSanchez
Mitglied



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

Beiträge: 70
Registriert: 02.11.2003

Intel I7 4700MQQ
24GB
Win10 Pro 64-Bit
Catia V5 R19/R26/28/29

erstellt am: 17. Feb. 2020 09: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,

erst mal Danke für die schnelle Antwort.

Die Projektion zu isolieren hatte ich auch schon ins Auge gefasst.
Auf den Gedanken die Projektion zu behalten und eine Kopie zu isolieren bin ich nicht gekommen.
So kann ich bei jedem neuen Programmdurchlauf auf die vorhandene Projektion zurückgreifen und neu kopieren und isolieren.

Hab es so umgesetzt:

selection1.Clear
selection1.Add geometricElements1.Item(1)
selection1.Copy
 
selection1.Clear
selection1.Add sketch1
selection1.Paste
           
' CATIA.StartCommand ("Isolate")
CATIA.StartCommand ("Isolieren")
       
Set myCurve = selection1.Item(1).Value


Isolieren hab ich nur über StartCommand hinbekommen.
Gibt es hierzu eine Alternative?

Gruß
Bernd

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