问题标签 [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 投票
2 回答
1549 浏览

delphi - Delphi中开放级联的接口

我正在尝试找到一种在我们用 Delphi 编写的软件中使用Open Cascade (www.opencascade.org) - 3D 建模技术的方法。

我确实设法找到了一个支持 Open Cascade 的 ActiveX,但在尝试时我不喜欢渲染图像的视觉质量。可在此处(www.ewcad.com) 找到 ActiveX 库。

我无法为此找到任何 VCL,也无法在 Internet 上找到任何导入声明。

0 投票
3 回答
2953 浏览

import - 从 OpenCascade 导出,导入到 OpenSceneGraph

我们有一个使用 OCC 的建模工具和一个使用 OSG 的 3d 编辑器。我想要做的是,从第一个工具中导出模型并导入到第二个工具中。我已经在网上搜索了几天,但我找不到解决方案。

三件事可以解决我的问题:

  1. OCC 的导出器,用于导出为 OSG 支持的格式(.ive、.osg 等),
  2. OSG 的导入器,用于从 OCC 支持的格式(.stp、.step、.igs、.iges、.brp、.brep)导入,
  3. 一种转换工具,用于在两种格式之间进行转换,一种是 OCC 支持的格式,一种是 OSG 支持的格式。

以前有没有人这样做过,或者知道有什么可以帮助的?

我试图避免为 OCC 编写自定义导出器。

0 投票
3 回答
297 浏览

c++ - 关于对内存泄漏的 3rd-Party DLL 进行沙盒处理

我正在寻找一种方法来至少治愈我必须使用的泄漏 DLL 的症状。虽然库(OpenCascade)声称提供了一个内存管理器,但我还不能让它释放它分配的任何内存。

我至少希望将对该模块的调用放在“沙箱”中,以防止我的应用程序在 OCC 模块不再运行时不会丢失内存。

我的问题是:虽然我意识到这样做会是一个 UGLY HACK (TM),但是否可以预先分配一段内存供库专门使用,或者围绕它构建某种沙箱,这样我就可以跟踪他们使用了哪些内存区域以便在我完成后自己释放它们?

或者那会是丑陋的黑客,我应该尝试以其他方式解决问题?

0 投票
3 回答
281 浏览

linux - 多线程:如何在向量被填充时处理向量中的数据?

我有一个单线程的 linux 应用程序,我想使其并行。它读取一个数据文件,创建对象,并将它们放在一个向量中。然后它在每个对象上调用一个计算密集型方法(0.5 秒+)。我想在创建对象的同时调用该方法。虽然我看过 qt 和 tbb,但我对其他选项持开放态度。

我计划在向量为空时启动线程。每个人都会调用makeSolids(如下),它有一个 while 循环,该循环将一直运行,直到 interpDone==true 并且向量中的所有对象都已被处理。但是,在线程方面,我是 n00b,我一直在寻找现成的解决方案。

QtConcurrent::map(Iter begin,Iter end,function())看起来很简单,但我不能在大小变化的矢量上使用它,可以吗?我如何告诉它等待更多数据?

我还查看了英特尔的 tbb,但如果我使用parallel_foror ,我的主线程似乎会停止parallel_while。这很臭,因为推荐使用他们的内存管理器(开放级联的 mmgt 在多线程时性能很差)。

编辑:总而言之,在主线程填充向量的同时处理向量的最简单方法是什么?

0 投票
1 回答
1450 浏览

geometry - 生成 G 代码 | 将 b 样条分解为圆形截面

我正在尝试将 b 样条分解为一组圆定义。我正在尝试生成 G 代码;这里的想法是将 b 样条分割成多个圆形插值 [G02]。使用 PythonOCC 我可以将 b 样条分解成许多贝塞尔曲线,但我不知道如何将贝塞尔曲线转换为圆形部分。

谢谢

0 投票
1 回答
707 浏览

visual-c++ - 在另存为对话框中检查文件是否已存在 - c++,opencascade

我想为特定形状创建一个 .stl 文件,其中该形状的每个面都有不同的补丁名称,如 face1、face 2 等。我通过覆盖 opencascade 中的 StlAPI_Writer 和 RWStl 类来完成此操作。我使用了 file.Append 方法而不是 file.Build 方法来做到这一点。但是当我将 .stl 文件保存在一个已经存在的文件中时,我遇到了一个问题,它会将数据附加到不正确的现有文件中。我想删除文件中的现有数据,并为给定的形状逐面附加新数据。

请帮助我。

0 投票
1 回答
360 浏览

visual-c++ - 增加 opencascade 项目的内存

我的 opencascade 项目是在 Visual c++ 环境中构建的。我的问题是当我尝试运行程序时出现错误,“图形初始化中的致命错误”。我可以使用 bat 文件并使用它设置内存分配吗?如何设置?请帮我。

谢谢。

0 投票
0 回答
142 浏览

cocoa - embedding an X11 widget in Cocoa

I'm working on pythonocc, which exposes the OpenCasCade API in a pythonic manner. OCC is coupled to either the windows or X11 gui environment. This is somewhat problematic on OSX; I need to build [Py]Qt4 for X11, rather than Cocoa, which makes distribution much harder than it should be. Hence the following question; is it possible to embed a X11 widget in Cocoa? That would allow me to use PyQt4 / PySide for Cocoa and make things a lot easier.

0 投票
0 回答
877 浏览

opengl - GUI 中复杂几何图形的 3D 可视化

我想为(结构化)网格生成软件(类似于Gmesh)和可能的 3D 前/后处理(如Salome)开发一个小型跨平台。
为了让事情变得更容易,我想使用已经制作的库,以更好地专注于开发我需要的东西。
我需要
1. 几何建模能力
2. GUI
3. 3D 可视化。
我一直在环顾四周,但整个工作流程的结果有点模糊。
我认为pyGTKGLADE对我来说是不错的选择(因为社区和关于pyQt的非常开放的许可证)。
建模部分可以由打开 Cascade(最好是 pythonOCC),但对于 pyGTK 小部件中的可视化,我不知道该怎么做。
我正在考虑使用openGL ( PyGtkGLExt ),但我知道 OpenGL 太低级了。
由于这个原因, FreeCAD(http://goo.gl/V4FCW)使用Coin3D(我也许可以使用pyvy),但是像Gmesh这样的软件直接使用OpenGL。最重要的是,我看到对于科学可视化,VTK可能会更好,但我不明白它是否基于 OpenGL。在我看来,OpenGL 很好,因为它受到显卡驱动程序的支持,使整个软件更快。

我应该能够将 pythonOCC 构建的几何图形渲染到 pyGTK 小部件中,但是使用哪种库会更好?单独使用OpenGL(可能编程复杂?)Coin3D(或类似的)加速使用OpenGL?
单独的VTK?VTK 与 OpenGL 结合?
其他组合和/或库?
你有使用过这类软件的经验吗?
你有什么建议吗?你知道解释这些库的组合使用的教程吗?

0 投票
3 回答
3015 浏览

macos - 如何在 MAC (Mountain Lion) 上构建 OpenCASCADE

我正在尝试在 Mac 上构建 OpenCASCADE,但我没有任何运气。

我在 tar.gz 中从 Github 下载了它,但我对 Mac 真的很陌生,我被卡住了。

谁能解释我的下一步应该是什么?

(我找到了一些我应该使用的终端命令,但我不熟悉它们。所以如果这是在 Mac 上构建 OpenCASCADE 的正确方法,请写下详细的终端命令。谢谢!)

编辑:

我现在从下面的链接中理解了命令行命令。我之前也理解过,但我错了,因为我的主要问题是我没有安装 gcc(XCode 不会自动安装 gcc...)。所以无论如何,现在我终于可以运行 cmake 命令了。它开始,但以这样的方式结束:

/Applications/CMake 2.8-9.app/Contents/share/cmake-2.8/Modules/FindX11.cmake:420 (MESSAGE) 处的 CMake 错误:找不到 X11 调用堆栈(最近的调用优先):CMakeLists.txt:313 (查找包)

有人知道该怎么做吗?我也尝试在这里搜索这个,然后用谷歌搜索......我找到了一些“解决方案”,但这些对我不起作用。

编辑编辑:

最后一次编辑的解决方案是 Mountain Lion 没有安装 X11。所以打开一个使用 X11 或 Xquartz 的应用程序,它会自动安装。

不幸的是,它仍然不起作用。在终端中的 make 命令之后,我的下一条错误消息如下:

在 /Users/davidbirkas/Documents/tpaviot-oce-6c9a06a/src/AlienImage/AlienImage_X11XWDAlienData.cxx:14 包含的文件中:/Users/davidbirkas/Documents/tpaviot-oce-6c9a06a/inc/Aspect_XWD.hxx:5:12:致命错误:未找到“X11/XWDFile.h”文件#include ^ 1 生成错误。make[2]: * [adm/cmake/TKService/CMakeFiles/TKService.dir/_ / _/__/src/AlienImage/AlienImage_X11XWDAlienData.cxx.o] 错误 1 ​​make 1 : [adm/cmake/TKService/CMakeFiles/TKService.dir/all] 错误 2 make: * * [all] 错误 2

任何想法如何解决这一问题?