问题标签 [opencascade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
388 浏览

cmake - CMake - 无法从源代码构建 OpenCascade

我正在尝试从源代码构建 OpenCascade。我正在使用本指南: https ://github.com/tpaviot/oce/blob/master/BUILD.MINGWw64.md

1-5 的所有步骤,包括下载内容都已执行。现在我正在尝试使用 CMAKE 构建

*我使用“源代码在哪里”选项指向 oce 的目录(按照说明)。*我使用“在哪里构建二进制文件”选项,将我命名为“BUILD”的文件夹指向上述步骤中提到的目录内(按照说明)。*我按下“配置”并使用默认的本机编译器选择“MSYS Makefiles”。

这里开始了错误。我注意到 CMake 生成了一个文本文件,所以我进入并更改了 CMAKE MAKE 位置:CMAKE_MAKE_PROGRAM:FILEPATH=C:/Users/User1/Desktop/OPENCA~1/msys/bin

我继续前进,但产生了新的错误。

那么我该如何前进呢?

然后指南说:“检查 OCE_USE_BUNDLE_SOURCE 检查 OCE_WITH_FREEIMAGE 检查 OCE_WITH_GL2PS 检查 OCE_VISUALISATION”

我在哪里设置这些?文本文件中没有这样的变量,我也不能在 CMAKE 上设置它们。

编辑:这些是我现在得到的错误:

编辑 2:CMake 中有一些空选项:

在此处输入图像描述

编辑 3:在听从 Tsyvarev 的建议后,我将线路改为

这些是我得到的错误:

0 投票
0 回答
142 浏览

c++ - 如何在使用 opencascade 进行曲面细分后焊接网格

我使用 opencascade 的 BRepMesh_IncrementalMesh 来执行网格划分。然后我导出到 glb 并用 blender 打开文件。该文件工作得很好。然后我将文件上传到巴比伦的沙箱,发现由于我是在曲面细分之后导出的,所以所有基元都是网格,每次我移动相机时巴比伦都会绘制每个基元,从而导致大量的绘制调用。我发现在上传 glb 文件后,blender 会将节点的图元自行焊接到一个网格上。我将blender渲染导出到glb并上传到babylon的平台,发现所有的原语都被合并了。有没有办法在使用 opencascade 细分后将所有基元合并到一个网格中?

0 投票
0 回答
361 浏览

makefile - Windows 下 Make 无法编译 - Cmake、Msys、MinGW

我正在按照本指南构建 Opencascade frmo 源代码:

https://github.com/tpaviot/oce/blob/master/BUILD.MINGWw64.md

我已经完成了 MSYS 部分的所有工作。CMake 配置和生成成功。我现在有一个包含 CMake 生成的所有内容的文件夹。

所以我启动 MSYS2,然后 cd 进入那个目录。然后我输入make

这就是我得到的:

如您所见,没有任何反应,没有编译。有提示让我输入。但是没有任何东西被执行。

编辑:

*我在一个新目录中重做了进程,所以我的目录中不存在空格字符。问题依然存在。

*当我跑步时make --version,我得到这个:

*当我退出提示 (CONTROL + C) 我得到这个:

*这些是 makefile 的内容,第 1734 行:

*当我跑步时make VERBOSE=1,我得到这个:

0 投票
0 回答
169 浏览

cmake - Make 无法构建 FreeImage - 构建 OpenCascade 时

我已成功使用 CMake。然后我使用 MSYS2 遍历 BUILD 目录并输入make. 构建进展顺利,但是当它扫描 FreeImage 的依赖项时 - 然后它失败了。

这是我拥有的编译器:

现在警告 - 错误。make对于所有抱怨的不同对象,我有一个不同的代码块。最后一个也将包含错误消息。

对象 1:

对象2:

对象 3:

最终目标和 MAKE 错误:

0 投票
1 回答
721 浏览

gcc - 编译程序并链接所有库和包含路径

我正在尝试编译一个 OpenCascade 程序。

这是程序的链接: https://www.opencascade.com/content/unable-convert-step-file-stl-file (这是一个错误的程序,但它是一个开始)

我应该将所有库、库路径和包含路径链接到 gcc(-L、-l、-I 标志)。我已经安装了 OpenCascade,这里是安装的文件夹。

在此处输入图像描述

您看到的这些文件夹中的大多数都有一个 bin、include 和 lib 文件夹。

我是否必须将所有这些链接到编译器才能编译程序?

这些是程序使用的唯一包括:

编辑:“ TopoDS_Shape.hxx”和“ StAPI_Writer.hxx”位于此路径中C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc

' STEPControl_Reader.hxx' 也存在于同一目录中,我不知道为什么原始作者将它放在他的本地目录中。

编辑 2:我也阅读了这个论坛主题: https ://forum.freecadweb.org/viewtopic.php?t=15993 但它对我一点帮助都没有。他使用的是linux,include和lib目录的结构不一样。

编译尝试后编辑

  • win64\vc14\bin%PATH%

  • 我弄清楚了这-I部分,因为所有三个头文件都在一个目录中。( C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\inc)

  • 对于我使用的导入库的位置C:\OpenCASCADE-7.4.0-vc14-64\opencascade-7.4.0\win64\vc14\lib。我想我不需要重命名它 gcc\lib 对吗?我自己没有构建 OCCT,我从他们的网站下载了二进制文件。二进制文件的名称是opencascade-7.4.0-vc14-64. 所以我想我没事吧?我正在使用 gcc。

  • 我从在线文档中找出了三个头文件的库名称。STEPControl_Reader使用TKSTEPTopoDS_Shape使用TKBRepStlAPI_Writer使用TKSTL

因此,我发出了这个命令:

这就是我得到的:

编译实验 2

编译实验 3(将 and 更改coutendlandstd::cout之后std::endl

0 投票
0 回答
386 浏览

c++ - 如何在父形状中获取数字索引/位置(OpenCascade)

我正在使用 OpenCascade 来获取三角剖分中的边顶点。为此,我使用边缘到面映射的帮助,边缘作为匹配面的键。但是,我还想获取父形状中面部的数字索引(例如,如果我使用面部编号TopoDS::Face(face_map(int face_number)))。

我可以遍历所有面并匹配映射面,但这似乎效率很低。

是否有更好或替代的方法来实现这一目标?

0 投票
1 回答
393 浏览

c++ - 如何解决 LINK:致命错误 LNK1181:无法打开输入文件 'vtkCommonCore-9.0.lib'

我将OpenCasCade库用于windows上的 C++ 项目。我已使用conda将其更新为7.4.0。附带了一个新版本的vtk ( vtk-9.0.1 )

我用CMake构建项目。更新之前没有问题,因为当我编译时我有消息LINK : fatal error LNK1181: cannot open input file 'vtkCommonCore-9.0.lib

我试图直接链接vtk没有find_package成功......

如果有人有线索会很好吗?

0 投票
1 回答
199 浏览

c++ - 防止 Opencascade 写入控制台

当使用 OpenCascade C++ 库时,某些函数会打印出一些状态或响应到控制台/终端。例如,STEPCAFControl_Writer::perform()将打印出如下内容:

到控制台。有没有办法防止这种情况?

0 投票
1 回答
90 浏览

surface - 如何使用 OPENCASCADE 使用截面制作实体

我使用点数据创建了几个部分,最后使用 OPENCASCADE 创建了一个 CAD 模块来创建实体。至此,使用点创建截面的工作已经完成。我想知道如何使用这些部分创建实体。任何人都可以帮忙吗?

在此处输入图像描述

0 投票
3 回答
242 浏览

opencascade - 缺少不存在的库:TCL86.LIB

我曾尝试使用 VS2017 在 Win10 64 位上编译 OpenCascade。我在 64bit 上编译,但遇到链接错误,其中之一是:

我注意到在 TKDraw 项目中,我有以下链接设置文件/路径:

如您所见,他们都没有告诉我关于tcl86.lib的信息,但是编译器说这个 lib 丢失了。为什么 ?此外,我在opencascade文件夹中没有找到任何tcl86.lib,那么,为什么要问我这个文件呢?你能帮我一点吗?