Parameter und
Relations
Erzeugen von Parameter:
Wenn man das Konstruieren mit
Catia als Programmieren sehen würde, so können Parameter als
Variable betrachtet werden und das Erzeugen eines Parameters
stände dem Deklarieren der Variable gleich. Beim Erzeugen muss
also auch der Typ festgelegt werden.
|
Sub
CATMain()
set oParameters = CATIA.ActiveDocument.Part.Parameters
set NeuerParamText = oParameters.CreateString("TextParameter",
"Zeichenkette")
' Parameter vom Typ String
set NeuerParamZahl =
oParameters.CreateReal("ZahlParameter",
0.0)
' Parameter vom Typ Zahl
set NeuerParamBool =
oParameters.CreateBoolean("BoolParameter",
true)
' Parameter vom Typ Boolean
End Sub |
Weitere Parameter
Typen:
Mit der Methode .CreateDimension
können Zahlen-Parameter mit technischen Einheiten erzeugt
werden.
|
Sub
CATMain()
set oParameters = CATIA.ActiveDocument.Part.Parameters
set NeuerParameter1 =
oParameters.CreateDimension("Parameter",
"LENGTH",
0.0) ' vom
Typ Länge
End Sub |
Weitere Typen sind
z.B. "DENSITY",
"MASS",
"AREA"...
Welche Typen möglich sind, kann beim manuellen
Erzeugen eines Parameters in Erfahrung gebracht
werden.
Bei Drawings liegen die Parameter direkt im Objekt
ActiveDocument, also:
set oParameters = CATIA.ActiveDocument.Parameters
Auslesen und Ändern von Parameter:
An den Parameter kommt man z.B.
über .Selection.Search (siehe
hier) oder man spricht ihn über die Klasse direkt an.
Auslesen und Ändern:
|
Sub
CATMain()
set oParameters = CATIA.ActiveDocument.Part.Parameters
' bzw. CATIA.ActiveDocument.Product.Parameters
bei Products
set Parameter = oParameters.Item("TextParameter")
MsgBox Parameter.Value ' Ausgabe
des Parameters "TextParameter"
Parameter.Value = "Neuer
Text" ' Ändern des
Parametertextes in "Neuer Text"
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set oParameters = CATIA.ActiveDocument.Parameters
Löschen von Parametern:
Das Löschen eines Parameters
erfolgt, wie auch bei anderen Objekten über eine Selection.
|
Sub
CATMain()
set Selektion = CATIA.ActiveDocument.Selection
Selektion.Clear
set Bauteil =
CATIA.ActiveDocument.Part
set TextParameter =
Bauteil.Parameters.Item("TextParameter")
Selektion.Add TextParameter
Selektion.Delete
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set Bauteil =
CATIA.ActiveDocument
Sperren
und Verstecken von Parametern
(lock):
Für Parameter zu sperren, gibt es
keinen Makrobefehl, jedoch lässt sich das ganze über
StartCommand erledigen. Hierzu eine kleine Sub:
|
Sub
LockParam(Bauteil,ParameterToLock,Lock)
set Sel = CATIA.ActiveDocument.Selection
Sel.Clear
Sel.Add ParameterToLock
if lock
then
CATIA.StartCommand ("Lock")
' sperren
ParameterToLock.Hidden = true
' verstecken
else
CATIA.StartCommand ("Unlock")
' sperren
ParameterToLock.Hidden = false
' verstecken
end if
Sel.Clear
End Sub |
Aufruf der Sub:
Das Aktive Dokument muss ein Part
sein und den Parameter Real.1 besitzen.
|
Sub
CATMain()
set Bauteil =
CATIA.ActiveDocument.Part.Parameters
set oParameters =
Bauteil.Parameters
set ParameterToLock =
oParameters.Item("Part1\Real.1")
Lock = false
call LockParam(Bauteil,ParameterToLock,Lock)
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set oParameters = CATIA.ActiveDocument.Parameters
Multi-Value-Parametern:
Erzeugen, setzen und
auslesen von Multivalueparametern:
|
Sub
CATMain()
set
oParameters
= CATIA.ActiveDocument.Part.Parameters
set
oParam
=
oParameters.CreateString ( "MeinParameter",
"")
' Array
deklarieren und befüllen
dim
sValueList (2)
sValueList (0)
=
"Erster Wert"
sValueList (1)
=
"Zweiter Wert"
sValueList (2)
=
"Dritter Wert"
' Array derm
Parameter zuordnen
oParam.SetEnumerateValues
sValueList
' den ersten Wert
auswählen
oParam.Value
=
sValueList (0)
' den aktuell
ausgewählten Wert ausgeben
MsgBox
"Aktuelle gewählter
Wert: "
&oParam. Value
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set oParameters = CATIA.ActiveDocument.Parameters
Parameter Sets:
Erzeugen einer
Untergruppe (Parameter Set)
|
Sub
CATMain()
' Untergruppe erzeugen
set ParamGruppen =
CATIA.ActiveDocument.Part.Parameters.RootParameterSet.ParameterSets
set NeueGruppe =
ParamGruppen.CreateSet("Untergruppe")
' Parameter in neuer Untergruppe
erstellen
set NeuerParameter =
NeueGruppe.AllParameters
set ParamText = NeuerParameter.CreateString("TextParameter",
"Zeichenkette")
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set ParamGruppen =
CATIA.ActiveDocument.Parameters.RootParameterSet.ParameterSets
Auslesen und
Ändern eines Parameters in einem Parameter Set:
|
Sub
CATMain()
set oParameters = CATIA.ActiveDocument.Part.Parameters
set TextParameter = oParameters.Item(Bauteil.Name
&"\Untergruppe\TextParameter")
MsgBox TextParameter.Value '
Ausgabe des Parameters "TextParameter"
TextParameter.Value = "Neuer Text"
' Ändern des Parametertextes in
"Neuer Text"
End Sub |
Bei Drawings liegen die Parameter
direkt im Objekt ActiveDocument, also:
set oParameters = CATIA.ActiveDocument.Parameters
Parameter in Product Properties:
Erzeugen eines Parameters
in den Properties eines Parts/Products
|
Sub
CATMain()
set ProdPropParam =
CATIA.ActiveDocument.Product.UserRefProperties
set PropertiesParameter = ProdPropParam.CreateString("MeinText",
"BlaBla")
End Sub |
Auslesen und
Ändern eines Parameters in einem Parameter Set:
siehe "Auslesen und Ändern von Parameter"
Löschen eines Parameters
in den Properties eines Parts/Products
|
Sub
CATMain()
set ProdPropParam =
CATIA.ActiveDocument.Product.UserRefProperties
ProdPropParam.Remove "TextParameter"
End Sub |
Erzeugen von Relations (Formeln):
Erzeugen einer
Verknüpfung von zwei Parametern über ein Relation:
|
Sub
CATMain()
set oParameters = CATIA.ActiveDocument.Part.Parameters
set PropertiesParameter = oParameters.Item("ZielParameter")
set Relation = CATIA.ActiveDocument.Part.Relations
set Formel = Relation.CreateFormula("Formel",
"", PropertiesParameter,
"QuellParameter")
CATIA.ActiveDocument.Part.Update
End Sub |
|