点击查看详细介绍

使用 NXOpen 创建螺旋线的函数代码封装 精华帖

nxopen 6年前 2858 10

购买与咨询 NX 二次开发视频教程,请联系微信号:13890821008  QQ号:85585969  


使用NXOpen创建螺旋线的函数代码

20190621181714.jpg


以下对NXOpen录制的代码进行封装了函数,只需要提供4个参数就可以创建。

4个参数分别为:

string strVal[5] 5个字符串数组分别为:角度、直径、螺距、起始、终止

double origin[3] 螺旋线的原点位置

double xd[3] 螺旋线的X方向

double yd[3] 螺旋线的Y方向


使用方法:

string strVal[5]={"0","8.5","56","0","285"};
double origin[3] = { 0.0, 0.0, 0.0 };
double xd[3] = { 1.0, 1.0, 0.0 };

double yd[3] = { 0.0, 1.0, 0.0 };

tag_t helicalTag = CreateHelical(strVal, origin, xd, yd);


返回的 helicalTag 就是最后创建好的螺旋线的TAG。


函数代码:

tag_t MyClass::CreateHelical(string strVal[5], double origin[3], double xDirection[3], double yDirection[3])
{
    Session *theSession = Session::GetSession();
    Part *workPart(theSession->Parts()->Work());
    Part *displayPart(theSession->Parts()->Display());

    Features::Helix *nullFeatures_Helix(NULL);

    Features::HelixBuilder *helixBuilder1;
    helixBuilder1 = workPart->Features()->CreateHelixBuilder(nullFeatures_Helix);

    helixBuilder1->SetOrientationOption(Features::HelixBuilder::OrientationOptionsSpecified);

    helixBuilder1->StartAngle()->SetRightHandSide(strVal[0].c_str()); //角度
    helixBuilder1->SizeLaw()->Value()->SetRightHandSide(strVal[1].c_str()); //直径
    helixBuilder1->PitchLaw()->Value()->SetRightHandSide(strVal[2].c_str());//螺距
    helixBuilder1->StartLimit()->Expression()->SetRightHandSide(strVal[3].c_str());//起始
    helixBuilder1->EndLimit()->Expression()->SetRightHandSide(strVal[4].c_str());//终止

●●●请先 登陆注册 后查看●●●

    helixBuilder1->SetCoordinateSystem(cartesianCoordinateSystem1);

    NXObject *nXObject1;
    nXObject1 = helixBuilder1->Commit();
    helixBuilder1->Destroy();

    return nXObject1->Tag();
}




2

最新回复 (10)
  • 常山赵子龙 6年前
    1

    楼主,我想看全代码,所以我先回复一下

  • 常山赵子龙 6年前
    2

    可是你这非要VIP才行啊,代码没看全,可是我感觉这个螺旋的参数可以改为double数据的输入,

  • enricyx VIP会员 6年前
    3

    感谢分享。。。。。。。。。。。

  • zk1825467 6年前
    4

    楼主,我想看全代码,所以我先回复一下

  • hua2001 5年前
    5

    楼主,我想看全代码,所以我先回复

  • wertnv 5年前
    6

    楼主,我想看全代码,所以我先回复

  • enricyx VIP会员 5年前
    7

    给力给力,以后可以自己编个程序画了。。。。。。。

  • xpz84 4年前
    8

    正好可以借鉴。。。。。。。。。

  • Springlet 4年前
    9

    感谢分享。。。。。。。。。。。

  • jkdzht 3年前
    10

    楼主,我想看全代码,所以我先回复

请登录后发表新帖