Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Element unterschiede

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:  Element unterschiede (1795 mal gelesen)
Physimathi
Mitglied
Student


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

Beiträge: 88
Registriert: 07.09.2005

erstellt am: 05. Apr. 2007 11:42    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,
ich beginne gerade mich mit CATIA Makro zu beschäftigen.

Nun bin ich an der Stelle Geometrien auswählen.
Nur verstehe ich das ganze nicht wirklich.

Ich habe ein Part mit einer Skizze. In der Skizze sind zwei Punkte.

Ich möchte jeden der Punkte nach einander auswählen und dann eine Linie zwischen ihnen ziehen.

Ich dachte das geht mit Select:

Dim oSelect
Set oSelect = CATIA.ActiveDocument
Dim oSelection
Set oSelection = oSelect.Selection
Dim Auswahl(0) As Variant
Dim oSelectedElement As Point2D

oSelection.Clear
Auswahl(0) = "Point2D"

MsgBox ("Selektieren Sie bitte einen Punkt 2D")
Status = oSelection.SelectElement2(Auswahl, "Select", False)
Set oSelectedElement = oSelection.Item(1).Value

MsgBox ("Punkt ausgewählt")

Was passiert. Ich kann im Baum die Skizzen auswählen, doch im Fenster die Punkte nicht anklicken. Auch werden immer beide Punkte ausgewählt.
Meine Vermutung ist ja, das dies mit der Skizze zu tun hat, denn der Ausgewählte Punkt ist
GeometricTyp: catGeoTypPoint2D

Und ich wollte eigentlich einen richtigen 2D Punkt auswählen.
Bestimmt gibt es einen Eleganteren Weg 2D und 3D Objekte auszuwählen.

Ich werde wohl auch in Zukunft hier viele Fragen stellen, denn aller Beginn ist sehr schwer.
Danke für die Hilfe

Seb

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

Paic37
Mitglied


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

Beiträge: 5
Registriert: 04.04.2007

erstellt am: 05. Apr. 2007 12:10    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 Physimathi 10 Unities + Antwort hilfreich

Hallo Physimathi

Wenn du deine Linie im 3D bereich erzeugen will, sollst du fogende Auswahl Objekt benutzen : Auswahl(0) = "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex"


Wenn du deine Linie im Sketcher Bereich erzeugen will, sollte deiner Code korrekt funktionnieren

Auf beide Fälle sollst du die Geometrie im Fenster und nicht im Baunm selektieren.

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

Physimathi
Mitglied
Student


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

Beiträge: 88
Registriert: 07.09.2005

erstellt am: 05. Apr. 2007 13:37    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,
danke für die Antwort, doch die Lage ist anders.

Mein Makro:

Sub CATMain()

  Dim Dokuments As Documents
  Set Dokuments = CATIA.Documents
  Dim AnyPart As Document
  Set AnyPart = CATIA.ActiveDocument
  Dim Apart As Part
  Set Apart = AnyPart.Part
  Dim bodies1 As Bodies
  Set bodies1 = Apart.Bodies
  Dim Hauptkoerper As Body
  Set Hauptkoerper = Apart.MainBody
  Dim sketches1 As Sketches
  Set sketches1 = Hauptkoerper.Sketches
  Dim sketch1 As Sketch
  Set sketch1 = sketches1.Item("Skizze.1")
  Dim oSelect
  Set oSelect = CATIA.ActiveDocument
  Dim oSelection
  Set oSelection = oSelect.Selection
  Dim Geos As GeometricElements
  Set Geos = sketch1.GeometricElements
  Apart.InWorkObject = Geos
'Auswahl der Eingangsdaten
  Dim Auswahl(0)
  Dim oSelectedElement

  oSelection.Clear

      Auswahl(0) = "Point2D"
      MsgBox ("Selektieren Sie bitte einen Punkt 2D")
      Status = oSelection.SelectElement2(Auswahl, "Select", False)
'Nimm erste Selektion
      Set oSelectedElement = oSelection.Item(1).Value
      MsgBox ("Punkt ausgewählt")
End Sub

Was tut das Makro.
Ausgangspunkt ist ein Part:  1x Skizze mit zwei Punkten
                            1x geometrisches Set (Punkt)

Nach dem Start des Makro kann ich das geometrische Set als Punkt auswählen, doch die Punkte in der Skizze bleiben unauswälbar.

Meine Vermutung:
Ich muss die Skizze als "InWorkObjekt" deklarieren und kann dann auch diese Punkte auswählen.

Leider Fehlanzeige.

Unter "Apart.InWorkObject = Geos" wollte ich dies tun nur ???

Kann ja auch sein es geht einfach nicht.

Hm
Seb

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 05. Apr. 2007 14:30    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 Physimathi 10 Unities + Antwort hilfreich

Moin Physimathi,

Wo möchtest du die Selektion durchführen im Sketcher oder im 3D?
Ich hab gerade mal ausprobiert die Punkte in der Skizze im 3D zu selektieren. Mit :
      Auswahl(0) = "Point2D"
      MsgBox ("Selektieren Sie bitte einen Punkt 2D")
      Status = oSelection.SelectElement2(Auswahl, "Select", False)

Das geht ABER nur direkt im Baum. Den Punkt (also das Kreuz) kann ich auch nicht auswählen.

Gruß
Proofin

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

Physimathi
Mitglied
Student


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

Beiträge: 88
Registriert: 07.09.2005

erstellt am: 05. Apr. 2007 15:25    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,
ja du hast es richtig versucht.

Ich bin im 3D und will die Punkte der Skizze anwählen.

Nun habe ich schon versucht die Skizze im Hintergrund zu öffnen. Einen Array aus den PunktObjekten zu machen und dann Skizze schließen. Dich das klappt auch nicht.

Doch ich bin mir sicher, es wird funktionieren.

Nur möglicherweise nicht auf meinem Denkweg.

Denn wenn man in einer Makroaufzeichnung mit den Punkten einer Skizze spielt, dann gibt es immer Referezpunkte.

Hm Es ist schon verrückt. Ein 2DPunkt lässt sich so leicht Darstellen, doch aus einem Baum einen 2DPunkt einlesen geht kompliziert.

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

Paic37
Mitglied


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

Beiträge: 5
Registriert: 04.04.2007

erstellt am: 06. Apr. 2007 10: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 Physimathi 10 Unities + Antwort hilfreich

Hallo Physimathi

Ich glaube dass Du etwas nicht richtig verstanden hat, ein Punkt ist als "Point2D" beschrieben, wenn deine Skizze geöffnet ist.

Wenn Du einen Punkt einer Skizze auswählen willst, und diese Skizze geschlossen ist, ist dieser Punkt als "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex" beschrieben

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 10. Apr. 2007 09:51    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 Physimathi 10 Unities + Antwort hilfreich

Moin ihr Beiden,

@Paic37
Das ist so nicht ganz richtig. Denn wie oben schon beschrieben kann ich
im 3D einen Punkt der Skizze mit "Point2D" auswählen allerdings nur
im Baum. Mit "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex" kann ich den Punkt in
der Skizze auswählen, also das Kreuz oder wie auch immer ein Punkt bei
euch dargestellt wird, aber nicht im Baum.

@Physimathi

  Wenn du folgenden Code für deine Selektion verwendest kannst du
  sowohl im Baum als auch den Punkt direkt auswählen.

------------------------------------
Code
------------------------------------

Set mysel = partDocument1.Selection

Dim SelObj(1)
SelObj(0) = "ZeroDimFeatVertexOrWireBoundaryMonoDimFeatVertex"
SelObj(1) = "Point2D"

mysel.Clear
res = mysel.SelectElement2(SelObj, "Bitte Punkt auswählen", False)

------------------------------------
Code Ende
------------------------------------

Mfg
Proofin

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