Creo Options Modeler > Referenzen > Grundlagen > Beziehungen und Parameter > Beziehungen > C-Programme und Beziehungen > Beispiel: Benutzerprogramm
Beispiel: Benutzerprogramm
Das Programm berechnet die Dicke des Druckgefäßes basierend auf dem Durchmesser und den Materialparametern wie dem Arbeitsdruck und der zulässigen Belastung. Das Programm leitet den Durchmesser vom Modell ab. Der Benutzer gibt entsprechend den Eingabeaufforderungen Materialparameter ins Startfenster ein. Die berechnete Dicke wird an Creo Parametric weitergegeben.
[Programm beginnt in der nächsten Zeile]
/* 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.
/* 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]