问题标签 [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.
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 的建议后,我将线路改为
这些是我得到的错误:
c++ - 如何在使用 opencascade 进行曲面细分后焊接网格
我使用 opencascade 的 BRepMesh_IncrementalMesh 来执行网格划分。然后我导出到 glb 并用 blender 打开文件。该文件工作得很好。然后我将文件上传到巴比伦的沙箱,发现由于我是在曲面细分之后导出的,所以所有基元都是网格,每次我移动相机时巴比伦都会绘制每个基元,从而导致大量的绘制调用。我发现在上传 glb 文件后,blender 会将节点的图元自行焊接到一个网格上。我将blender渲染导出到glb并上传到babylon的平台,发现所有的原语都被合并了。有没有办法在使用 opencascade 细分后将所有基元合并到一个网格中?
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
,我得到这个:
cmake - Make 无法构建 FreeImage - 构建 OpenCascade 时
我已成功使用 CMake。然后我使用 MSYS2 遍历 BUILD 目录并输入make
. 构建进展顺利,但是当它扫描 FreeImage 的依赖项时 - 然后它失败了。
这是我拥有的编译器:
现在警告 - 错误。make
对于所有抱怨的不同对象,我有一个不同的代码块。最后一个也将包含错误消息。
对象 1:
对象2:
对象 3:
最终目标和 MAKE 错误:
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
使用TKSTEP
,TopoDS_Shape
使用TKBRep
,StlAPI_Writer
使用TKSTL
。
因此,我发出了这个命令:
这就是我得到的:
编译实验 2:
编译实验 3(将 and 更改cout
为endl
andstd::cout
之后std::endl
)
c++ - 如何在父形状中获取数字索引/位置(OpenCascade)
我正在使用 OpenCascade 来获取三角剖分中的边顶点。为此,我使用边缘到面映射的帮助,边缘作为匹配面的键。但是,我还想获取父形状中面部的数字索引(例如,如果我使用面部编号TopoDS::Face(face_map(int face_number))
)。
我可以遍历所有面并匹配映射面,但这似乎效率很低。
是否有更好或替代的方法来实现这一目标?
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
成功......
如果有人有线索会很好吗?
c++ - 防止 Opencascade 写入控制台
当使用 OpenCascade C++ 库时,某些函数会打印出一些状态或响应到控制台/终端。例如,STEPCAFControl_Writer::perform()将打印出如下内容:
到控制台。有没有办法防止这种情况?
opencascade - 缺少不存在的库:TCL86.LIB
我曾尝试使用 VS2017 在 Win10 64 位上编译 OpenCascade。我在 64bit 上编译,但遇到链接错误,其中之一是:
我注意到在 TKDraw 项目中,我有以下链接设置文件/路径:
如您所见,他们都没有告诉我关于tcl86.lib的信息,但是编译器说这个 lib 丢失了。为什么 ?此外,我在opencascade文件夹中没有找到任何tcl86.lib,那么,为什么要问我这个文件呢?你能帮我一点吗?