cluser.c
来自「proe5.0野火版下载(中文版免费下载)」· C语言 代码 · 共 122 行
C
122 行
#include <stdlib.h>#include <math.h>#include "CustomDLL.h"#include "ProToolkitDll.h"#include "ProArray.h"#include "ProUtil.h"/****************************************************************************** Title: CLuser.c Notice: (c) Copyright 2001-2006 Parametric Technology Corporation Purpose: An example of user-supplied file for MDX custom loads support. History:Date Build Who Vers Comment========= ======= ===== ==== ================================================05-Apr-06 L-01-06 rnaik $$1 Replaced malloc/free by wrapper functions10-Dec-06 L-01-24 zar $$2 Rolled back previous. Added MyCos custom load.******************************************************************************/#define STATE_VEC_SIZE 3int CLUSEREvalCustomLoad( char* CustomLoadName, char* ForceName, double CurrentTime, double* value){ double *StateVar, measval; int status; if (!strcmp(ForceName, "CLForce")) { *value = 10000000.0; return 0; } if (!strcmp(CustomLoadName, "MyCos")) { *value = cos (CurrentTime * 2.0); return 0; }/*// Our custom load is not specific to any particular force it was used with, // so we ignore ForceName */ if (CLevalMeasure("test123", &measval)) return 1; *value = 0.3 * measval; StateVar = (double*)malloc(STATE_VEC_SIZE*sizeof(double)); status = CLevalStateVariables(CustomLoadName, ForceName, STATE_VEC_SIZE, StateVar); free(StateVar); if (status) return 1; return 0;}/* CLUSERGetStateVariablesSize should return a size of 0 or a non zero status if State Variables are not going to be used.*/int CLUSERGetStateVariablesSize(char* CustomLoadName,char* forceName, int* size){ if (strcmp(CustomLoadName, "CustomLoad1")) return 1; *size = STATE_VEC_SIZE; return 0;}int CLUSERInitStateVariables(char* CustomLoadName, char* forceName, double* StateVar){ int i; if (strcmp(CustomLoadName, "CustomLoad1")) return 1; for(i=0; i<STATE_VEC_SIZE;i++) StateVar[i] = 0.0; return 0;}int CLUSERGetStateVariableDerivatives( char* CustomLoadName, char* forceName, double CurrentTime, double* StateVar){ int i; if (strcmp(CustomLoadName, "CustomLoad1")) return 1; for(i=0; i<STATE_VEC_SIZE;i++) StateVar[i] = 0.0; return 0;}extern int CLUSERDefineInit(char* CustomLoadName, char* ForceName){ if (!strcmp(ForceName, "BadLoad")) return 1; else return 0;}extern int CLUSERRunInit(char* CustomLoadName, char* ForceName){ if (!strcmp(ForceName, "BadRun")) return 1; else return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?