Creación de programas de plano
Los comandos Herramientas (Tools) > Programa de diseño de planos (Drawing Program) permiten crear un programa de diseño de planos para definir el modo en que un plano se adaptará a un cambio en el estado de su modelo. Los cambios pueden tener lugar cuando se vuelve a ejecutar el modelo con nuevas entradas de Pro/PROGRAM, o bien cuando se reemplaza con otra instancia de una familia de modelos. Por lo general se puede distinguir una secuencia (o estado) de otra mediante los valores de algunos de los parámetros del modelo.
Los programas de plano están pensados para su utilización en la adaptación de un plano a un programa de pieza o conjunto. Contienen sentencias lógicas que controlan el esquema del plano y llevan a cabo varias operaciones de detalle. Por ejemplo, un plano de pieza puede incluir una vista detallada de una función en concreto, como una bocallave. Si suprime esta función, el sistema debería eliminar dicha vista detallada y mover el resto para ocupar el espacio vacío. Si define un estado como no_detail_view que oculte la vista detallada y organice (mueva) de forma adecuada las otras vistas, el programa consultará el sistema para determinar si se ha suprimido la bocallave. Si es así, el plano visualiza el estado no_detail_view. En caso contrario, muestra las vistas detalladas del modelo.
Los programas de plano tienen dos partes: estados y texto de programa. Un estado es una secuencia nominal de procedimientos habituales, como la presentación de cotas o el desplazamiento de vistas, que se llevan a cabo en los planos para definir su aspecto. Es un registro de modificaciones que pueden aplicarse al plano. Para crear un estado, se escribe su nombre y se registran los comandos de detalle. Después se pueden ejecutar dichos comandos para determinar lo que hace en realidad el estado del plano; si es necesario, pueden editarse. A medida que se crea un plano se pueden crear estados adicionales y borrar otros.
Es posible colocar cotas, roturas y recortes de cota sobre líneas de ajuste durante la creación de un estado de un programa de dibujo.
Una vez definidos los estados de plano se puede crear un programa de plano, como el que se muestra en la figura anterior. El programa de plano es un fichero de texto, incorporado al plano, con líneas de texto que definen determinados estados del mismo, según los valores de las expresiones condicionales utilizadas. Se pueden utilizar sentencias IF, parámetros de plano y sentencias de asignación para definir estados definidos con anterioridad. El programa busca en primer lugar un parámetro de plano en el plano; si no halla ninguno, busca un parámetro de modelo en el modelo por defecto. Si el programa de diseño de planos reconoce el parámetro de plano, lo designa con el sufijo ":d" (es decir, drawing_attribute:d). Si se trata de un parámetro de modelo, lo designa con el número de modelo.
Los comandos para ejecutar estados de plano tienen el siguiente formato: SET STATE nombre_de_estado.
Pueden anidarse sentencias IF en la forma siguiente:
IF <expresión>
ELSE IF <expresión>
ELSE
ENDIF
Una expresión es una expresión lógica que puede utilizarse en una relación de pieza. Puede contener atributos de plano (como los del menú CONFIGURACIÓN [SETUP]) o la operación de función suprimida (es decir, FEAT_SUPPRESSED [model_name, feat_id] para determinar si se suprime una función; y FEAT_SUPPRESSED (assembly_name, comp_id) para determinar si se suprime un componente. Por ejemplo:
IF FEAT_SUPPRESSED (perno,15)
SET STATE no_detail_view
En este caso, el sistema verifica si la función ID 15 del modelo llamado "perno" está suprimida. Si es así, establece el estado en no_detail_view; de lo contrario, no hace nada.
Las sentencias de asignación tienen la siguiente forma:
nombre_var = expresión, donde nombre_var es un nombre de variable.
Las líneas de comentario tienen la siguiente forma:
/* Ésta es una línea de comentario.
* 
Las palabras IF, ELSE, ENDIF, SET, STATE y FEAT_SUPPRESSED son de uso reservado. No pueden utilizarse como nombres de variable en programas de plano. Además, si se utiliza el signo igual (=) en una sentencia IF, se debe utilizar "==". Si se utiliza una sentencia para definir un valor de parámetro, utilice "=".