报错:vtkSTLReader (0000027753736D90): A FileName must be specified.;vtkCompositeDataPipeline (00000277

文章讲述了在使用VTK库中的vtkSTLReader处理STL文件时遇到的错误,错误提示文件名未指定,以及通过将智能指针设置为全局变量解决内存问题的过程。

完整报错

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (0000027753736D90): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C7349E0): Algorithm vtkSTLReader(0000027753736D90) returned failure for request: vtkInformation (000002775C3081B0)
  Debug: Off
  Modified Time: 52611
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (0000027753736B20): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C733FE0): Algorithm vtkSTLReader(0000027753736B20) returned failure for request: vtkInformation (000002775C308CA0)
  Debug: Off
  Modified Time: 125835
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (00000277537371A0): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C733CE0): Algorithm vtkSTLReader(00000277537371A0) returned failure for request: vtkInformation (000002775C3081B0)
  Debug: Off
  Modified Time: 125980
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (00000277537379C0): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C7324E0): Algorithm vtkSTLReader(00000277537379C0) returned failure for request: vtkInformation (000002775C307C60)
  Debug: Off
  Modified Time: 244547
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (0000027753736B20): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C732EE0): Algorithm vtkSTLReader(0000027753736B20) returned failure for request: vtkInformation (000002775C3081B0)
  Debug: Off
  Modified Time: 349445
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (0000027753736B20): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C733CE0): Algorithm vtkSTLReader(0000027753736B20) returned failure for request: vtkInformation (000002775C3087A0)
  Debug: Off
  Modified Time: 398181
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0



ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\IO\Geometry\vtkSTLReader.cxx, line 97
vtkSTLReader (0000027753736B20): A FileName must be specified.

ERROR: In D:\vs2022\Qt_VTK\vtk-v9.1.0\vtk-v9.1.0\Common\ExecutionModel\vtkExecutive.cxx, line 753
vtkCompositeDataPipeline (000002775C733CE0): Algorithm vtkSTLReader(0000027753736B20) returned failure for request: vtkInformation (000002775C308ED0)
  Debug: Off
  Modified Time: 457347
  Reference Count: 1
  Registered Events: (none)
  Request: REQUEST_DATA
  FORWARD_DIRECTION: 0
  ALGORITHM_AFTER_FORWARD: 1
  FROM_OUTPUT_PORT: 0

报错描述

报错是随机的,每次运行读取失败的stl文件也不同

解释我要实现的功能

现在我要遍历几千个stl文件,对于其中一个stl文件,我要读取他们的一些数据属性,然后进行判断
流程图:
在这里插入图片描述
相关demo:

QObject::connect(ui->pushButton, &QPushButton::clicked,
    this, &MainWindow::onDetermine);
void MainWindow::onDetermine()
{
   
   
在WPF中使用`MultiBinding`设置`Button1`的`CommandParameter`传输`Button2`和`Button3`两个参数时,出现`Cannot set MultiBinding because MultiValueConverter must be specified`错误,这是因为使用`MultiBinding`时必须指定一个`MultiValueConverter`。 以下是解决该问题的详细步骤和示例代码: #### 1. 定义`MultiValueConverter` 首先,需要定义一个实现了`IMultiValueConverter`接口的自定义转换器类。该类负责将多个绑定值转换为一个单一的值,以便作为`CommandParameter`传递。 ```csharp using System; using System.Globalization; using System.Windows.Data; using System.Windows.Controls; public class MyMultiValueConverter : IMultiValueConverter { public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { if (values.Length == 2 && values[0] is Button && values[1] is Button) { return new { Button2 = (Button)values[0], Button3 = (Button)values[1] }; } return null; } public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture) { throw new NotImplementedException(); } } ``` #### 2. 在XAML中使用`MultiBinding`和`MultiValueConverter` 在XAML中,需要将自定义的`MultiValueConverter`实例化,并将其应用到`MultiBinding`中。 ```xml <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:WpfApp1"> <Window.Resources> <local:MyMultiValueConverter x:Key="MyMultiValueConverter"/> </Window.Resources> <StackPanel> <Button x:Name="Button1" Content="Button1"> <Button.CommandParameter> <MultiBinding Converter="{StaticResource MyMultiValueConverter}"> <Binding ElementName="Button2"/> <Binding ElementName="Button3"/> </MultiBinding> </Button.CommandParameter> </Button> <Button x:Name="Button2" Content="Button2"/> <Button x:Name="Button3" Content="Button3"/> </StackPanel> </Window> ``` 通过以上步骤,就可以解决`Cannot set MultiBinding because MultiValueConverter must be specified`错误,成功使用`MultiBinding`将`Button2`和`Button3`作为参数传递给`Button1`的`CommandParameter`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踏过山河,踏过海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值