【问题标题】:How can i show the side in OpenCascade with color?如何在 OpenCascade 中用颜色显示侧面?
【发布时间】:2019-10-18 09:50:53
【问题描述】:

我有一个 .step 文件,我需要从侧面为项目制作图像。现在我的问题是两边都是白色的。

为了让我改变视角,现在我稍微改变一下以显示颜色,但这通常不起作用并且对象仍然是白色的。 我还尝试添加 PositionalLight 和 DirectionalLight,它们充其量只能提供稍微多一点的灰白色。但我可能会忽略一些简单的事情。

改变视图的代码

            localView = new View3D();
            localView.Dock = DockStyle.Fill;
            Visualizer = new ObjectVisualizer();
            localView.AddVisualizer(Visualizer);
            stepImport = new StepImport();
            Import = stepImport.Import(_currentFile);
            localView.BeginUpdate();
            localView.ViewBottom();
            localView.EndUpdate();

我尝试过的示例光源

            localView.View.SetLightOn(new OCV3d_DirectionalLight(localView.View.Viewer(), OCV3d_TypeOfOrientation.V3d_Zneg, OCQuantity_NameOfColor.Quantity_NOC_RED));
            localView.View.SetLightOn(new OCV3d_PositionalLight(localView.View.Viewer(), -10, -10, -10, OCQuantity_NameOfColor.Quantity_NOC_BLACK));

我尝试获得像 FreeCad 软件中一样的侧视图,其中显示了对象的颜色。

【问题讨论】:

  • 我不完全明白你的意思。您想添加屏幕截图来解释您的问题吗?考虑到在 Open CASCADE 中,对象的颜色和材质都会影响它的外观。一个物体可能看起来只是白色,因为它的材料太亮了。在这种情况下,设置沉闷、中性的材料可能会有所帮助。例如,我将材料默认设置为塑料。在 C++ 中它看起来像这样:presentation->SetMaterial(Graphic3d_NameOfMaterial::Graphic3d_NOM_PLASTIC);.
  • 感谢您的回答,我认为这可能是问题所在。不幸的是,我不允许张贴图片(几分)。 Example 那将是白色的一面。你的演讲是什么?不幸的是,我使用了很多不是我编写的代码,所以我不太了解材料。
  • 这里我使用演示属性将设置存储在 OCAF 文档中。可能这不是您想要的方式,但我不知道如何在 C# 中设置材质...

标签: c# step opencascade


【解决方案1】:

感谢 Benjamin Bihler 的评论,我能够解决我的问题,因为确实是材料使物体从侧面发出白色光。 要更改材质,我必须从用于显示对象的 VisualNode 对象访问 AisShapes。

VisualNode visualNode = new VisualNode(item.Name, new ObjectVisualizer(localView));
visualNode.AddShape(item.Shape, c, (double)c.A / 255);
foreach(var x in visualNode.AisShapes)
{
    x.SetMaterial(OCGraphic3d_NameOfMaterial.Graphic3d_NOM_PLASTIC);
}
Visualizer.RootNode.Children.Add(visualNode);
visualNode.Show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 1970-01-01
    • 2014-05-09
    • 1970-01-01
    相关资源
    最近更新 更多