Autor
|
Thema: Geoset-Inhalt in aktivieren/deaktivieren (794 / mal gelesen)
|
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 27. Okt. 2021 11:53 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, leider bin ich neu in die Programmierung in Catia eingestiegen und habe dementsprechend noch einige Schwierigkeiten. Bisher konnte ich im Internet noch nicht die Lösung zu meinem Problem finden, daher schreibe ich mal hier. Für ein aktuelles Projekt möchte ich gerne über eine Parametrisch gesteuerte Auswahl die Baumstruktur anpassen, also Bodies und Geosets aktivieren udn deaktivieren ja nach Auswahl. Für Bodies/Adds stellt das über die Parameter und eine verknüpfte Formel oder Reaction soweit kein Problem dar. Bei Geosets habe ich allerdings noch das Problem alle Elemente die sich darin befinden zu deaktivieren. Ich habe versucht eine Liste zu erstellen um dann über eine Schleife alle Elemente der Liste zu deaktivieren. Allerdings kann ich mit Query und meinem begrenzten Wissen nur einzelne Elemente des Geosets auswählen und nie alle. Habt ihr vllt einen Tipp wie man den gesamten Inhalt eines Geosets auswählen kann oder sogar direkt das ganze Set aktivieren/ deaktivieren kann? Im Geoset sind sowohl einfache Linien, Punkte und Planes enthalten, sowie auch Flächenoperationen. Also alles was GSD so her gibt. Für eine Rückmeldung bin ich sehr dankbar!
Viele Grüße Flo
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 27. Okt. 2021 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
Servus Willkommen im Forum. Ein GeoSet kann man nicht deaktivieren nur ausbleibenden (ggf reicht das auch). Deaktivieren kann man nur die Features darin. Das könnte mit einer Regel wie im Bild gezeigt funktionieren. (oder wäre eine Reaction besser geeignet?) Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 27. Okt. 2021 13:34 <-- editieren / zitieren --> Unities abgeben:
Wow das ging schnell. So einfach kann es sein wenn man die Lösung kennt. Habe wirklich ewig danach gesucht, vielen Dank! Jetzt hab ich aktuell zwei separate Rules/Reactions um den GeoSet Inhalt zu deaktivieren und den Körper bzw das Add zu deaktivieren. Das Add habe ich wie gesagt über eine einfache if schleife gesteuert. Lassen sich diese zwei Funktionen auch in einer Zusammenfassen? Vielen Dank schon mal für die Hilfe!!! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 27. Okt. 2021 13:47 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
Servus Zitat: Lassen sich diese zwei Funktionen auch in einer Zusammenfassen?
Sollte gehen. Probier mal nach der for-Schleife den Code zum de/aktivieren des Adds einzufügen Gruß Bernd PS: Warum für das Add eine Rule/Reaction? ist da eine Forme nicht einfacher? ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 27. Okt. 2021 13:57 <-- editieren / zitieren --> Unities abgeben:
Kann sein dass es auch einfacher geht. Ich habe wie gesagt versucht im Internet die nötigen Befehle zu finden und das hat sich als schwieriger herausgestellt als erwartet. Dank deiner Hilfe funktioniert es jetzt auf jeden fall Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 27. Okt. 2021 14:01 <-- editieren / zitieren --> Unities abgeben:
|
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 27. Okt. 2021 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
|
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 28. Okt. 2021 14:22 <-- editieren / zitieren --> Unities abgeben:
|
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 28. Okt. 2021 14:40 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
Hallo, habe leider nicht die entsprechende Lizenz um das zu testen, aber wenn ich mich recht erinnere kann man durch eine Reaction auch ein Makro starten, dort könntest du das Dokument updaten. 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: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Okt. 2021 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
Servus Was wird bei dir nicht upgedatet? Alles oder nur ein Teil der über Regel gesteuerten Elemente? In einer Reaction kannst du auch eine VB-Aktion auslösen die dein Part aktualisiert. Code: 'Sub CATMain() 'Zeile in der Aktion nicht erforderlich Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument partDocument1.Part.Update End sub
Was hast du denn genau vor? Ich befürchte du verkomplizierst dein Vorhaben unnötig. zB würde ich statt viele Elemente zu deaktivieren diese nur ausblenden, bzw das "Endobjekt" (zB ein Join) deaktivieren. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Flomann Mitglied Ingenieur
Beiträge: 9 Registriert: 27.10.2021
|
erstellt am: 28. Okt. 2021 14:58 <-- editieren / zitieren --> Unities abgeben:
Hi Bernd, das Vorhaben ist folgendes: Ich wollte ein Modell erstellen, das alle Eventualitäten und Bauteile meiner Arbeit enthält. Beim öffnen soll über eine VBA Maske abgefragt werden welche Elemente zum Einsatz kommen. Daraufhin werden diese aktiviert und die restlichen Baumstrukturen deaktiviert. Damit man egal bei welcher Kombination immer das selbe Startmodell verwenden kann. Das mit dem deaktivieren hat dank euch ja super geklappt, nur ist bisher im Anschluss immer ein manuelles Update der gesamten Struktur nötig bis die deaktivierten Bauteile wirklich verschwinden. Gruß Florian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 28. Okt. 2021 15:11 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
Servus Florian Ich stell mal ein paar (provokante) Fragen: - warum dann die Logik im Part anordnen wenn du eh schon ein Makro darauf loslässt
- warum dann Elemente deaktivieren und nicht löschen? Muss ein späteres "Umschalten" noch notwendig sein? (unnötig komplexer Baum?)
- warum nicht mehrere Startmodelle, wenn du per VBA ein Modell auswählst?
Das sind nur so meine Gedanken, was du machst/brauchst kannst nur du entscheiden. 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: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 28. Okt. 2021 15:28 <-- editieren / zitieren --> Unities abgeben: Nur für Flomann
kleine Anmerkung: Wenn du/man per Makro updaten möchte und den folgenden Code nutzt Code:
'Sub CATMain() 'Zeile in der Aktion nicht erforderlich Dim partDocument1 As Document Set partDocument1 = CATIA.ActiveDocument partDocument1.Part.Update End sub
... dann sollte man sicherstellen dass das Part auch wirklich das aktive Dokument ist. Gruß Randle ------------------ Wer für nichts steht, fällt für alles! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |