Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkte suchen und in Array schreiben

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:  Punkte suchen und in Array schreiben (1057 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: 12. Apr. 2007 10:08    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 User,
ich lerne gerade Schritt für Schritt Markro mit dem Buch von Herrn Ziethen.
Man kann ja sagen es geht bescheiden vorwärts.

Ich kann also schon fleißig Punkte und Körper usw. erzeugen, doch es gibt in der anderen Richtung große Probleme.

Ich bekomme es nicht hin, die Geometrien wieder einzulesen.
Z.B. Wie suche kann ich in einem Produkt nach Punkten und Linien suchen lassen, so das am Ende diese Punkte und Linien auch in einem Array stehen.

Ich habe es über das catGeoTypePoint2D versucht, nur leider sterbe ich dann bei der Umformung in einen Array mit allen Itemdatem zu dem Punkt ab.

Habe auch schon mit Selection schon experimentiert, nur das klappt auch nicht wirklich.

Hat jemand schon ein Skript zu diesem Thema mal geschrieben?

Danke für Hilfe

Phys

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: 12. Apr. 2007 10:40    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,

Du kannst Elemente am einfachsten über die Search Funktion der Selection suchen.
Hierfür kannst du den Suchstring aus der Suchfunktion unter "Bearbeiten/Suchen" verwenden. Aber aufpassen dieser Suchstring ist Sprachabhängig.

Also du kannst zum Beispiel in der deutschen Sprachumgebung mit folgendem Code alle Punkte suchen lassen:

---------------------------------
Code
---------------------------------
Dim oSel As Selection

Set oSel = CATIA.ActiveDocument.Selection

oSel.Search ("Type=Punkt, all")

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


Ähnlich funktioniert das mit Linien und allen anderen Elementen.

Gruß
Proofin

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

tomtom1972
Mitglied
dipl ing maschinenbau


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

Beiträge: 605
Registriert: 22.03.2005

NVidia Quadro K4000
Intel Xeon E5-1620, 64GB RAM
Windows10 64bit
R30 <= CATIA V5 > =R19

erstellt am: 12. Apr. 2007 10:40    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,

das ist ganz einfach:

Set oSelection = CATIA.ActiveDocument.Selection

oSelection.Clear
oSelection.Search "CATGmoSearch.Point,all"

Dim aPointArray()
ReDim aPointArray(oSelection.Count)

For n = 1 to oSelection.Count
  Set aPointArray(n) = oSelection.Item(n).Value
Next

Das wars. Jetzt sind deine Punkte im Array.

Eine andere Möglichkeit (und um auf das .Search zu verzichten) wäre das rekursive Scanen deiner Struktur.

Zu dem Ganzen gibts im übrigen schon mehrere Beiträge im Forum. Einfach mal die Suchfunktion verwenden.


Hoffe das Hilft dir weiter.

Gruß

------------------
tomtom1972

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: 12. Apr. 2007 11:08    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

Danke,
habe eine deutsche version und somit die Suche auf Punkt gesetzt. Nun sind die Punkte im Array. Toll

Ich merke auch immer wieder, das eben viel im Forum steht, nur wenn man nicht weis wonach man suchen soll, dann sucht man sich verrückt.

Euch einen schönen Tag.

Sub CATMain()

Set oSelection = CATIA.ActiveDocument.Selection

oSelection.Clear
oSelection.Search ("Type=Punkt, all")

Dim aPointArray() As Point2D
ReDim aPointArray(oSelection.Count)

For n = 1 To oSelection.Count
  Set aPointArray(n) = oSelection.Item(n).Value
Next

End Sub

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: 12. Apr. 2007 12: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


Linie.JPG

 
Hallo,

wie es eben so ist, mit dem Tun kommen die Fragen.

Mein Skript:


Sub CATMain()

Set oSelection = CATIA.ActiveDocument.Selection

Dim Auswahl(0)
oSelection.Clear

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

MsgBox ("Punkt in Selection")
End Sub

Nun meine Frage:

Im Baum kann ich einen Punkt anklicken, welcher dann in die Selection geht. Doch gehe ich auf den Punkt im Körper, kann ich keine Punkte anklicken. (Sie sind gesperrt)

Warum? Ist Punkt im Baum nicht gleich Punkt im Körper? Oder muss man die Punkte erst eine Funktion zuweisen.

Mein Experimentmodell hat einen einzel Skizzenpunkt, eine Linie mit zwei Punkten und es gibt dann noch einen Geometriepunkt "3D".

Phys

[Diese Nachricht wurde von Physimathi am 12. Apr. 2007 editiert.]

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

CAMiCADse
Mitglied



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

Beiträge: 177
Registriert: 17.02.2006

V5,R19,SP9

erstellt am: 12. Apr. 2007 13:31    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,

Zitat:
Im Baum kann ich einen Punkt anklicken, welcher dann in die Selection geht. Doch gehe ich auf den Punkt im Körper, kann ich keine Punkte anklicken. (Sie sind gesperrt)

Zur Selektion (Baum <-> Fenster) hat Proofin dir doch  hier schon geantwortet!?!


Zitat:
Warum? Ist Punkt im Baum nicht gleich Punkt im Körper?

Selektion im Strukturbaum gibt ein Objekt zurück (Point)
Selektion auf Bauteil gibt ein BRep zurück (Vertex)

Wenn du mehr zu BReps wissen willst, dann google mal nach "Boundary Representation".

Gruß
CAMiCADse

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: 12. Apr. 2007 14:00    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 ich habe schon einiges gefragt, doch durchsehen tu ich noch nicht wirklich.
Doch was mit den Objekt und Vertex das wird mir jetzt klar.

Es gibt noch zuviel neue Begriffe 

Danke

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