【NX二次开发】镜像对象
2024-10-19 11:08:54
使用uf5946获取镜像矩阵
注意:uf5946镜像这个函数,只能用#define UF_plane_type=46这种类型的数据作为镜像面,不能用#define UF_datum_plane_type=197这种类型的数据作为镜像面。
镜像对象:
extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
uc1601("镜像体",1);
UF_initialize();
tag_t tagBody0 = 44973;
tag_t tagBody1 = 44764;
tag_t tagBody2 = 45086;
tag_t tagBody3 = 44749; double dP1[3] = { 0.0,0.0,0.0 };
double dDir[3] = { 0.0,1.0,0.0 };
tag_t tagPlane;
UF_MODL_create_plane(dP1, dDir, &tagPlane); //获取转换矩阵
double douMatris[12];
int iSt = 0;
tag_t tagPlanes[] = { tagPlane };
uf5946(tagPlanes, douMatris, &iSt); tag_t tagObjs[] = { tagBody0,tagBody1,tagBody2,tagBody3 };
int iCount = 4;
int iMoveOrCopy = 2;//1:Move 2:Copy
int iDestLayer = 0; //0:原来的图层 //-1活动的图层 //1-256指定的图层
int iTraceCurves = 1;//轨迹状态,1:开,2:关。
tag_t tagCopies = NULL_TAG; //变化后坐标tag 复制的对象标识符的列表。当move_or_copy等于1 (move)时不使用。
//当move_or_copy为2(copy)时,调用者必须将其赋予足够大的维度,以包含对象数组中相同数量的对象。
tag_t tagTraceCurveGroup = NULL_TAG; //一组轨迹曲线。当trace_curves输入被设置为2(off)时,不会使用这个函数。
int iStatus = 0;//0:成功 1-12错误
if (iSt == 0)
{
//转换的实现
uf5947(douMatris, tagObjs, &iCount, &iMoveOrCopy, &iDestLayer, &iTraceCurves, &tagCopies, &tagTraceCurveGroup, &iStatus);
}
UF_terminate();
} extern int ufusr_ask_unload(void)
{
return (UF_UNLOAD_IMMEDIATELY);
}
效果:
最新文章
- 私有无线传感网 PWSN HLINK
- WCF学习系列四--【WCF Interview Questions – Part 4 翻译系列】
- Activity初接触
- phpstorm使用手册
- mac 10.9 安装 gevent
- 超链接的#和javascript:void(0)的区别
- JSP基本面试的试题
- Nginx和PHP-FPM的启动/重启脚本 [转发]
- Netsharp快速入门(之11) 销售管理(开发销售订单工作区)
- 如何避免MVC Model First 设计时添加的DataAnnotation被覆盖掉
- linux驱动系列之tftp(转)
- HDU_1238——最大子串搜索
- python学习(一)
- 【值得收藏】数据分析和可视化软件IDL的学习资料汇编【可免费下载】
- xcode磁盘大清理
- Softmax多分类算法
- bzoj 5290: [Hnoi2018]道路
- 微信公众号页面的web页面键盘弹起问题
- android studio学习(一)
- 谁记录了mysql error log中的超长信息