Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Regel erstellen

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:  Regel erstellen (1267 mal gelesen)
hardy1312
Mitglied



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

Beiträge: 49
Registriert: 27.12.2005

erstellt am: 16. Jan. 2007 10:45    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


Zwischenablage01.jpg

 
Hallo liebes Forum,

ich habe ein kleines Problem. Ich möchte ähnlich wie im Bild ein Teil mit zwei Parametern erstellen. Es sind Parameter mit mehreren Werten. Wenn der Parameter "a" den Wert 50 übersteigt, darf Parameter "b" nur mit den Werte 400, 500, oder 600 ausgewählt werden.

Wenn der Parameter "a" kleiner als 50 ist, darf Parameter "b" nur mit den Werte 100, 200, oder 300 ausgewählt werden.

Es funktioniert leider nicht so, wie ich es mir gedacht habe. Hat jemand ,wenn möglich über den Regeleditor, eine alternative Lösung?

Ich danke euch im voraus.

Gruß
Stephan

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

SirKlabauter
Mitglied
cand. Ing.


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

Beiträge: 45
Registriert: 21.09.2006

CATIA: V5R16
Programmiersprache: VBA

erstellt am: 16. Jan. 2007 13:02    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 hardy1312 10 Unities + Antwort hilfreich

Ob der Code Funktioniert weiß ich nicht, aber du hast so wie ich das sehe schon beim schreiben fehler gemacht.

If ( a>=50mm)
{ b= 400mm .....}

Vielleicht funkt es ja jetzt.

------------------
Hinweise auf Rechtschreibfehler kann man sich bitte sparen.

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

hardy1312
Mitglied



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

Beiträge: 49
Registriert: 27.12.2005

erstellt am: 16. Jan. 2007 13:13    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

Ich danke dir für deine Antwort, aber es funktioniert immer noch nicht

Gruß
Stephan

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 17. Jan. 2007 12:28    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 hardy1312 10 Unities + Antwort hilfreich

Hallo,

ich würde das ganze über ein Reaktion machen, wobei es sich da vielleicht auch als Schwierig erweisen würde.

möchtest du das dann je nach wert in Parameter a auch nur die verschiedenen Werte in Parameter b verfügbar sind???

Das ist wichtig zu wissen.

Wenn nein könnte es über Knowledgeware machbar sein.

Wenn ja dann funktioniert das ganze nur über ein script

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 17. Jan. 2007 12:44    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 hardy1312 10 Unities + Antwort hilfreich

Also ich habe das jetzt mal getestet.

Du hast zwei Lösungsmöglichkeiten:

1. Du machst es mit einer Reaktion, jedoch mit "VB Action" und nicht mit einer "Knowledgeware Action"

2. Du fügst den unten beschriebenen CODE in ein *.CATScript ein und speicherst dieses in das zugehörige Part ab. Danach erstellst du eine Regel welches das CATScript startet.


Code:
Sub CATMain()

Dim partDocument1 As Document
Set partDocument1 = CATIA.ActiveDocument
Dim part1 As Part
Set part1 = partDocument1.Part
Dim parameters1 As Parameters
Set parameters1 = part1.Parameters
Dim length1 As Parameter
Dim length2 as Parameter
Dim Paramliste(3)

'Length.1 (a) und Length.2 (b) müssen von Dir ersetzt werden, genauso wie das "Part460"

Set length1 = parameters1.Item("Part460\Length.1")
Set length2 = parameters1.Item("Part460\Length.2")

length2.SuppressEnumerateValues

If length1.Value >= 50 Then
length2.Value = 400
paramliste(0) = 400
paramliste(1) = 500
paramliste(2) = 600


Else
length2.Value = 100
paramliste(0) = 100
paramliste(1) = 200
paramliste(2) = 300

End If

length2.SetEnumerateValues(paramliste)

End sub


Falls es dazu noch fragen gibt. Einfach melden.

Gruß Timber


PS: Habe den Code getestet und er funktioniert definitiv

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

hardy1312
Mitglied



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

Beiträge: 49
Registriert: 27.12.2005

erstellt am: 17. Jan. 2007 12:58    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 Timberwolve,

so wie du es geschrieben hast, sollte das ganze funktionieren.
Wenn der Paramter a zum Beispiel größer ist als 50, soll der Parameter b nur mit den Werten 400, 500, oder 600 auswählbar sein. Wenn der Paramter a zum Beispiel kleiner ist als 50, soll der Parameter b nur mit den Werten 100, 200, oder 300 auswählbar sein. B ist also ein Parameter mit mehreren vordefinierten Werten.

SOllte ich dann ein Scribt schreiben, welches mir diese Paramter erstellt, oder wie würde deine Lösung aussehen?

Hast du schonmal ein ähnliches Beispiel erstellt?

Gruß
Stephan

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 17. Jan. 2007 13:06    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 hardy1312 10 Unities + Antwort hilfreich

das was du soeben beschrieben hast funktioniert mit dem Script in meinem Vorherigen geposteten Beitrag.

Versuchs einfach mal aus.

Wie gesagt, gewisse Variablen musst du einfach mit deinen ersetzen.

Aber ist oben eigentlich alles erklärt

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

hardy1312
Mitglied



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

Beiträge: 49
Registriert: 27.12.2005

erstellt am: 19. Jan. 2007 12:49    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 Timberwolve,

ich habe total vergessen, mich für deine Hilfe zu bedanken. Ich denke es ist eine ganz gute Alternative zu meinem Problem.

Gruß Stephan

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