Ejemplo: Programa del usuario
El programa calcula el espesor de un recipiente a presión a partir de su diámetro y de los parámetros de material, tales como la presión de trabajo y la tensión permitida. El programa deriva el diámetro del modelo. El usuario especifica los parámetros de material en la ventana de inicialización cuando el sistema lo solicita. El espesor calculado se transfiere de nuevo a Creo Parametric.
[El programa empieza en la siguiente línea]
/* Template for writing user programs in the Creo Parametric environment */
/* the following definition and include file are necessary */
#define USRMAIN
#include "spgusrgl.h"

/* This include file establishes useful variables for user needs. Those are:
1. D[i] refers to dimensions you see on the screen. ‘i’ is the index of a
dimension you see on the screen.
So, D[0] has a value corresponding to "d0" on the screen (or "sd0" if you are
in SKETCHER mode). D[4] corresponds to "d4" (or "sd4") on the screen, and so forth.
2. DIM_NUM Total number of dimensions on the screen.
*/
usrmain()
/* This program computes the thickness for a pressure vessel given the diameter from the model and various material and design constants input by the user. */
{
/* ---------------------- local variables ----------------------- */
/* Declare any additional variables or functions you need here. */
double sqrt ();
double thickness, f_s, joint_eff, allow_stress, press, dia;
/* ---------------------- executable code ----------------------- */
/* Prompt user for input. Prompts appear in the startup window. You must also
enter your responses there. */
printf("Enter material parameters\n");
printf("\n Working Pressure [psia]:\n");
scanf("%lf", &press);
printf("\n Factor of Safety [ ]:\n");
scanf("%lf", &f_s);
printf("\n Joint efficiency [ ]:\n");
scanf("%lf", &joint_eff);
printf("\n Allowable stress [psia]:\n");
scanf("%lf", &allow_stress);
/* Compute thickness of pressure vessel based on equations in Mechanical Analysis
and Design, A.H. Burr, Elsevier, 1982.
Note use of dimension D[2], the pressure vessel diameter, in computing the new
thickness */
thickness = press * D[2] * f_s / (2 * joint_eff * allow_stress);
/* Pass new thickness back to Creo Parametric */
D[3] = thickness;
}
[Program ends with previous line]
¿Fue esto útil?