Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  CATIA V5 Allgemein
  max Winkelstellung eines Verstellbereiches als Parameter auslesene/ausgeben

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für CATIA & Co.
  
erp4cad: Das ERP für komplexe CAD-Projekte!, eine Pressemitteilung
Autor Thema:  max Winkelstellung eines Verstellbereiches als Parameter auslesene/ausgeben (2292 mal gelesen)
Frank...
Mitglied



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

Beiträge: 27
Registriert: 25.04.2008

erstellt am: 29. Okt. 2008 11:26    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.
Ich hab versucht die maximale Winkelstellung eines Verstellbereiches als Parameter auszugeben. Leider komme ich nun nicht weiter. Kann mir jemand helfen?
Zum besseren Verständnis:
Eine Ebene, die im Bereich von z.B. -30° bis +30° einstellbar ist (nicht mehr und nicht weniger, festgelegt mit "Range"). Nun möchte ich, den max. Wert (30°) und den min. Wert (-30°) auslesen und einem Parameter zuweisen, so dass ich diese weiterverwenden kann.

Merci.

Gruß, Frank

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V4
Catia V5 R19
UG NX3; NX5; NX7.5
Fides 4.2

erstellt am: 29. Okt. 2008 11:53    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 Frank... 10 Unities + Antwort hilfreich

Wenn ich Dich richtig verstanden habe suchste Du das:
Neuen Parameter des Typs Angel anlegen. Dann im Ebenenfenster beim Winkel über rechte Maustaste Edit Formula und einfach auf Deinen Parameter im Baum klicken.

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

Frank...
Mitglied



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

Beiträge: 27
Registriert: 25.04.2008

erstellt am: 29. Okt. 2008 13:29    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

Hi deyhawaii,
merci für Deine Antwort, ist aber nicht das, was ich gemeint hatte. Wenn ich das so mache, wie Du beschrieben hast, dann bekomm ich zwar ne Meldung, dass ich den Bereich verlasse den ich mit der Range definiert hab, aber der erstellte Parameter gibt immer genau den Wert aus, den die Ebene gerade hat.
Ich hätte nun aber gerne die beiden Endwerte der Range als Parameter ausgegeben.
Wenn ich eine neue Ebene über "Angle/Normal to plane" erstelle, dann steht da der verstellbare Winkelparameter darunter. Wenn ich dann einen Doppelklick darauf mache und mit RMT auf das Winkelfenster, dann kann ich ne Range von bis definieren. Diese beiden Werte möchte ich als Parameter im Baum unter dem Zweig Parameter ausgeben.

Gruß, Frank

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

deyhawaii
Mitglied
Konstrukteur


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

Beiträge: 236
Registriert: 17.09.2005

Catia V4
Catia V5 R19
UG NX3; NX5; NX7.5
Fides 4.2

erstellt am: 29. Okt. 2008 13:50    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 Frank... 10 Unities + Antwort hilfreich

Du kannst doch über RM und Add Multiple Values Deine beiden Bereiche festlegen. Also einmal 30° und -30°. Dann kannst Du im Parameter nur die beiden Werte auswählen und die Ebene verändert sich dementsprechend.

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 12054
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 29. Okt. 2008 13:55    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 Frank... 10 Unities + Antwort hilfreich

Servus
Also so weit war Frank auch schon. Allerdings wollte er den min und max Wert des Bereiches auslesen (und durch einen anderen Parameter steuern).
AFIAK geht das nicht (lasse mich aber gerne eines Besseren belehren).

Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

denyo_1
Ehrenmitglied V.I.P. h.c.
Manager


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

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: 30. Okt. 2008 10:50    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 Frank... 10 Unities + Antwort hilfreich


MinMaxRange.jpg

 
Hallo,

ich habe einen Vorschlag der genau das erledigen sollte das du auch brauchst. Leider muss dafür einen KWA-Lizenz vorhanden sein, denn mein Vorschlag beruht auf einer "Reaction".

Dazu eine kurze Erklärung:
Immer wenn die Plane.X upgedated wird (also bei jeder Wertänderung, Rangeänderung, etc.) läuft im Hintergrund ein VB-Makro ab und ließt sich die Werte für Min und Max-Range aus. Sind die zwei gewünschten Parameter im Part noch nicht enthalten, werden sie neu erstellt. Sind sie schon erstellt, dann werden die Werte mit den upgedateten Werten verglichen. Haben Sie sich geändert, wird dies dem Anwender durch ein MsgBox visualisiert und anschließend die beiden (bzw. nur  ein Parameter) geändert. So kannst du definitiv weiterarbeiten. Die beiden Paramter haben zwar keine Formel hinterlegt, sind aber dennoch flexibel und passen sich an die Range der Plane an.

So nun genügend getippt. Hier nun der Quelltext mit kurzer Erklärung und Screenshot:

Code:

Sub main

Dim oPlane
Dim MinRangePara
Dim MaxRangePara

Set oDoc = CATIA.ActiveDocument
Set oPart = oDoc.Part
Set hybBodies = oPart.HybridBodies
Set hybBody = hybBodies.Item("Design")
Set hybShapes = hybBody.HybridShapes
Set oPlane = hybShapes.Item("Plane.1")
Set PlaneAngle = oPlane.Angle
Set oPara = oPart.Parameters

MinRangeValue = PlaneAngle.RangeMin
MaxRangeValue = PlaneAngle.RangeMax

On Error Resume Next
Set MinRangePara = oPara.GetItem("Plane1MinRange")
If Err.Number <> 0 Then
On Error GoTo 0
    Set MinRangePara = oPara.CreateDimension ("","ANGLE", "0#")
    MinRangePara.Value = MinRangeValue
    MinRangePara.Rename "Plane1MinRange"
    Box =  MsgBox("Es wurde ein neuer Parameter für den Minimal-Wert von Plane.1 erstellt",vbInformation,"Minimalwert Plane1")
Else
    If  MinRangePara.Value <> MinRangeValue then
        MinRangePara.Value = MinRangeValue
        Box =  MsgBox("Der Wert des bestehenden Parameters für den Minimal-Wert von Plane.1 wurde angepasst",vbInformation,"Minimalwert Plane1")
    End If
End If

On Error Resume Next
Set MaxRangePara = oPara.GetItem("Plane1MaxRange")
If Err.Number <> 0 Then
On Error GoTo 0
    Set MaxRangePara = oPara.CreateDimension("", "ANGLE", "0#")
    MaxRangePara.Value = MaxRangeValue
    MaxRangePara.Rename "Plane1MaxRange"
    Box =  MsgBox("Es wurde ein neuer Parameter für den Maximal-Wert von Plane.1 erstellt",vbInformation,"Maximalwert Plane1")
Else
    If MaxRangePara.Value <> MaxRangeValue then
        MaxRangePara.Value = MaxRangeValue
        Box =  MsgBox("Der Wert des bestehenden Parameters für den Maximal-Wert von Plane.1 wurde angepasst",vbInformation,"Maximalwert Plane1")
    End If
End If
oPart.Update

End sub


How to do?

1. Das Part öffnen in dem dieses Makro laufen soll.
2. Start -> Knowledgeware -> Knowledge Advisor
3. Reaction anklicken (Toolbar Reactive Features) (siehe Screenshot)
4. Einstellungen (im oberen Bereich) wie auf dem Screenshot vornehmen
5. Im unteren Bereich auf "VB-action" umstellen
6. Code reinkopieren

ACHTUNG WICHTIG
der Code muss natürlich noch angepasst werden. Unter anderem muss der Name des geometrischen Sets (in dem deine Plane liegt) angepasst werden. Des weiteren müssen die Namen der Parameter sowie der Name der Ebene auf die die Reaction ablaufen soll angepasst werden.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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

Frank...
Mitglied



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

Beiträge: 27
Registriert: 25.04.2008

erstellt am: 31. Okt. 2008 09:31    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

Servus Daniel,

merci für Deine Hilfe und die Arbeit, die Du Dir gemacht hast. Genau so hab ich mir das vorgestellt. Auf meinem Rechner Zuhause läuft es einwandfrei! Nur in der Firma funktioniert es leider nicht - keine KWA-Lizenz  . Ist jetzt halt echt sch..., weil ich nun trotz dem Makro nicht weiter machen kann. Gibt es noch ne andere Möglichkeit?
Gruß, Frank

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

denyo_1
Ehrenmitglied V.I.P. h.c.
Manager


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

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: 31. Okt. 2008 09:43    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 Frank... 10 Unities + Antwort hilfreich

Hy,

nein leider nicht. Das Problem ist das du mit dem "normalen" Formeleditor nicht auf die Ranges von Parametern zugreifen kannst. Das geht leider nur über die Methoden von VB bzw. gleich über Knowledgeware Sprache und die ist nur mit der KWA-Lizenz verfügbar.

------------------
MFG Daniel

Die KATJA ist halt doch nur ne zickige Französin

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)2025 CAD.de | Impressum | Datenschutz