花在人间 发表于 2014-5-7 09:43:16

教程里代码问题

NXOpen::CartesianCoordinateSystem *coord=dynamic_cast<NXOpen::CarteaianCoordinateSystem*>(coordObjects[0])
程序里编译通过,但调试显示运行到上行代码时错误,直接捕捉错误,为啥呀?

PLM之家NX 发表于 2014-5-7 19:37:55

怎么调试的 啥错误看看

花在人间 发表于 2014-5-7 23:39:41

PLM之家NX 发表于 2014-5-7 19:37
怎么调试的 啥错误看看


运行出现以上错误信息,这是catch里面执行的吧
主要代码如下:
PropertyList *pt=coord_system0->GetProperties();
        std::vector<TaggedObject*>getCsys=pt->GetTaggedObjectVector("SelectedObjects");
        NXOpen::CartesianCoordinateSystem *coords;
        uc1601("ye1s",1);
        coords=dynamic_cast<CartesianCoordinateSystem *>(getCsys);

        NXMatrix *nXMatrix1;
        nXMatrix1=coords->Orientation();
        partImporter1->SetDestinationCoordinateSystem(nXMatrix1);

        PropertyList *pt1=point0->GetProperties();
    Point3d destinationPoint1=pt1->GetPoint("Point");
    partImporter1->SetDestinationPoint(destinationPoint1);

    Session::UndoMarkId markId2;
    markId2 = theSession->SetUndoMark(Session::MarkVisibilityInvisible, "Import Part Commit");

    NXObject *nXObject1;
    nXObject1 = partImporter1->Commit();

    theSession->DeleteUndoMark(markId2, NULL);

    partImporter1->Destroy();

    }
    catch(exception& ex)
    {
      //---- Enter your exception handling code here -----
      errorCode = 1;
      import::theUI->NXMessageBox()->Show("Block Styler", NXOpen::NXMessageBox::DialogTypeError, ex.what());
    }
    return errorCode;



花在人间 发表于 2014-5-7 23:40:44

上面表情是论坛问题~sorry

admin 发表于 2014-5-9 10:31:53

花在人间 发表于 2014-5-7 15:40
上面表情是论坛问题~sorry

视频上市这么写的么?

这种错误 多半是你UI 赋值造成的

你定义了 *pt
就得delete pt

自己再看看吧

花在人间 发表于 2014-5-9 15:03:21

admin 发表于 2014-5-9 10:31
视频上市这么写的么?

这种错误 多半是你UI 赋值造成的


try

    {

      //---- Enter your callback code here -----



                     NXOpen::ListingWindow*lw = theSession->ListingWindow();

                         stringstream ss;

                        NXOpen::Vector3d xdir,ydir;

                        NXOpen::Point3d originPoint;

                        lw->Open();

                        ss << ("创建的坐标系统信息如下:\n");

            std::vector<NXOpen::TaggedObject *> coordObjects = this->coord_system0->GetProperties()->GetTaggedObjectVector("SelectedObjects");

                        NXOpen::CartesianCoordinateSystem *coord = dynamic_cast<NXOpen::CartesianCoordinateSystem *>(coordObjects);

               coord->GetDirections(&xdir,&ydir);

                        ss<<"返回的坐标系X方向矢量是:"<<xdir.X<<"\t"<<xdir.Y<<"\t"<<xdir.Z<<endl;

                        ss<<"返回的坐标系Y方向矢量是:"<<ydir.X<<"\t"<<ydir.Y<<"\t"<<ydir.Z<<endl;

                        originPoint = coord->Origin();

                        ss<<"返回的坐标系中心是:"<<originPoint.X<<"\t"<<originPoint.Y<<"\t"<<originPoint.Z<<endl;

                        lw->WriteLine(ss.str());

}
我自己写的问题么?上面这段是视频教程那页上贴的代码,我还是到那个转换那行运行不了...

admin 发表于 2014-5-9 16:13:14

花在人间 发表于 2014-5-9 07:03
try

    {


贴的不见的对了不是最新的 那个PPT

花在人间 发表于 2014-5-13 11:01:30

admin 发表于 2014-5-9 16:13
贴的不见的对了不是最新的 那个PPT

版主大人,我这几天试了下,我发现在9.0中行得通,在7.0中不行,请问7.0应该如何完成任务?
页: [1]
查看完整版本: 教程里代码问题