码迷,mamicode.com
首页 > 其他好文 > 详细

【NX二次开发】掌握拉伸的偏置方向

时间:2021-01-25 10:41:13      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ros   segment   char   ini   imm   loading   poi   color   style   

 结论:偏置的方向为曲线方向与拉伸方向的向量叉乘。


在UF_MODL_create_extrusion帮助中有这么一句话:Note that the offset direction is determined by the cross product of the direction vector of the first profile segment and the extrusion direction vector.偏移方向由“第一剖面段的方向向量”和“拉伸方向向量”的叉积决定。

猜想一下:

技术图片

 向量叉乘的右手定则:

 技术图片

 

 

验证1:

技术图片 技术图片

 

 验证2:

 技术图片 技术图片

 

 验证3:

 技术图片 技术图片

 

  

 

 测试源码:

//拉伸生成片体 UF_MODL_ask_extrusion
extern DllExport void ufusr(char *param, int *returnCode, int rlen)
{
    UF_initialize();
    uc1601("拉伸", 1);
    //tag_t tagLine = 45256;
    tag_t tagLine = 45950;

    double douAngle = 0.0;
    char cTaperAngle[256] = "";
    sprintf(cTaperAngle, "%f", douAngle);

    double douLimit0 = 0.0;
    double douLimit1 = 10.0;
    char Limit0[256] = "";
    sprintf(Limit0, "%f", douLimit0);
    char Limit1[256] = "";
    sprintf(Limit1, "%f", douLimit1);

    tag_t objects[1] = { tagLine };
    int object_count = 1;
    char *taper_angle = cTaperAngle;
    char *Limit[2] = { Limit0,Limit1 };
    char * offsets[2] = { "20","0" }; 
    double Point2[3] = { 0.0, 0.0, 0.0 };
    double douDir[3] = { 0.0, 0.0, 1.0 };//拉伸方向
    UF_FEATURE_SIGN Sign1 = UF_NULLSIGN;
    tag_t *outObjects = NULL;
    int iFeaturesCount = 0;
    UF_MODL_create_extrusion(objects, object_count, NULL, taper_angle, Limit, offsets, Point2, false, false, douDir, Sign1, &outObjects, &iFeaturesCount);

    UF_terminate();
}

extern int ufusr_ask_unload(void)
{
    return (UF_UNLOAD_IMMEDIATELY);
}

 

【NX二次开发】掌握拉伸的偏置方向

标签:ros   segment   char   ini   imm   loading   poi   color   style   

原文地址:https://www.cnblogs.com/KMould/p/14312795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!