Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Formel mit zwei Parameter

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:  Formel mit zwei Parameter (875 mal gelesen)
Sabine Feminin
Mitglied
Konstrukteur


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

Beiträge: 10
Registriert: 30.07.2006

erstellt am: 14. Aug. 2006 08:35    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 zusammen,

schaut Euch bitte mal folgende Sache an. Eine Formel für den Wert einer Verschiebung zu erstellen ist kein Problem, aber was muss ich machen wenn  sich der Wert aus zwei Formeln zusammenstellt, wobei der Name der einen Formel erst während des Ablaufs des Makros über eine InputBox eingegeben wird.
Parameter:
Länge = 30mm
Teilung = 3    'Parametername u. Wert kommen aus InputBox

Set length1 = hybridShapeTranslate.distance
Set formula1 = relations1.CreateFormula("Formel.1", "", length1, "Länge" / Teilung)  'So geht es leider nicht

Mit dem Code geht es nicht, da am Ende nur ein String stehen darf.
Gruß, Sabine

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

okl
Mitglied
Wirtsch-Ing (Maschbau)


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

Beiträge: 157
Registriert: 21.04.2006

2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005
Adminrechte

erstellt am: 14. Aug. 2006 16:33    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 Sabine Feminin 10 Unities + Antwort hilfreich

Hallo Sabine,

wenn Du einen Parameter erstellst, geht das.
Name = Inputbox("Bla")
Wert = Inputbox("Bla2")
Set Parm = Parameters.CreateDimension(Name, ((Typ)), Wert)
Param kannst Du dann in Deiner anderen Formel ansprechen und mit dem rechnen lassen.
Bei Fragen : fragen!
schüs, okl

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

Sabine Feminin
Mitglied
Konstrukteur


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

Beiträge: 10
Registriert: 30.07.2006

erstellt am: 14. Aug. 2006 19:48    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 okl,

die Idee hatte ich auch schon, aber so langsam wird mir klar das ich es wohl nicht anders machen kann. Da ich recht viele Parameter erstellen lasse würde das nämlich nicht gerade zur Übersichtlichkeit beitragen. Hast Du noch eine andere Idee?

Gruß, Sabine

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

okl
Mitglied
Wirtsch-Ing (Maschbau)


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

Beiträge: 157
Registriert: 21.04.2006

2x3,6 GHz, 2 GB RAM, NVIDIA Quadro FX 1800, Delmia V5R16 SP1, Win XP Prof SP2, Office, VS 2005, VB 6, Inventor (Test), VBExpress .NET 2005
Adminrechte

erstellt am: 14. Aug. 2006 21:17    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 Sabine Feminin 10 Unities + Antwort hilfreich

Hallo Sabine,

meines Wissens geht es anders nicht. Ist auch irgendwo einleuchtend. Du möchtest durch die Deklaration einer Formel das auch nach Ende des Makros/Runtime etc. die Beziehung bestehen bleibt. Daher musst Du Catia dies verständlich machen und das geht nur durch einen Parameter und eine Formel. Du kannst sicher auch Werte in die Formel schreiben, das macht aber nur bei Konstanten Sinn.
Soll die Beziehung nach Ende des Makros nicht mehr Bestand haben oder soll diese sich danach nicht mehr ändern, dann kannst Du sicher auch makrointern Variabeln verrechnen und dem Nutzer nur das Ergebnis präsentieren. Vielleicht machst Du Deine Ziele noch mal deutlicher, wenn Du noch weitere Hilfe brauchst, sonst fällt mir auf die Schnelle nichts sinnvolles dazu ein.
Grüßle, okl

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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 15. Aug. 2006 13:18    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 Sabine Feminin 10 Unities + Antwort hilfreich


Code_FormelfürPunktkoordinatenerzeugen.pdf

 
Hallo Sabine

Gestern habe ich zufälligerweise ein Programm zu Erzeugung von Formeln geschrieben. Allderdings waren bei mir die Parameter schon vorher definiert und nicht zur Laufzeit.

Aber vielleicht hilft's zur Inspiration.

Martin


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

mkna
Mitglied
Konstrukteur


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

Beiträge: 137
Registriert: 18.03.2005

erstellt am: 16. Aug. 2006 08:15    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 Sabine Feminin 10 Unities + Antwort hilfreich

Hallo

habe nochmal einen anderen Code. Hier wird über eine Inputbox zunächst der Parametername und anschließend der Wert eingegeben und dann dem Part hinzugefügt.Anschließend wird eine Formel erzeugt.


Sub CATMain()

Set partDocument1 = CATIA.ActiveDocument

Set part1 = partDocument1.Part

'***********************************
'Deklaration der Parameterklasse
Rem +++++++++++++++++++++++++++++++

Set parameters1 = part1.Parameters

Rem +++++++++++++++++++++++++++
Rem Deklaration der Formelklasse
Rem ++++++++++++++++++++++++++++

Set rels = part1.Relations


ParName = InputBox("Geben Sie den gewünschten Parametername ein") ' Paramtername wird eingegeben

ParVal = InputBox("gewünschter Wert von" & ParName) ' Parameter werd wird eingegeben

Set length1 = parameters1.CreateDimension(ParName, "LENGTH", ParVal) 'Parameter wird Part hinzugefügt

Set Bodies = part1.Bodies

Set body1 = Bodies.Item("Hauptkörper")

Set shapes1 = body1.Shapes

Set pad1 = shapes1.Item("Block.1")

Set sketch1 = pad1.Sketch

Set constraints1 = sketch1.Constraints

Set constraint1 = constraints1.Item("Offset.6")

Set length1 = constraint1.Dimension

Set Formula = rels.CreateFormula("Formel", "", length1, ParName & "/2") 'Formel wird erzeugt


part1.Update

End Sub

Vielleicht bringt dich der ein bischen weiter

Martin

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

Sabine Feminin
Mitglied
Konstrukteur


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

Beiträge: 10
Registriert: 30.07.2006

erstellt am: 16. Aug. 2006 13:36    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

Vielen Dank an Alle,

habe es jetzt hinbekommen und bin happy.
Ein wahrscheinlich kleines Problem habe ich noch. Nach dem drücken der Esc Taste soll der Makro komplett stoppen. Ich muß zur Zeit drei-oder viermal drücken damit er anhält. Kennt jemand eine Möglichkeit?

Gruß
Sabine

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

Stoffel
Mitglied
Student


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

Beiträge: 322
Registriert: 09.10.2002

R6/V2010

erstellt am: 25. Aug. 2006 13: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 Nur für Sabine Feminin 10 Unities + Antwort hilfreich

du hättest auch mit "length1.name" und "length1.value" arbeiten können....

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