简简单单 发表于 2014-9-20 17:05:18

大家好,怎么获取UG预览图片

大家好,怎么获取UG预览图片

admin 发表于 2014-9-21 08:48:08

什么叫预览图片

如果是预览的话,实际上就是创建了这个对象,只是设置了不同的透明度 的效果,具体的你可以看NXOpen的例子i , 有个 预览拉伸的功能

admin 发表于 2014-9-21 08:58:04

if (preview)
    {
      NXOpen::Features::BodyFeature* bodyfeat =
            dynamic_cast<NXOpen::Features::BodyFeature* >(feature1);
      std::vector<NXOpen::Body* > featureBodies = bodyfeat->GetBodies();

      NXOpen::DisplayModification* displayModification1 =
            ExtrudewithPreview::theSession->DisplayManager()->NewDisplayModification();
      displayModification1->SetApplyToAllFaces(true);
      displayModification1->SetNewTranslucency(80);

      std::vector<NXOpen::DisplayableObject* > objects1(featureBodies.size());
      for (unsigned int ii = 0; ii < featureBodies.size(); ++ii)
      {
            NXOpen::Body* body = featureBodies;
            objects1 = dynamic_cast<NXOpen::DisplayableObject* > (body);
      }

      displayModification1->Apply(objects1);
      workPart->ModelingViews()->WorkView()->SetRenderingStyle(NXOpen::View::RenderingStyleTypeShadedWithEdges);
    }
    else
    {
      NXOpen::Features::BodyFeature* bodyfeat =
            dynamic_cast<NXOpen::Features::BodyFeature* >(feature1);
      std::vector<NXOpen::Body* > featureBodies = bodyfeat->GetBodies();

      NXOpen::DisplayModification* displayModification1 =
            ExtrudewithPreview::theSession->DisplayManager()->NewDisplayModification();
      displayModification1->SetApplyToAllFaces(true);
      displayModification1->SetNewTranslucency(100);

      std::vector<NXOpen::DisplayableObject* > objects1(featureBodies.size());
      for (unsigned int ii = 0; ii < featureBodies.size(); ++ii)
      {
            objects1 = featureBodies;
      }

      displayModification1->Apply(objects1);
      workPart->ModelingViews()->WorkView()->SetRenderingStyle(NXOpen::View::RenderingStyleTypeShaded);
    }

简简单单 发表于 2014-9-21 22:34:37

admin 发表于 2014-9-21 08:48
什么叫预览图片

如果是预览的话,实际上就是创建了这个对象,只是设置了不同的透明度 的效果,具体的你可 ...

不好意思,我们说清楚,我说的是打一个零件时,旁边有个预览图片,

我想用它的图片做标准件库用,不想自己截图做

简简单单 发表于 2014-9-21 22:36:06

类似这样

简简单单 发表于 2014-9-22 22:59:31

admin 发表于 2014-9-21 08:58
if (preview)
    {
      NXOpen::Features::BodyFeature* bodyfeat =


:)

admin 发表于 2014-9-23 13:55:04

简简单单 发表于 2014-9-21 14:36
类似这样

gateway_captureImageBulider 看看这个类

rkc_555 发表于 2017-8-21 20:08:20

本帖最后由 rkc_555 于 2018-12-7 19:00 编辑

basePart类下有一个函数可以获得建模的预览图
void NXOpen::BasePart::GetPreviewImage( int *width,
int *height,
std::vector< int > &pixels
)
也可以看一下这个公众号的文章UG NX二次开发获取模型的预览图片(一)
页: [1]
查看完整版本: 大家好,怎么获取UG预览图片