Foros CATIA

Solapas principales

1 envío / 0 nuevos
Inicie sesión o regístrese para comentar
diegocatia
Desconectado/a
Visto por última vez: Hace 6 años 5 meses
se unió: 02/19/2015 - 10:49
Cambiar un parametro dentro de un set de parametros mediante una macro

Desconectado/a

Visto por última vez: Hace 4 años 3 meses

se unió: 11/04/2014 - 08:28

Posts:

Vaya por delante que no he comprobado esto, ni he trabajado con parametros, pero por lo que veo que te ha ido grabando, deduzco:

Tienes una coleccion de parametros en parameters1 (Set parameters1 = part1.Parameters)

 

Puedes barrer esa coleccion de parametros hasta que encuentres el que quieres, a traves de su nombre. Por ejemplo, si el paramero que buscas es VCentro:

 

For x= 1 to parameters1.count

          set parametro=parameters.Item(x)  (Esto asigna a parametro un objeto de la coleccion de parametros)

          If parametro.Name="VCentro" then (Esta sentencia dentro del IF solo se ejecuta cuando el nombre del parametro se corresponda con el que buscas)

                parametro.value = 12 (Estableces el valor del parametro. No estoy seguro de que la propiedad sea value. Puede ser ValueAsString. Prueba)

                exit sub (Ya hemos hecho lo que queriamos, salimos de la rutina

          end if

next x

(Si llegamos aqui, es que no hemos encontrado el parametro)

msgbox "Lo siento, no he encontrado el parametro buscado.", vbokonly, "VAYA POR DIOS..."

end sub

 

Repito, no garantizo que funcione, pero investiga en esta linea.

 

 

 



Desconectado/a

Visto por última vez: Hace 6 años 5 meses

se unió: 02/19/2015 - 10:49

Posts:

Muchas gracias Ritxi_00

No he conseguido hacerlo con tu codigo pero he conseguido hacerlo usando este:

 

Language="VBSCRIPT"

 

Sub CATMain()

 

Set partDocument1 = CATIA.ActiveDocument

 

Set part1 = partDocument1.Part

 

Set parameters1 = part1.Parameters

 

Set parameterSet1 = parameters1.RootParameterSet

 

Set parameterSets1 = parameterSet1.ParameterSets

 

Set parameterSet2 = parameterSets1.GetItem("Base")

 

Set parameter=parameterSet2.AllParameters

 

Set parametrocambio=parameter.GetItem("b")

 

Set lenght1=parametrocambio

 

lenght1.Value=35.000

 

part1.Update 

 

End Sub