Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Ermitteln ob Wert eines Parameters eine Formel ist

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:  Ermitteln ob Wert eines Parameters eine Formel ist (730 mal gelesen)
geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 20. Mrz. 2013 17: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

Hallo zusammen,

schreibe gerade ein Makro um mehreren selektierten Parametern über eine Formel den Wert eines anderen Parameters zuzuweisen.. Das funktioniert auch, allerdings nur, wenn die Werte der Zielparameter keine Formeln sind..

In diesem Fall müsste ich die Formel löschen und eine neue erzeugen, ich scheitere allerdings bereits daran herauszufinden, ob der Wert eine Formel ist..

Hoffe, ich habe das halbwegs deutlich rübergebracht 

Gruß und Thx,

Stefan

------------------
Seid nicht dumm, lest drin rum!

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

geekv5
Mitglied
Konstrukteur


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

Beiträge: 214
Registriert: 13.07.2011

Notebook<P>MSI GX660R
Intel Core i5 460M
8GB DDR3
1GB Mobility HD5870
80GB Intel X25-M Postville
250GB HDD<P>Desktop<P>AMD Phenom II X4 965
1GB HD4890@ FirePro V8700
8GB DDR3-1600
2,5TB HDD<P>Belinea 2485 S1W 24" MVA

erstellt am: 21. Mrz. 2013 10: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

Morgen!

Habe jetzt erstmal via Startcommand gelöst, geht sicher besser..

Code:

Sub CATMain()

Dim partDocument1 As PartDocument
Dim selection1 As Object
Dim part1 As Part
Dim relations1 As Relations
Dim parameters1 As Parameters
Dim length1 As Length
Dim formula1 As Formula
Dim quellparameter As Parameter
Dim parameterliste() As Variant

Set partDocument1 = CATIA.ActiveDocument
Set selection1 = CATIA.ActiveDocument.Selection
Set part1 = partDocument1.Part
Set relations1 = part1.Relations
Set parameters1 = part1.Parameters

If selection1.Count = 0 Then Exit Sub

ReDim parameterliste(0)

For i = 1 To selection1.Count

    ReDim Preserve parameterliste(i)
    Set parameterliste(i) = selection1.Item(i).Value

Next

Dim Was(0)

Was(0) = "Parameter"
selection1.Clear
Ergebnis = selection1.SelectElement2(Was, "Bitte den Quellparameter wählen!", False)

If Not Ergebnis = "Normal" Then Exit Sub

Set quellparameter = parameters1.Item(selection1.Item(1).Value.Name)

For i = 1 To UBound(parameterliste)

    Set length1 = parameters1.Item(parameterliste(i).Name)
   
    selection1.Clear
    selection1.Add length1
    CATIA.StartCommand ("löschen")
   
    Set formula1 = relations1.CreateFormula("", "", length1, parameters1.GetNameToUseInRelation(quellparameter))

Next

End Sub


Anwendung:

- vor Ausführung die zu ändernden Parameter selektieren
- Makro starten und den Quellparameter wählen

Hinweise:

- läuft momentan nur, wenn das aktive Dokument ein CATPart ist!

------------------
Seid nicht dumm, lest drin rum!

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