SWITCHPART
Una de varias piezas importadas, elegida mediante un valor igual que SWITCH elige una: el valor se busca en una tabla de piezas, un diccionario (por clave) o una lista (por posición), y la pieza mostrada cambia cuando cambia el valor (normalmente una variable). Úselo en un dibujo que lleva uno de varios insertos, pestañas o logotipos según un ajuste.
Sintaxis
SWITCHPART value,{key:part,key:part,…}
SWITCHPART value,{part,part,…}
SWITCHPART @id,value,{key:part,…},otherwise,layer
| Argumento | Significado |
|---|---|
| value | Lo que elige la pieza: una variable (STYLE) o cualquier expresión (W>200, IF(…)). |
| {key:part,…} | Un diccionario de piezas: cada una se muestra cuando value es su clave (un número, un texto entre comillas, TRUE o FALSE, o una expresión). |
| {part,…} | Una lista de piezas: value indica cuál, empezando por 0. |
| part | Un PART (una pieza de la biblioteca o una página, por su nombre), un VECTORIMAGE (otro formato) o un RASTERIMAGE (una imagen), escrito completo. Normalmente todos están sobre los mismos puntos, de modo que la que se muestra queda donde estarían las demás. |
| otherwise | Una pieza que se muestra cuando value no es una clave del diccionario ni una posición de la lista (opcional). |
Las claves se comparan como lo hacen SWITCH y los diccionarios: los números por su valor (2 es 4/2), el texto exactamente (un número
nunca es igual a un texto). Las posiciones de una lista son números enteros desde 0; cualquier otro valor (1.5, -1, texto) no lo es. Una tabla es
de un tipo o del otro: todas las piezas con clave, o ninguna. Si value no elige ninguna pieza y no hay otherwise, no se dibuja nada
salvo un marco punteado donde estaría la primera pieza.
El id, la capa y la configuración que les sigue son la configuración de elementos. Las piezas se dibujan en la capa de la pieza conmutable (conservando las capas propias de sus dibujos cuando este dibujo tiene una capa con el mismo nombre).
Ejemplos
PARTDEF "One","LINE @1,P0,P1"
PARTDEF "Two","LINE @1,P0,P1\nLINE @2,P1,P2"
STYLE=1
P4=[600,0]
P5=[600,100]
SWITCHPART @9,STYLE,{1:PART @1,P4,P5,"One",0,2:PART @2,P4,P5,"Two",0},0
STYLE=2

Con STYLE igual a 1 se dibuja la primera pieza (una línea); si se cambia a 2, se dibuja en su lugar la segunda (dos líneas).
PARTDEF "One","LINE @1,P0,P1"
PARTDEF "Two","LINE @1,P0,P1\nLINE @2,P1,P2"
PARTDEF "Diagonal","LINE @1,P0,P2"
STYLE=0
P4=[600,0]
P5=[600,100]
SWITCHPART @9,STYLE,{PART @1,P4,P5,"One",0,PART @2,P4,P5,"Two",0},PART @3,P4,P5,"Diagonal",0,0
STYLE=5
Una lista: STYLE 0 muestra la primera pieza, 1 la segunda, y cualquier otro valor (aquí 5) la pieza otherwise, una diagonal.
Notas
- Solo la pieza mostrada se dibuja, se selecciona, se mide y se exporta, igual que lo haría por sí sola: la pieza de un archivo de dibujo como subrutina o bloque cuando el formato los tiene, una imagen como imagen. Las demás se conservan en el dibujo, listas para cuando cambie el valor.
- Cada pieza conserva su propio ámbito: las variables de un archivo de dibujo con el mismo nombre que las de este dibujo toman los valores de este dibujo.
- Las piezas conmutables suelen colocarse con la Herramienta Importar pieza, la
Herramienta Importar vectores o la Herramienta Imagen rasterizada, con
Conmutar entre archivos marcado: cada línea
value: filepasa a ser una entrada del diccionario, y la líneaDEFAULT:la pieza otherwise.
Véase también: SWITCH, PART, VECTORIMAGE, RASTERIMAGE.