QQ登录

只需一步,快速开始

快捷登录

登录 或者 注册 请先

UG爱好者

查看: 2163|回复: 4
打印 上一主题 下一主题

[已解决] 由于着急用 还请哪为兄弟 帮忙 改正一下

[复制链接]

列兵

Rank: 1

4

主题

8

帖子

0

积分
跳转到指定楼层
楼主
发表于 2011-5-30 15:59:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "stdafx.h"
/*--------------------------------------------------------------------*\
Pro/TOOLKIT includes
\*--------------------------------------------------------------------*/
#include <ProSolid.h>
#include "ProUtil.h"
#include <ProWindows.h>
#include <ProUIDialog.h>
#include <ProUIPushbutton.h>
#include <ProUIInputpanel.h>
#include <ProArray.h>
#include <ProParameter.h>
#include <ProParamval.h>
#include <ProUILabel.h>
#include <ProToolkit.h>
#include <ProUtil.h>
#include <ProDimension.h>
#include <ProSolid.h>
#include <ProMessage.h>
#include <ProMenu.h>
#include <ProMenuBar.h>
#include <ProMdl.h>
#include <ProModelitem.h>
#include <ProDrawing.h>
#include <ProFeature.h>
#include <ProFeatType.h>
#include <ProDrawing.h>
#include <ProNotify.h>
#include <ProRefInfo.h>
#include <ProRelSet.h>
#include <ProSelection.h>
#include <ProUICmd.h>
#include <ProNotify.h>
#include <ProPopupmenu.h>
#include <ProSelbuffer.h>
#define OK 1
#define CANCEL 0
//ProParameter *p_data; //参数对象指针数组(全局变量)
/*--------------------------------------------------------------------*\
Functions declaration  函数声明
\*--------------------------------------------------------------------*/
void CANCEL_Action(char *, char *, ProAppData);
void Update3_Action(char *, char *, ProAppData);
void ParamUpdate(char *,char *,char *,ProModelitem *);
void Userdefined3_Action(char *, char *, ProAppData);
/*=========================================================*\
FUNCTION: Duangai3Fn()
\*=========================================================*/
int Duangai3Fn()
{
ProError status;
char  *dialog_name = "Duangai3";
int ActiveDialog_status;
/*----------------------------------------------------------------*\
装入对话框资源
\*----------------------------------------------------------------*/
status=ProUIDialogCreate(dialog_name,dialog_name );
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialog CreateCreate error!");
return status;
}
//设置Cancel按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Cancel",
CANCEL_Action, NULL);
//设置Update3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Update3",
Update3_Action, NULL);
//设置Userdefined3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Userdefined3",  
Userdefined3_Action, NULL);
/*----------------------------------------------------------------*\
        显示和激活对话框
\*----------------------------------------------------------------*/
    status=ProUIDialogActivate(dialog_name,&ActiveDialog_status);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogActivate error!");
return status;
}
/*----------------------------------------------------------------*\
从内存清除对话框资源
\*----------------------------------------------------------------*/       
status=ProUIDialogDestroy (dialog_name);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogDestroy error!");
return status;
}
return status;
}
/*=========================================================*\
FUNCTION : ParamUpdate (更新参数值)
\*=========================================================*/
void ParamUpdate(char *dialog,     //(In)对话框名
char *component,             //(In)输入框元件名
char *Name,                 //(In)参数名
ProModelitem *modelitem)     //(In)模型项
{
wchar_t ParamName,*NewValue;
ProParameter param;
ProParamvalue value;
ProCharLine strtmp;
ProStringToWstring(&ParamName,Name);
//根据指定的参数名获得参数对象指针
ProParameterInit(modelitem,&ParamName,&param);
ProUIInputpanelValueGet(dialog,component,&NewValue);
ProWstringToString(strtmp,NewValue);
//获得参数值
ProParameterValueGet(&param, &value);
switch( value.type )
{
case PRO_PARAM_DOUBLE:
value.value.d_val=atof(strtmp);
break;
case PRO_PARAM_INTEGER:
value.value.i_val=atoi(strtmp);
break;
}
//新的参数值设置
ProParameterValueSet(&param, &value);
}
/*=========================================================*\
FUNCTION    Update3_Action ("Update"按钮的动作函数定义)
\*=========================================================*/
void Update3_Action(char *dialog, char *component, ProAppData data)
{
ProMdl   model;
ProModelitem modelitem;
ProMdlCurrentGet(&model);
ProMdlRetrieve(L"./sheji/Release/text/chinese_cn/Duangai3.prt", (ProMdlType)PRO_PART,(ProMdl*)&model);
ProMdlDisplay(model);
ProMdlToModelitem(model, &modelitem);
ParamUpdate(dialog,"D_Value","D",&modelitem);
ParamUpdate(dialog,"DA_Value","DA",&modelitem);
ParamUpdate(dialog,"DB_Value","DB",&modelitem);
ParamUpdate(dialog,"DC_Value","DC",&modelitem);
ParamUpdate(dialog,"SD_Value","SD",&modelitem);
ParamUpdate(dialog,"SB_Value","SB",&modelitem);
ParamUpdate(dialog,"R_Value","R",&modelitem);
ParamUpdate(dialog,"B_Value","B",&modelitem);
//模型再生
ProSolidRegenerate ((ProSolid)model,PRO_B_TRUE);
ProWindowRepaint(PRO_VALUE_UNUSED);
}
/*=========================================================*\
FUNCTION: Userdefined3_Action
\*=========================================================*/
void Userdefined3_Action(char *dialog, char *component, ProAppData data)
{
ProError status;
char  *dialog_name = "Duangai3_1";
int ActiveDialog_status;
/*----------------------------------------------------------------*\
装入对话框资源
\*----------------------------------------------------------------*/       
status=ProUIDialogCreate(dialog_name,dialog_name );
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialog CreateCreate error!");
}
//设置Cancel按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Cancel",  
CANCEL_Action, NULL);
//设置Update3按钮的动作函数       
ProUIPushbuttonActivateActionSet (dialog_name, "Update3",
Update3_Action, NULL);
/*----------------------------------------------------------------*\
显示和激活对话框
\*----------------------------------------------------------------*/
status=ProUIDialogActivate(dialog_name,&ActiveDialog_status);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogActivate error!");
}
/*----------------------------------------------------------------*\
从内存清除对话框资源
\*----------------------------------------------------------------*/
status=ProUIDialogDestroy (dialog_name);
if (status!=PRO_TK_NO_ERROR)
{
AfxMessageBox("UIDialogDestroy error!");
}
}

有奖推广贴子: 

回复

使用道具 举报

三级士官

Rank: 3Rank: 3

80

主题

595

帖子

676

积分
沙发
发表于 2011-5-30 16:49:03 | 只看该作者
看得我头晕了,
回复 支持 反对

使用道具 举报

列兵

Rank: 1

4

主题

8

帖子

0

积分
板凳
 楼主| 发表于 2011-5-30 17:16:45 | 只看该作者
我第一次看到也头晕,还得高手来解决啊
回复 支持 反对

使用道具 举报

三级士官

Rank: 3Rank: 3

52

主题

620

帖子

673

积分
地板
发表于 2011-5-30 18:26:16 | 只看该作者
这是什么呀?轨迹文件
回复 支持 反对

使用道具 举报

列兵

Rank: 1

15

主题

78

帖子

0

积分
5#
发表于 2011-5-31 10:57:59 | 只看该作者
我看出来了,你这是在一本书上贴下来的一个程序段,我应该看过这本书,这是个制作对话框的一段程序,前面没有头,后面没有尾,其实这本书有很多程序段都是分着讲的,你想把他运行起来的话,要和前面的程序段链接起来,这种书往往都是前后对应着看的,既然兄弟你有这本书,就认认真真看一下吧,只要认真看下去,亲自去尝试着编写调试,不出一个月,你自己就把这个问题解决了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

 
 
QQ:1359218528
工作时间:
9:00-17:00
 
微信公众号
手机APP
机械社区
微信小程序

手机版|UG爱好者论坛 ( 京ICP备10217105号-2 )    论坛管理员QQ:1359218528

本站信息均由会员发表,不代表本网站立场,如侵犯了您的权利请联系管理员,邮箱:1359218528@qq.com  

Powered by UG爱好者 X3.2  © 2001-2014 Comsenz Inc. GMT+8, 2024-5-31 10:48

返回顶部