Autor
|
Thema: Über Makro Punkte auslesen (2224 / mal gelesen)
|
CornZ Mitglied Staatl anerkannter Techniker MA
Beiträge: 57 Registriert: 16.12.2008 Catia V5 R26 - 64bit
|
erstellt am: 19. Mrz. 2019 11:53 <-- editieren / zitieren --> Unities abgeben:
Hallo, wir haben kundenseits eine Punktewolke erhalten. Wir möchten diese nun über ein Makro auslesen. Die Punktekoordinaten X, Y, Z werden heraus geschrieben. Nun hat der Kunde in seinen Punkten noch weitere Toleranzangaben hinzu gefügt (Baumstruktur). Wie kann ich diese im Makro integrieren und auslesen lassen? Anbei dazu ein kleines Bild. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 704 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 19. Mrz. 2019 15:00 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
Hallo, mal abgesehen davon das der Beitrag im falschen Unterforum erstellt wurde (vielleicht kann ein Admin den Beitrag verschieben), vermute ich mal das du für die zusätzlichen Parametern auch über die Parameter Collection gehen musst. Über den Namen kannst du den Parameter evtl. dann dem richtigen Punkt zuordnen. Um da genaueres zu sagen müsste man das Modell, oder ein vergleichbares(!) Beispielmodell haben. Gruß Randle ------------------ Wer für nichts steht, fällt für alles! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 19. Mrz. 2019 18:08 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
Servus Leider geht das Verschieben im Moment nicht. Meine Idee dazu: - Schleife über die Punkte - mit Sublist die Parameter-Collection des Punktes ermitteln - Schleife über diese Parameter - Werte exportieren (txt, csv oder Excel) Vorlagen zum "normalen" Export solltest du im Forum oder auf catia.cad.de finden. Diese dann entsprechend anpassen Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 704 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 20. Mrz. 2019 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
|
CornZ Mitglied Staatl anerkannter Techniker MA
Beiträge: 57 Registriert: 16.12.2008 Catia V5 R26 - 64bit
|
erstellt am: 20. Mrz. 2019 09:01 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, vielen Dank erstmal für eure Hilfsbereitschaft. Ich besitze bereits ein Makro, welches mir die Koordinaten ausliest, jedoch weiß ich nicht, wie ich, im Makro auf die weiteren Eintragungen zugreifen kann. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CornZ Mitglied Staatl anerkannter Techniker MA
Beiträge: 57 Registriert: 16.12.2008 Catia V5 R26 - 64bit
|
erstellt am: 20. Mrz. 2019 09:04 <-- editieren / zitieren --> Unities abgeben:
|
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 20. Mrz. 2019 18:10 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
Hi Randle Nein ein Punkt hat keine Parameter-Collection, die Methode gibt diese aber von beliebigen Objekten/Features zurück. Das ist vergleichbar mit der Liste im "Formeleditor" wenn du im Baum was selektierst. Gruß Bernd PS: Kleines Beispiel wo diese Methode sinnvoll ist siehe hier. ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 704 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 21. Mrz. 2019 07:26 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
Moin, moin, @Bernd: Danke für die Info. @CornZ: Ich habe nochmal einen anderen Ansatz verfolgt. Auch wenn ich aus Performancegründen kein Fan der Selection Klasse bin, wäre es hier eine relativ einfache Möglichkeit an die Parameter zu kommen. Hier mein auf die Schnelle zusammengezimmerter Beispielcode: Code:
Sub CATMain()Dim oSel As Selection Dim intI As Integer Dim oParam As Parameter Dim sPointName As String Set oSel = CATIA.ActiveDocument.Selection 'Punkt muss vorher selektiert werden! If oSel.Count = 0 Then Exit Sub sPointName = oSel.Item(1).Value.GetItem("ModelElement").DisplayName oSel.Search "Knowledgeware.Parameter;sel" If oSel.Count > 0 Then For intI = 1 To oSel.Count Set oParam = oSel.Item(intI).Value MsgBox sPointName & vbNewLine & oParam.GetItem("ModelElement").InternalName & ": " & oParam.ValueAsString Next oSel.Clear End If
Müsstest halt dein Makro entsprechend anpassen. Könnte mir vorstellen das diese Lösung , trotz Selection Klasse, performanter ist als mein erster Vorschlag. Gruß Randle ------------------ Wer für nichts steht, fällt für alles! [Diese Nachricht wurde von Randle am 21. Mrz. 2019 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CornZ Mitglied Staatl anerkannter Techniker MA
Beiträge: 57 Registriert: 16.12.2008 Catia V5 R26 - 64bit
|
erstellt am: 21. Mrz. 2019 08:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Randle, ja super, jetzt werden die Dinge ausgelesen welche wichtig sind. Aber Sie werden in einer Messagebox ausgegeben. In meinem Makro wird eine Txt-Datei erstellt, in der die Daten gleich eingetragen werden, dies ist notwendig, damit wir die Werte gleich weiter verarbeiten können. Vielleicht hättest du ja nochmal die Möglichkeit? Ich wäre dir sehr dankbar. Viele Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 704 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-30
|
erstellt am: 21. Mrz. 2019 08:22 <-- editieren / zitieren --> Unities abgeben: Nur für CornZ
Hallo, ich hatte es so verstanden das du bereits ein Makro hast das die Punkte ausliest. Mein Code war eher dafür gedacht dir den fehlenden Baustein für eine Ergänzung/Erweiterung deines Makros zu liefern. Gruß Randle ------------------ Wer für nichts steht, fällt für alles! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |