Autor
|
Thema: Liste über Regel abfragen (2136 mal gelesen)
|
cyzed Mitglied Ingenieur
Beiträge: 55 Registriert: 27.10.2009 CATIA V5R19 SP3 32Bit Windows XP 32Bit AMD Athlon II X4 620 2,6 GHz 4 GB DDR2 RAM NVIDIA GeForce 7300GT
|
erstellt am: 26. Nov. 2009 09:42 <-- editieren / zitieren --> Unities abgeben:
Hallo, und zwar möchte ich eigentlich nur die Objekte, die in einer Liste sind, inaktivieren...alle auf einmal. Ich würde das gerne über Regel machen, weiß aber nicht wie die Syntax dafür ist bzw. ob das überhaupt geht Gruß cyzed
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IIYTII Mitglied
Beiträge: 85 Registriert: 30.05.2007 Catia V5 R19 Programmierung unter CATvba
|
erstellt am: 26. Nov. 2009 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
Moin, zunächst brauchst du die KWA Lizenz nachdem du sie angezogen hast, kannst du die workbench starten wenn du jetzt im rechten Menü auf "Regel" bzw. "Rule" klickst, wird eine neue Regel erstellt und erscheint im Strukturbaum. Wenn du jetzt die einzelnen Features im Baum anklickst, dann siehst du im unteren rechten Feld die Parameter, die durch die Regel verändert werden können. In deinem Fall möchtest du die Aktivität verändern, daher doppelklicken und schon erscheint sie im Feld. veränderst du jetzt den Wert zwischen True und False wird auch der Zustand geändert. Erweiterte Funktionen bekommst du, wenn du IF Abfragen mit einbaust. Drauf achten, CATIA braucht immer die Einheiten. Ansonsten wird noch unterschieden zwischen == und = (inhalt vergleichen, zuweisen) if Parameter == inhalt { `Platte_Gegenstück\PartBody\Pad.1\Sketch.1\AbsoluteAxis\Activity` = True } else { `Platte_Gegenstück\PartBody\Pad.1\Sketch.1\AbsoluteAxis\Activity` = False } Ich hoffe das hilft dir ein bisschen Wenn du Listen einbauen willst, kannst du beispielsweise auf eine Konstruktionstabelle verlinken und dort die Informationen ablegen, welche Objekte aktiv/inaktiv sein sollen. [Diese Nachricht wurde von IIYTII am 26. Nov. 2009 editiert.] [Diese Nachricht wurde von IIYTII am 26. Nov. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 26. Nov. 2009 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
|
cyzed Mitglied Ingenieur
Beiträge: 55 Registriert: 27.10.2009
|
erstellt am: 26. Nov. 2009 12:17 <-- editieren / zitieren --> Unities abgeben:
Hallo IIYTII, danke für deine Antwort...mit deiner Vorgehensweise müsste ich jedes Element in die Regel eintragen und davon habe ich sehr viele...deswegen wollte ich Listen erzeugen ich versuche das Problem genauer zu beschreiben. Ich habe ein Raster erstellt(siehe Bild) in einer Skizze aus einzelnen Linien. Dann habe ich die Linien als Ausgabekomponente ausgegeben. Es sind über 200 Objekte. Mein ziel ist das Raster kleiner zu machen indem die Linien(ausgabekomponente) unterdrückt werden und damit die Zeilen oder Spalten des Rasters ausgeblendet bzw eingeblendet werden. Das möchte ich nachher über zwei Parameter steuern: "Spaltenanzahl" und "Zeilenanzahl". Problem bei der Konstruktionstabelle ist folgende: ich kann das Raster nicht mehr manuell bearbeiten d.h. Linien innerhalb des Rasters deaktivieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cyzed Mitglied Ingenieur
Beiträge: 55 Registriert: 27.10.2009 CATIA V5R19 SP3 32Bit Windows XP 32Bit AMD Athlon II X4 620 2,6 GHz 4 GB DDR2 RAM NVIDIA GeForce 7300GT
|
erstellt am: 26. Nov. 2009 12:20 <-- editieren / zitieren --> Unities abgeben:
|
V5Playaz Mitglied Dipl.-Ing (BA)
Beiträge: 447 Registriert: 12.07.2005 DELL PRECISION 390 3,25 GB RAM WIN XP PRO SP2 CATIA V5 R16-19 Delmia V5 R19 VB6, VB2008 Adobe Acrobat 9 Pro Extended
|
erstellt am: 26. Nov. 2009 12:49 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
Ich dachte du willst Elemente im Strukturbaum deaktivieren. Das ginge per Makro. Ich wusste nicht dass du in einer Skizze arbeitest. Eine andere Überlegung wäre, das Raster komplett über ein Makro anzulegen. Es ist möglich Punkte und Linien per Makro zu erzeugen. Gesteuert werden könnte dies über Parameter im Strukurbaum. grüße Dominik 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: 26. Nov. 2009 13:10 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
Servus Was hast du mit dem Raster vor? Wäre es nicht einfach das raster aus der zwei Rechteckmustern von je einer Linie (horizontal und vertikal) aufzubauen? Die Linien könntest du dann im GSD mit zusammenfügen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IIYTII Mitglied
Beiträge: 85 Registriert: 30.05.2007 Catia V5 R19 Programmierung unter CATvba
|
erstellt am: 26. Nov. 2009 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
bzgl. der Regeln, die einzeln angelegt werden müssen: Ich hatte mal ein Problem folgender Post: http://ww3.cad.de/foren/ubb/Forum133/HTML/008290.shtml Kurze Zusammenfassung: Wenn eine bestimmte Linie angesprochen wird, Sie sei inaktiv, dann hängen da die anderen Linien als "Kinder" dran. D.h. man müsste nur einmal die Definition vornehmen welche Linien voneinander abhängen. Ansonsten habe ich schonmal etwas ähnliches versucht. Und zwar ging es da um Gitterzäune die viel Performance gefressen haben, durch die vielen Maschen etc. Ich wollte eine Skizze hineinlegen, damit nur die Linien angezeigt werden. (Wie bei nem Käseschneider) Leider konnte ich die Linien nicht wie beim z.B. Rechteckmuster durch die Anzahl steuern. Deswegen müsste man dann wohl wirklich eine Schleife erstellen und halt die Linien per Makro ziehen lassen, wie auch V5Playaz meinte. [Diese Nachricht wurde von IIYTII am 26. Nov. 2009 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
IIYTII Mitglied
Beiträge: 85 Registriert: 30.05.2007 Catia V5 R19 Programmierung unter CATvba
|
erstellt am: 26. Nov. 2009 13:48 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
|
cyzed Mitglied Ingenieur
Beiträge: 55 Registriert: 27.10.2009
|
erstellt am: 26. Nov. 2009 15:18 <-- editieren / zitieren --> Unities abgeben:
Hallo bgrittmann, Ich brauche das Raster als ein Steuerteil. Auf den einzelnen Linien möchte ich meine Profilquerschnitte positionieren, die in einzelnen Parts abgelegt werden und NUR vom Steuerteil(Raster) abhängen bzw. darauf referenziert sind(Prinzip der Skelettkonstruktion). Ich habe das in der Skizze aufgebaut damit ich die Abstände separat voneinander einstellen kann. Ich möchte das Konzept so einfach wie möglich halten und eine hohe Benutzerfreundlichkeit gewährleisten d.h. Rastermanipulation nur über zwei Parameter "Zeilenanzahl" und "Spaltenanzahl" z.B 5x3 Raster oder 7x9 Raster. Ich will aber auch jederzeit die möglichkeit haben das Raster zu erweitern in dem ich die Zeilen oder Spalten aktiviere. Ich könnte auch natürlich per Hand die Linien einzeln inaktivieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DanielFr. Moderator Manager
Beiträge: 2506 Registriert: 10.08.2005 HP Compaq 8710w, Intel Core Duo T7700, 2,40 Ghz, 3GB RAM, Windows XP Professionel @32bit, Quadro FX 1600M, CATIA V5 R19 SP3
|
erstellt am: 26. Nov. 2009 15:39 <-- editieren / zitieren --> Unities abgeben: Nur für cyzed
Hallo, ich glaube so einfach ist die Problematik gar nicht. Habe gerade mal ein wenig rumgespielt aber ich komm nicht auf einen grünen Zweig. Das Problem das ich habe ist die Linien anzusprechen die ich deaktivieren will. Diese haben weder einen festen Namen noch eine feste Position etc. Interaktiv sollte der Anwender ja auch nichts selektieren oder. Dann würde mir dazu etwas einfallen das so ähnlich wie Excel funktioniert. Anwender startet das Makro, wählt z.B. eine Horizontale Linie aus und alles was rechts von dieser Linie ist wird deaktiviert (gleicher Vorgang ging natürlich auch bei vertikalen Linien). Aber ohne jegliche Interaktion ist es schwer. Eine Frage noch: Besteht das Raster aus Vierecken oder immer aus Quadraten? Zum letzterem würde mir was einfallen aber der Algorithmus ist sicher nicht leicht zu Programmieren ------------------ MFG Daniel Systeminformation | Inoffizielle CATIA Hilfeseite | CATIA FAQ | Suche | TraceParts (Normteile...) | 3D Content Central (noch mehr Normteile...) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cyzed Mitglied Ingenieur
Beiträge: 55 Registriert: 27.10.2009
|
erstellt am: 26. Nov. 2009 15:52 <-- editieren / zitieren --> Unities abgeben:
Um die Linien "anzusprechen", muss man diese als Ausgabekomponente definieren, dann sind diese zunächst im 3D Bereich "ansprechbar" und "inaktivierbar"...Der Anwender soll nichts selektieren... Ich könnte zwar ein Makro mit Userform programmieren und das ganze über die Schleifen definieren...ich wollte mir nur die Programmierarbeit erleichtern indem ich im Voraus Listen mit den Linien erstelle um die Linien nicht einzeln "anzusprechen" und direkt komplette Listen inaktivieren es sind Rechtecke, da die einzelnen Abstände unterschiedlich sind Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |