ZW3D二次开发_配置表操作

1.什么是配置表?

中望3D中配置表可以表示所有方程式拥有特定的值的状态,方程式除了可以使用方程式管理器修改还可以通过配置表修改。配置表中的一种配置可以同时设置全部的方程式,配置表中可包含多个配置,可以达到切换配置即修改方程式的效果。

2.配置表在ZW3D中的位置

工具-》配置表

3.ZW3D中配置表的代码操作
    //添加配置
	int idConfiguration = 0;
	char configurationName[] = "配置_New";//配置名称
	char configurationDescription[] = "配置_New的描述";//配置描述
	ZF_CALL(cvxPartCfgTblAdd(configurationName, configurationDescription, &idConfiguration));
	WriteMessage("已添加配置: 配置名称[%s]  配置描述[%s]", configurationName, configurationDescription);

	//删除配置
	暂无

	//获取当前激活的配置
	int idActiveConfiguration = 0;
	ZF_CALL(cvxPartInqActiveCfg(&idActiveConfiguration));
	char nameActiveConfiguration[128];
	ZF_CALL(cvxEntName(idActiveConfiguration, nameActiveConfiguration, sizeof(nameActiveConfiguration)));
	WriteMessage("当前激活的配置为【%s】", nameActiveConfiguration);

	//激活配置
	ZF_CALL(cvxPartCfgActivate(idConfiguration));
	WriteMessage("激活配置【%s】", configurationName);

	//为所有配置添加标准属性_颜色
	/*svxColor color = {0,0,255};
	ZF_CALL(cvxPartCfgTblColorSet(-1, idActiveConfiguration, color));
	ZF_CALL(cvxPartCfgTblColorSet(0, idActiveConfiguration, color));*/

	//获取配置信息
	svxPartCfgInfo* partCfgInfo = NULL;
	ZF_CALL(cvxPartInqCfgTblInfos(idConfiguration, &partCfgInfo));
	//cvxPartInqCfgTblInfosByName
	WriteMessage("配置【%d】的名称 = %s", idConfiguration, partCfgInfo->ConfigName);
	WriteMessage("配置【%d】的序号 = %d", idConfiguration, partCfgInfo->ConfigId);
	WriteMessage("配置【%d】中表达式的数量 = %d", idConfiguration, partCfgInfo->CntVar);	
	
	//设置配置信息
	ZF_CALL(cvxCfgTblInfosSet(idConfiguration, partCfgInfo));
	ZF_VOID(cvxPartFreeCfgTbl(&partCfgInfo));//释放内存

	//设置配置中的属性
	const int attrNumber = 2;
	evxAtItemId items[attrNumber] = { evxAtItemId::VX_AT_DESCRIPT,evxAtItemId::VX_AT_DESIGNER};//要修改的标准属性
	svxAttribute attrs[attrNumber] = {};
	strcpy_s(attrs[0].data,"描述");//属性值
	strcpy_s(attrs[1].data,"设计者");//属性值
	ZF_CALL(cvxPartCfgTblAttrSet(0, idConfiguration, attrNumber, items, attrs));
	
	//设置配置中的变量
	svxVariable var = { 0 };
	strcpy_s(var.Name, "L");//变量名
	ZF_CALL(cvxPartVarGet(&var));//获取变量信息
	strcpy_s(var.Expression, "19");//修改值
	ZF_CALL(cvxPartCfgTblVarsSet(0/*标记-修改*/, idConfiguration, 1, &var));//设置配置中的变量
	WriteMessage("设置配置表中的变量");
	WriteMessage("--Name = %s", var.Name);
	WriteMessage("--Expression = %s", var.Expression);
	
	//获取所有配置
	int configNumber = 0;
	int* pConfigIds = NULL;
	ZF_CALL(cvxPartInqCfgList(&configNumber, &pConfigIds));
	WriteMessage("当前零件共有【%d】个配置", configNumber);
	//cvxPartInqCfgListByName
	ZF_VOID(cvxMemFree((void**)&pConfigIds));

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值