Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Wert und Parameter gleichzeitig in eine Formel bringen

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:  Wert und Parameter gleichzeitig in eine Formel bringen (2113 mal gelesen)
Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 01. Dez. 2017 14:51    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,
mein Programm und ich haben mal wieder ein Problem.
Ich habe mit Hilfe einer Schleife viele Punkte erstellt. Diese bekommen automatisch einen Wert zugeteilt.
Die Idee ist nun zusätzlich zu dem konstanten Wert einen Parameter für die manuelle Anpassung zu hinterlegen.
Das Problem ist nun, dass ich das nicht unter einen Hut bekomme. Entweder ich hinterlege einen Parameter oder den Wert. Beides geht nicht. Durch stöbern hier im Forum habe ich herausgefunden, dass die Zuweisung des Parameters als "String" erfolgen muss.
Code:

Dim x3 As Double
Dim x4 As Double
Dim x6 As Double
Dim x7 As String
x3 = Punktkoordinaten
x4 = ("Individuelle_Abstandsanpassung_" & Format(Benennung))
x6 = x3 + x4
x7 = x6 & "mm"

Das geht auch soweit, nur wird in diesem Fall der Wert des Parameters genommen und nicht der Parameter an sich.
Hat jemand Ideen?
Vielen Dank und im Vorfeld schonmal und ein schönes Wochenende!!

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 01. Dez. 2017 15:11    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 Student051089 10 Unities + Antwort hilfreich

Hallo,

ich bin mir nicht ganz sicher was du vor hast, aber warum erstellst du nicht den Parameter, belegst ihn mit einem Wert und verknüpfst ihn dann mit der Formel?

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 01. Dez. 2017 15: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

Also ich brauche in meiner Formel einen Wert(wird im Makro errechnet) und einen Parameter. Diese beiden müssen dann in die Formel eingebaut werden.
Beispiel:
Länge = 80mm + Parameter
Der Parameter soll das ganze individuell steuern.
In der zugehörigen Formel soll der Berechnete wert dem zugehörigen Punkt zugewiesen werden.
Problem:
80mm --> Double
Parameter --> String
beides muss addiert werden ohne den Parameter zu "verlieren"
Code:
   
Set length3 = parameters2.Item(x1_01)
Set formula5 = relations7.CreateFormula("Formula.44", "", length3, x7)

Den Wert kann ich nicht als Parameter erstellen, da er sich nach jeder Berechnung ändert.

[Diese Nachricht wurde von Student051089 am 01. Dez. 2017 editiert.]

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 01. Dez. 2017 18:21    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 Student051089 10 Unities + Antwort hilfreich

Servus

Hier findest du ein ähnliches Beispiel zur Erstellung einer Formel (mit einer Addition)

Gruß
Bernd

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 04. Dez. 2017 11:47    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 Bernd,
das hat mir schonmal richtig weitergeholfen.
Ich habe leider nicht herausfinden können ob mit dieser Methode auch 2 Parameter addiert werden können. Geht das?
Vielen Dank für deine Antworten!
Grüße

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Dez. 2017 11:57    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 Student051089 10 Unities + Antwort hilfreich

Servus

Was hast du genau vor? Wie würdest du das manuell aussehen? (extra Parameter? extra Formel ....)
Soll sich das parametrisch nachher ändern lassen (also Offset-Wert ändern und die Koordinaten ändern sich mit)?
Bitte mal den Strukturbaum posten wie das manuell aussehen würde.

Gruß
Bernd

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 04. Dez. 2017 13:54    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

Also ich habe in meinem Makro einen konstanten Abstand mehrerer Punkte errechnet und die Punkte dann platziert.
Der Abstandswert kann nicht als Parameter angelegt werden, da dieser Wert sich auf die Nulllage bezieht.
Nun will ich einen Parameter erstellen, der zu dem konstanten Wert eine gleichmäßige Längenanpassung aller Punkte vornimmt.
Code:

    Dim Individuelle_Anpassung As Dimension
    Set Individuelle_Anpassung = parameters1.Item("Individuelle_Abstandsanpassung_" & Format(Benennung))

    Dim StrFormel As String
    StrFormel = parameters1.GetNameToUseInRelation(Individuelle_Anpassung & "+ Punktkoordinaten")



Mit dem Wert "+10mm" geht es und mit dem String "+ Punktkoordinaten" nicht.
Weißt du eine Lösung hierfür?
Grüße

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Dez. 2017 15: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 Student051089 10 Unities + Antwort hilfreich

Servus

Was ist denn Punktkoordinaten denn bitte für ein Objekt (Catia-Parameter, VB-Variable, ...)

Gruß
Bernd

PS: Schon mal so probiert:

Code:
StrFormel = parameters1.GetNameToUseInRelation(Individuelle_Anpassung) & "+" & CStr(Punktkoordinaten) & "mm")

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 04. Dez. 2017 15: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

Punktkoordinaten sind VB- Variablen

Code:

StrFormel = parameters1.GetNameToUseInRelation(Individuelle_Anpassung) & "+" & CStr(Punktkoordinaten) & "mm")


Die Formel funktioniert nur beim ersten Durchlauf. (wenn die Punktkoordinate 0mm beträgt). Danach kommt ein Fehler.
Ich weiß nicht weiter...

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 04. Dez. 2017 15:57    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 Student051089 10 Unities + Antwort hilfreich

Servus

Wie lautet der Fehler?
Lass dir mal den StrFormel ausgeben. Passt die Formel?
Wäre es nicht einfacher die Punkte auf einen Referenzpunkt zu beziehen (AddNewPointCoordWithReference). Dann sparst du dir die Formeln und kannst einfach den Referenzpunkt später parametrisch ändern.

Gruß
Bernd

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 05. Dez. 2017 08:32    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

Also das geht:
Code:
StrFormel : "Individuelle_Abstandsanpassung + 0mm" : String

und das geht nicht:
Code:
StrFormel : "Individuelle_Abstandsanpassung + 81,9523028395008mm" : String

Die Formel wird immer erstellt. Bei 0mm Abstand und individueller Anpassung wird alles korrekt ausgeführt. Ab dem nächsten Schritt wird die Formel mit gelben Ausrufezeichen versehen.

PS.: der Aufbau ist mit AddNewPointCoordWithReference aufgebaut. Gefordert ist aber, dass die Referenz am Anfang des Aufbaus steht.
Grüße

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 05. Dez. 2017 08:56    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 Student051089 10 Unities + Antwort hilfreich

Servus

Welchem Parameter weißt du die Formel zu? Wie greift du auf diesen zu?
Liegt es am Wert dass die Formel nicht funktioniert? (mal mit dem "ungeraden" Wert die erste Formel erzeugen)
Erzeugst du für jeden Durchlauf einen neuen Parameter oder versuchst du bei jedem Durchlauf dem Parameter eine weitere Formel zugreifen? (dann ist klar das da ein Fehler kommt)
(ggf mal die ersten beiden Punkte manuell erzeugen)

Gruß
Bernd

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 05. Dez. 2017 09:38    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 Bernd,
also wie ich jetzt herausgefunden habe liegt es an den ungeraden Zahlen. Runde ich den Wert, kommt immer ein Ergebnis heraus.
Das Problem ist nun noch, dass meine exakte Verteilung dann über den Haufen geworfen wird.
Ist es möglich doch irgendwie meine exakten Werte zu übernehmen?
Grüße

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: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 05. Dez. 2017 09: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 Student051089 10 Unities + Antwort hilfreich

Servus

Wenn du mal so eine Formel von Hand erstellt hättest, hättest du festgestellt dass in einer Formel nur ein Punkt als Dezimaltrenner verwendet werden darf.
Also ersetze mal das Komma durch einen Punkt.

Gruß
Bernd

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

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

Student051089
Mitglied



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

Beiträge: 44
Registriert: 23.08.2017

Catia V5 R26

erstellt am: 06. Dez. 2017 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

Hallo Bernd,
vielen Dank für deine Hilfe!
Läuft astrein durch!
Grüße

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