Autor
|
Thema: Auswahlliste bei Parameter abhängig von anderen Parametern machen (7084 mal gelesen)
|
Ex-Mitglied
|
erstellt am: 10. Dez. 2008 06:05 <-- editieren / zitieren -->
Hallo zusammen, ich möchte mir eine Schablone für ein Bauteil - in diesem Fall eine Platte für Spritzgusswerkzeuge - aufbauen. Dabei werden je nach Plattengröße unterschiedliche Dicken benötigt. Damit das nicht ganz so einfach ist, gibt es immer mehrere Dicken zur Auswahl. Diese Dicken hätte ich gerne als Auswahlliste in dem Parameter. Oder anders ausgedrückt: Die Auswahlliste bei dem Parameter Plattendicke soll sich in Abhängigkeit der Plattengröße ändern. Das soll nur mit einer Basislizenz gehen. Kann mir dazu jemand einen Tipp geben? Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
denyo_1 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: 10. Dez. 2008 10:30 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, hab gerade mal ein wenig rumprobiert und IMHO ist das nicht zu machen ohne KWA Lizenz. Mit KWA würde es ganz einfach über eine Reaction funktionieren aber ohne sehe ich echt keine Möglichkeit. ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3719 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 10. Dez. 2008 10:39 <-- editieren / zitieren --> Unities abgeben:
Hi Cerog. Ich hab auch gerade mal rumgespielt. Hab versucht mit mehreren Ko-Tabellen, die ich über eine ander Metatabelle anspreche. Vielleicht wäre das ein Ansatz?! Über die Proberties dieser Tabellen kann man ihre Sichtbarbkeit steuern. Leider finde ich den Parameter nicht sondern nur den der Aktivität. Aber vielleicht ist das ja zumindest ein kleiner Ansatz. gruß, Tom P.S.: gerade kommt mir auch noch die Erinnerung an meine alte Programmiererfahrung... Ideal wäre es natürlich mit Feldvariablen (Arrays) arbeiten zu können! gibts hier sowas? [Diese Nachricht wurde von thomasacro am 10. Dez. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
thomasacro Ehrenmitglied V.I.P. h.c. Ingenieur Anwendungsberater
Beiträge: 3719 Registriert: 12.05.2004 V4 V5 2016 - 2020 V6 2016x -2019x
|
erstellt am: 10. Dez. 2008 10:54 <-- editieren / zitieren --> Unities abgeben:
|
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 10. Dez. 2008 11:14 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, wenn Du es nur mit dem Formeleditor lösen willst, ginge es etwas unelegant: Du machst für jede Plattengröße einen Parameter für die Dicke mit mehreren Werten und trägst dort die zulässigen Werte ein. Dann machst Du soviele Formeln, wie du verschiedene Plattengrößen hast. Die erste Formel verknüpft die Plattendicke mit Deinem ersten Parameter. Wenn du sie hast, schaltest Du sie im Kontextmenü inaktiv. Dann machst du eine alternative Formel, in der Du die Plattendicke mit dem 2. Parameter verknüpfst - inaktivieren. U.s.w. bis alle Plattengrößen einen Parameter zugewisen haben. Nun machst Du Dienen Steuerparameter, z.B. Plattengröße 1 (2,3,4...) Und nun kannst du die Formeln jeweils im Formelditor aktiv schalten: Formel1_Aktivität = Plattengröße==1 Formel2_Aktivität = Plattengröße==2 ... Das Blöde ist nur, dass mir spontan nicht einfällt, wie man die nichtbenötigten Dickenparameter automatisch verstecken kann, es ist ja dann immer nur einer wirksam und das könnte zur Verwirrung führen. Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 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: 10. Dez. 2008 11:16 <-- editieren / zitieren --> Unities abgeben:
Hallo, das Problem mit den Regeln ist aber folgendes. Im PartDesign kannst du eine Regel erzeugen (über den Button "fog"). Leider arbeitet diese Regel mit formalen Parametern. Die formalen Parameter sind nur innerhalb der Regel sichtbar und existieren nach aussen nicht. Der Sinn dieser Regel (fog) ist, mathematische Funktionen zu bilden um diese an Linien, etc. weiterzugeben. Um aber mit einer Regel einen Parameter zu steuern brauchst du eine Regel die mit der KWA-Lizenz erstellt wurde, da nur diese externe Parameter verwalten und steuern kann. Versuch zum Beispiel mal mit der Regel (im PartDesign) ein boolesches Feature zu deaktivieren. Dann bekommst du die Fehlermeldung das die Regel nur einen formalen Parameter berechnen darf. (siehe Screenshot 1) Wenn du den selben Quelltext jedoch in eine Regel der KWA-WB kopierst, dann funktioniert sie. (siehe Screenshot 2) Leider ist die KWA-Lizenz nicht in den Standartlizenzen enthalten und kostet extra ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 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: 10. Dez. 2008 11:22 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von Mörchen: Hallo CEROG,wenn Du es nur mit dem Formeleditor lösen willst, ginge es etwas unelegant: Du machst für jede Plattengröße einen Parameter für die Dicke mit mehreren Werten und trägst dort die zulässigen Werte ein. Dann machst Du soviele Formeln, wie du verschiedene Plattengrößen hast. Die erste Formel verknüpft die Plattendicke mit Deinem ersten Parameter. Wenn du sie hast, schaltest Du sie im Kontextmenü inaktiv. Dann machst du eine alternative Formel, in der Du die Plattendicke mit dem 2. Parameter verknüpfst - inaktivieren. U.s.w. bis alle Plattengrößen einen Parameter zugewisen haben. Nun machst Du Dienen Steuerparameter, z.B. Plattengröße 1 (2,3,4...) Und nun kannst du die Formeln jeweils im Formelditor aktiv schalten: Formel1_Aktivität = Plattengröße==1 Formel2_Aktivität = Plattengröße==2 ... Das Blöde ist nur, dass mir spontan nicht einfällt, wie man die nichtbenötigten Dickenparameter automatisch verstecken kann, es ist ja dann immer nur einer wirksam und das könnte zur Verwirrung führen. Gruß Mörchen
Dazu brauchst du aber IMHO feste Plattengrößen. Dann kann man z.B. nicht definieren: Wenn Plattengröße kleiner 100 mm den Plattendicke = 10mm oder 20mm... Wenn Plattengröße größer 100 mm den Plattendicke = 30mm oder 50mm... ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 10. Dez. 2008 11:46 <-- editieren / zitieren --> Unities abgeben:
Hallo Daniel, so meinte ich es auch nicht. Ich habe einen Plattendickenparameter1 für die Plattengröße 1 vorgesehen:
der stelltt über "mehrere Werte" 10mm, 20mm, 25mm zur Verfügung. Eine Formel erzeugen: Blockdicke = Plattendickenparameter1 (Hier kann ich zwischen mehreren vorgegebenen Werten wählen) Formel inaktivieren weiter: Plattendickenparameter2 für die Plattengröße 2 der stelltt über "mehrere Werte" 30mm, 35mm, 37mm zur Verfügung. Eine Formel erzeugen: Blockdicke = Plattendickenparameter2 Formel inaktivieren usw. Nun den Parameter für die Auswahl machen: "Plattengröße" (1,2,3,...) Jetzt die Formeln von diesem Parameter "Plattengröße" abhängig machen: Formel1_Aktivität= "Plattengröße"==1 Formel2_Aktivität= "Plattengröße"==2 ... Je nach Plattengröße ist dann nur der zugehörige Parameter wirksam. Dort kann man dann die gewünschte (und zugelassene) Dicke einstellen. Man muss die Parameter halt so benennen, dass man weiß, welcher Parameter grad zuständig ist. ("Dicke bei Plattengröße 1") Aber dazu fällt mir jetzt nix besseres ein. Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
denyo_1 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: 10. Dez. 2008 11:54 <-- editieren / zitieren --> Unities abgeben:
Hi, ja aber dann muss man davon ausgehen das nicht nur die Plattendicke sondern auch die Plattengröße fest definiert ist. Denn der Parameter1 ("Dicke bei Plattengröße 1") kann ja nur bei exakt einer Plattengröße aktiviert werden. D.h. der Anwender kann nicht selber im Sketch ein x-beliebige Plattengröße definieren sondern muss eine feste Plattengröße bestimmen (z.B. über eine Konstruktionstabelle) ------------------ MFG Daniel Die KATJA ist halt doch nur ne zickige Französin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Dez. 2008 12:27 <-- editieren / zitieren -->
|
Mörchen Ehrenmitglied V.I.P. h.c. CAD-Trainerin (CATIA V5)
Beiträge: 3830 Registriert: 14.03.2007 Release 19 SP2
|
erstellt am: 10. Dez. 2008 13:04 <-- editieren / zitieren --> Unities abgeben:
@Daniel, man könnte in der Formel auch schreiben: Formel1_Aktivität= "Plattengröße">=100mm and "Plattengröße"<500mm usw. @Cerog: Wenn Regeln erlaubt sind, geht es sicher damit einiges besser. Gruß Mörchen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Ehrenmitglied V.I.P. h.c. Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 NX12
|
erstellt am: 10. Dez. 2008 19:22 <-- editieren / zitieren --> Unities abgeben:
fein, Spielwiese ich definiere mal - Ihr wisst ja, keine Hexerfähigkeiten und mangels Glaskugel und so vorhandene Plattenstärken (in mm): 5mm soll verwendet werden, wenn max(X oder Y) zw. 100 und 200 10mm soll verwendet werden, wenn max(X oder Y) zw. 200 und 300 30mm soll verwendet werden, wenn max(X oder Y) zw. 300 und 400 50mm soll verwendet werden, wenn max(X oder Y) zw. 400 und 600 100mm soll verwendet werden, wenn max(X oder Y) zw. 500 und 600 Parameter= X = max(int(round((-.5001+PartBody\Sketch.1\Offset.6\Offset*10))),int(round((-.5001+PartBody\Sketch.1\Offset.8\Offset *10)))) 'Skizzenblocklängen in h und v Blockhöhe = 1.875mm*X**4-21.25mm*X**3+88.125mm*X**2-138.75mm*X+75mm 'die Werte 5, 10, 30, 50, 100 in ein Polynom des 6 Grades gepackt ,-)) sinnvoll? ich weiss es nicht, aber deshalb ist es auch spielen ,) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Dez. 2008 19:33 <-- editieren / zitieren -->
Hallo zusammen, @Mörchen: fog-Regeln (Laws) sind erlaubt. Alles, was mit KWA oder weitergehenden Lizenzen zu tun hat, nicht. @Thomas: Leider ist es anders rum: Eine Plattenlänge und Plattenbreite und mehrere Dicken dazu. Alle Maße sind fest vorgegeben und und abgestuft. Diese Infos hatte ich rausgehalten, damit das Ganze nicht zu kompliziert wird. Ich muß mich mal noch weiter mit den Themen Formeln und Laws beschäftigen. Die Themen Parameter und Konstruktionstabellen scheinen nicht mehr viel herzugeben. Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 10. Dez. 2008 20:26 <-- editieren / zitieren --> Unities abgeben:
Servus Wäre es auch denkbar, dass für die Abmessungen (Länge, Breite, Dicke) "Schätzwerte" angegeben werden und eine Funktion bestimmt die optimale Konfiguration? (anbei ein Bespiel mit nur einer Optimierung) Vielleicht kann man damit auch noch mehr erschlagen. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 10. Dez. 2008 20:40 <-- editieren / zitieren -->
Hallo Bernd, diese Möglichkeit ist durchaus interessant. Zwar passt sie nicht zu meiner Zielstellung, birgt aber interessante Möglichkeiten zum Weitermachen. Meine Zielstellung hier ist: Ich stelle einen Parameter ein und die Auswahlliste bei einem anderen paßt sich an. Ich habe hier gerade das Problem, daß ich meine Zielstellung anscheinend nicht klar genug beschreiben kann. Trotzdem kamen von thomasacro, Mörchen, Thomas Harmening und dir interessante Ansätze, die ich weiterverfolgen kann. Ich bekomme immer mehr den Eindruck, daß die Kombination Parameter - Formel - Law - Konstruktionstabelle als Werkzeug sehr viel mächtiger ist, als es den Anschein hat. Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
bgrittmann Moderator Konstrukteur
Beiträge: 11849 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 11. Dez. 2008 07:49 <-- editieren / zitieren --> Unities abgeben:
Servus CEROG Deine Problembeschreibung ist schion eindeutig. Allerdings scheint es in CATIA nicht so einfach zu sein dieses Umzusetzen. AFAIK kann man nicht auf die Werteliste eines Parameters zugreifen. Eine weitere Möglichkeit wäre vielleicht noch einen Parameter mit dem Typ "Liste" zu definieren, dazu ist aber eine KWA (zumindest keine Standardlizenz) notwendig. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CC-EL Mitglied Consulting/Konstruktion
Beiträge: 17 Registriert: 11.12.2008 Windows XP Prof (2002) SP2 3.20 GHz, 2.00 GB Catia V5 R19 SP3
|
erstellt am: 11. Dez. 2008 13:52 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, wenn es Dir weiterhilft, die Dicke nicht aus einem Parameter mit multiple values sondern als Konfiguration einer Konstr.-Tabelle auszuwählen, in der sich die Dicken automatisch anpassen entsprechend Deinen Längen-Vorgaben, dann habe ich folgende Idee. Erzeuge eine Exel-Tabelle mit zwei Spalten. Diese Tabelle dient später als Vorlage zu einem Design-Table. In der ersten Spalte wird der Längenparameter def., er ist in jeder Zeile gleichgroß. In der zweiten Spalte wird die Dicke def. Bei der Dicke arbeitest Du mit Formeln (wenn-dann), wir machen unser KWA also einfach im EXEL. ...Da, es zu lange dauert, alles aufzuschreiben anbei ein Bsp (part + xls)... Ergebnis: Du steuerst die Länge im Exel (das kann auch über eine Auswahlliste sein), dadurch ändert sich die "Auswahlliste" der Dicken, die gewünschte Dicke bestimmst Du dann über die Konfiguration des Design-Table. (Ich weiß nicht ob der Anhang korrekt hochgeladen wurde, wenn nicht, probier ich es nochmal)
------------------ mfg EL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Dez. 2008 18:59 <-- editieren / zitieren -->
|
CC-EL Mitglied Consulting/Konstruktion
Beiträge: 17 Registriert: 11.12.2008 Windows XP Prof (2002) SP2 3.20 GHz, 2.00 GB Catia V5 R19 SP3
|
erstellt am: 11. Dez. 2008 19:46 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, das Arbeiten mit Konstruktionstabellen erfordert nun einmal die Verwendung von .txt- oder .xls-Dateien, wobei ja Exel-Dateien gerade den großen Vorteil bieten, dass man eine Menge Berechnung und Intelligenz dort einbauen kann. Aber man braucht ja zum Glück nicht unbedingt Exel, um eine .xls zu erzeugen. Das funktioniert auch mit Open Office, und die Dateien werden von Catia genauso erkannt. Zu Unix soll sich mal jemand melden, der Erfahrungen mit Konstruktionstabellen unter Unix hat. Ich kann mir vorstellen, dass das hier mit Open Office (kann man ja auch unter Unix installieren)genauso gut funktioniert. Werde ich morgen mal ausprobieren, wenn`s die Zeit erlaubt. ------------------ mfg EL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Dez. 2008 19:50 <-- editieren / zitieren -->
|
Ex-Mitglied
|
erstellt am: 12. Dez. 2008 05:55 <-- editieren / zitieren -->
|
CC-EL Mitglied Consulting/Konstruktion
Beiträge: 17 Registriert: 11.12.2008 Windows XP Prof (2002) SP2 3.20 GHz, 2.00 GB Catia V5 R19 SP3
|
erstellt am: 12. Dez. 2008 08:06 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, bei mir klappte das Arbeiten mit Open Office deshalb, weil noch ein Office-Paket installiert ist. Man kann zwar die .xls mit OO erstellen, bearbeiten, speichern und auch bei geöffneten Catia editieren und sich dann freuen dass der Design Table synchronisiert wird, aber leider liest Catia dabei die .xls eben nur über ein inst. Excel. Ein OO ohne inst. Excel funktioniert also leider nicht, ich korrigiere mich. ------------------ mfg EL Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 16. Dez. 2008 05:40 <-- editieren / zitieren -->
|
jkaestle Mitglied
Beiträge: 1091 Registriert: 08.02.2002 WIN XP 64 CATIA V5 R19SP3
|
erstellt am: 17. Dez. 2008 09:35 <-- editieren / zitieren --> Unities abgeben:
Hallo CEROG, ich hab' mal was gebastelt. Vielleicht hilft's Dir weiter. War nur so ne Idee. Ich habe den Baum auf das Wesentliche reduziert. Alles was der Anwender nicht braucht ist ausgeblendet (Parameters & Relations). Die unterschiedlichen Dicken werden über den Parameter "Konfiguration" ausgewählt. Ich habe mich im Moment auf qudratische Platten beschränkt. ------------------ Viele Grüße Jochen Kästle [Diese Nachricht wurde von jkaestle am 17. Dez. 2008 editiert.] 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: 17. Dez. 2008 09:43 <-- editieren / zitieren --> Unities abgeben:
|
jkaestle Mitglied
Beiträge: 1091 Registriert: 08.02.2002 WIN XP 64 CATIA V5 R19SP3
|
erstellt am: 17. Dez. 2008 14:05 <-- editieren / zitieren --> Unities abgeben:
|
Ex-Mitglied
|
erstellt am: 17. Dez. 2008 19:03 <-- editieren / zitieren -->
|
Ex-Mitglied
|
erstellt am: 01. Jan. 2009 08:27 <-- editieren / zitieren -->
Ich wünsche Euch ein frohes neues Jahr, ich habe etwas in der Richtung hinbekommen. Es ist zwar nicht sonderlich elegant und hakt auch manchmal, funktioniert aber den Umständen entsprechend gut. Ein Problem dabei ist, daß an ein Law als Input nur ein Parameter als Input übergeben werden kann und Laws nicht direkt auf Parameter zugreifen können. In diesem Fall wird die Dicke eine Platte festgelegt. Die Auswahl der möglichen Plattendicken ist von der Länge abhängig. Ein Parameter Dicke_Auswahl enthält alle möglichen Dicken. Hier wähle ich die Dicke aus, die ich haben möchte. Wird die maximale Dicke überschritten, so wird die Dicke auf 0 gesetzt, um eine Fehlermeldung zu provozieren. Das Pad kann dann nicht aufgebaut werden. Mit zwei fog-Laws aus der Toolbar Knowledge werden maximale und minimale Plattendicke festgelegt. Für diese beiden Werte werden Parameter angelegt. Beispiel für die minimale Dicke:
Code:
if (fPlattenlaenge <= 100){ fPLattendicke=6 } else { fPLattendicke=27 }
Das Law heißt Ueberpruefung_Dicke_Min. Die Verbindung des Law mit dem Hilfsparameter Dicke_min macht eine Formel: Code:
Dicke_min=Relations\Ueberpruefung_Dicke_Min->Evaluate(Parameter_Werkzeug\Laenge_Platte/1mm ) *1mm
Für die Berechnung habe ich noch einen Hilfsparameter Dicke_Hilf angelegt. Er wird mit 3 Formeln berechnet, deren Aktivität mit Formeln gesteuert wird, wie Mörchen es vorgeschlagen hat. Das ganze funktioniert soweit gut. Bei der Umschaltung der Plattenlängen kann es zu einer Fehlermeldung kommen. Diese Fehlermeldung ist nicht so ganz unerwünscht - zeigt sie doch an, daß hier noch etwas eingestellt werden muß. Mal sehen, vielleicht bekomme ich die auch noch weg. Ich habe noch eine zweite Idee für eine ähnliche Fragestellung. Dabei wird jedoch zusätzlich die Plattendicke berechnet und aus einer Liste ausgewählt. Auch hier spielt die Länge der Platte mit rein. Viele Grüße, CEROG
------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |
Mike_Wilhelm Mitglied CATIA Dienstleister
Beiträge: 2 Registriert: 28.02.2006
|
erstellt am: 02. Jan. 2009 21:29 <-- editieren / zitieren --> Unities abgeben:
Hallo Cerog, ich habe mir auch ein paar Gedanken zu deinem Problem gemacht. Was hältst du davon die Wertelisten deiner Parameter durch ein Makro definieren zu lassen? In diesem Makro machst du deine Abfragen (z.B. Plattendicke > 100mm) und weißt entsprechend dem Ergebnis deinen restlichen Parametern neue Wertelisten zu. Kleines Beispiel: Sub CATMain() 'Aktuelles Part definieren Dim AktPart As Part Set AktPart = CATIA.ActiveDocument.Part 'Parameter festlegen ------------------------------------- Dim Params As Parameters Set Params = AktPart.Parameters Dim Para_Breite As Parameter Dim WertTiefe As RealParameter 'Wertelisten für Paramter Breite definieren -------------------- Dim Breitenkleiner10mm (2) As CATSafeArrayVariant Dim Breitengroesser10mm (2) As CATSafeArrayVariant
Set Para_Breite = Params.Item ("Breite")
'Wert der Tiefe auslesen ------------------------------------- WTiefe = Params.Item ("Tiefe").Value
'Wertelisten je nach Tiefe setzen --------------------------------- if WTiefe > 10 then 'Werte für Breite setzen ------------------------------------- Breitengroesser10mm(0) = 50 Breitengroesser10mm(1) = 55 Breitengroesser10mm(2) = 60 'neue Werteliste in Paramter breite eintragen ------------------ Para_Breite.SetEnumerateValues (Breitengroesser10mm) else 'Werte für Breite setzen ------------------------------------- Breitenkleiner10mm(0) = 20 Breitenkleiner10mm(1) = 25 Breitenkleiner10mm(2) = 30 'neue Werteliste in Paramter breite eintragen ------------------ Para_Breite.SetEnumerateValues (Breitenkleiner10mm) End if End Sub Das ganze funktioniert Problemlos ohne Zusatzlizenzen. Der Anwender muss eben nach dem Auswählen der Plattendicke das Makro laufen lassen (Icon dafür definieren nimmt die Scheu davor;-)) und bekommt dann automatisch die für diese Dicke passenden Wertelisten.
------------------ Gruß Mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 03. Jan. 2009 09:06 <-- editieren / zitieren -->
Hallo Mike, das könnte ein Ansatz sein. Mir gefällt daran nur nicht, daß ein zusätzlicher Arbeitsschritt notwendig ist. Ich habe eine andere Lösung für das zweite Teil meines Problems: Die Berechnung der Plattendicke ergibt irgendeinen "krummen" Wert, der allenfalls zufällig mit einem meiner Standardwerte übereinstimmt. Die Auswahl meines Standardwertes erfolgt mit einer Konstruktionstabelle, die alle Dicken enthält. Ich habe in diese Tabelle eine zweite Spalte eingefügt, die die Länge enthält, die die kleinste Plattenlänge enthält, bei der die Dicke vorhanden ist. Die Konfiguration aus der Konstruktionstabelle kann ich mit einer einfachen Formel mit CloseSupConfig() auswählen, die zwei Suchkriterien enthält. Dieses Lösung für die untere Grenze ist damit relativ primitiv, aber effektiv, gelöst. Für die obere Grenze habe ich mir etwas anderes überlegt: Ich berechne per Formel einen booleschen Parameter. Wird die maximale Dicke überschritten, wird der Parameter "False" gesetzt. Mit ihm blende ich dann das Bauteil aus. Da es sich dabei um die Formplatte eines Spritzgußwerkzeuges handelt, sollte das auffallen. Später muß die Platte ja eh noch bearbeitet werden. Alternativ könnte man auch die komplette Baugruppe deaktivieren, zu der das Teil gehört. Ich danke Mörchen, thomasacro, Thomas Harmening, JKaestle, bgrittmann, CC-EL und Mike_Wilhelm für die Anregungen. Viele Grüße, CEROG ------------------ Meine Firma | Website zum Buch Technisches Zeichnen mit CATIA V5 Wie stelle ich meine Fragen richtig? |