ZW3D二次开发_用户交互_选择对象

1.在ZW3D用户交互中,可以直接使用接口选择对象(可以通过修改evxEntInpOpt枚举选择不同类型的实体),主要方式有以下几种:
1)选择单个对象 
    int entity_id = 0;
	ZF_CALL(cvxGetEnt("选择单个实体", evxEntInpOpt::VX_INP_SHAPE, false/*是否可以为空*/, &entity_id));//选择单个实体
	WriteMessage("选择的实体 = [%d]", entity_id);
2)选择多个对象
    int nEntIds = 0;//选择的实体数量
	int* pEntIds = NULL; // 选择的实体
	ZF_CALL(cvxGetEnts("请选择多个实体,按鼠标中键结束选择", evxEntInpOpt::VX_INP_SHAPE, false/*是否可以为空*/, &nEntIds, &pEntIds));
	WriteMessage("选择实体的数量 = [%d]", nEntIds);
	ZF_VOID(cvxMemFree((void**)&pEntIds));//释放内存
3)选择单个对象 _返回实体路径
    svxEntPath path = {};
	ZF_CALL(cvxGetEntPath("请输入单个造型", evxEntInpOpt::VX_INP_SHAPE, false/*是否可以为空*/, &path));
4)选择多个对象_返回实体路径
    int nPaths = 0;
	svxEntPath *pPaths = NULL;
	ZF_CALL(cvxGetEntPaths("请输入多个造型,按鼠标中键结束选择", evxEntInpOpt::VX_INP_SHAPE, false/*是否可以为空*/, &nPaths, &pPaths));
	ZF_VOID(cvxMemFree((void**)&pPaths));
5)选择多种对象类型
    evxEntInpOpt optionFilter[2] = { evxEntInpOpt::VX_INP_SHAPE, evxEntInpOpt::VX_INP_FACE };// 过滤器
	int nEntIds = 0;//选择的实体数量
	int* pEntIds = NULL; // 选择的实体
	ZF_CALL(cvxGetEntsMultiFilter("请选择造型或面,按鼠标中键结束选择", optionFilter, 2/*过滤器数量*/, false/*是否可以为空*/, &nEntIds, &pEntIds));
	WriteMessage("选择实体的数量 = [%d]", nEntIds);
	ZF_VOID(cvxMemFree((void**)&pEntIds));//释放内存
6)选择多种对象类型_返回实体路径
    evxEntInpOpt optionFilter[2] = { evxEntInpOpt::VX_INP_COMP, evxEntInpOpt::VX_INP_SUB_COMP };// 过滤器
	int nPaths = 0;//选择的实体路径数量
	svxEntPath *pPaths = NULL;//选择的实体路径
	ZF_CALL(cvxGetEntPathsMultiFilter("请选择组件或造型,按鼠标中键结束选择", optionFilter, 2/*过滤器数量*/, false/*是否可以为空*/, &nPaths, &pPaths));
	WriteMessage("选择实体的数量 = [%d]", nPaths);

	ZF_VOID(cvxMemFree((void**)&pPaths));//释放内存
2.截图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值