问题标签 [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.
axis - 如何找到 AxisPlacement 的 IFC 转换..?
我正在尝试将 Ifc 文件转换为 Step 文件格式。对于步骤文件,我需要 ifc 转换。
从 IfcClosedShell,我得到了面部点,但我需要从 IfcAxisPlacement3D 转换这些点(笛卡尔点,参考方向,轴方向。)
将面点转移到原始位置的矩阵。
c++ - 如何包装返回 C 或 Objective-C++ 中的类对象的 C++ 函数
我正在尝试在 Cocoa 框架中为我的OpenCascade应用程序构建一个查看器。代码的核心是用C++编写的,为了在 Cocoa 窗口中呈现,我必须将C++代码包装在Swift中。
我打算通过将C++代码包装在C中,然后在Swift中调用C函数来做到这一点。然而,挑战在于我必须包装一个返回类对象的函数。
我的功能makeCurve()
定义为:
Geom_BSplineCurve
OpenCascade 库中定义的类对象在哪里。我不想修改库。
我怎样才能继续在 C 中包装上述函数?
computational-geometry - OpenCASCADE 的增量网格中的线性/角度偏转是什么?
最近我一直在使用 OpenCASCADE(准确地说是 PythonOCC)进行一些 CAD 操作,包括网格形状,并且偶然发现了这个类: BRepMesh_IncrementalMesh。
我没有找到任何关于theLinDeflection
和theAngDeflection
参数含义的提示 - 并且想了解更多相关信息。
我将不胜感激有关此主题的任何阅读材料/提示/解释。
c++ - OpenCasCade BrepFeat_MakeCylindricalHole(); 功能
目前我正在做一个项目,在给定的形状上钻一些圆柱形孔。
所以为此我确实使用了BRepFeat_MakeCylindricalHole();
函数并使用了Standard_EXPORT void PerformThruNext (const Standard_Real Radius, const Standard_Boolean WithControl = Standard_True);
因为在这种情况下,我没有圆柱体的深度。使用 performThruNext 它将从顶面到底面进行钻孔。用户将获得起点和终点,然后使用它来钻孔。
- **1.当起点和终点有小数部分
(gp_pnt StartPnt (328.547,-4.325,97.412); gp_pnt EndPnt (291.841,-7.586,101.651);)
时,不能正确钻孔。
2.当直径达到更高的值时,会发生同样的事情,,
** 以下是我的代码,任何帮助将不胜感激。谢谢!
python - Pythonocc/Opencascade | 通过点沿直线创建管道,轮廓不会正常变化
我的最终目标如下:
我有一个庞大的点数据集,代表一个零件将如何逐层进行 3D 打印。我需要通过这些点创建一条线并沿这条线挤出一个圆圈(因此重建零件,因为稍后将打印它)。
我最初尝试做一个样条曲线,但是这试图创建一条平滑线并且根本不遵循这些点。我尝试更改 minDeg 和 maxDeg 选项,但这仍然不足以创建我需要的实际曲线。
所以我尝试一次只在两个点之间创建一条样条线,然后在创建一条线时将它们全部加在一起。这看起来很有希望,因为现在我确实得到了实际的尖角和穿过确切点的线条。但是,现在当我尝试沿着它挤出时,挤出轮廓的法线不会随着线的角度而改变。
我在这个问题上花了我最后 4 天的时间,尝试了许多论坛和问题,但感觉完全迷失在 pythonocc (opencascade) 的世界中。
我的代码如下:
export - Opencascade Step 导出 -> 附加坐标系 (AXIS2_PLACEMENT_3) 以符合 DIN4003
我的目标是对铣刀进行有效的 DIN4003 步骤导出。该工具包含一种化合物,它为 CUT 和 NOCUT 层提供 2 个固体。我通过TopoDS_Shape
类实现了这一点。两者TopoDS_Shape
和步骤输出都可以正常工作。
但为了使其符合 DIN4003,我需要为每个化合物添加一些额外的坐标系。诸如“安装坐标系”(MCS)之类的东西。(MCS 是安装在支架上的工具的参考点。)它应该链接到化合物。坐标系由AXIS2_PLACEMENT_3
实体表示
这是我的问题
- 如何实现这样的坐标系并将其链接到化合物?
- 如何创建放置这些坐标系的图层?
这是生成的步骤代码的摘录。我需要创建实体#1370 和#512(我手动插入了它们)
非常感谢您的帮助。
opencascade - OpenCascade:brep 读取失败
OpenCascade 不会加载一些 brep 文件,但如果我尝试使用 FreeCad 加载它们就可以了。代码是:
我正在使用相当于 6.9.1 的 OpenCascade 社区版 0.18.1-2.4
编辑:
当我执行程序时,我收到一条 OpenCascade 消息:“不是 TShape 表”但是打开同一个文件时,FreeCad 没有问题。
c++ - 为 VS2017 构建 OpenCascade
用例:我打算在我的 C++ 项目中使用 OpenCascade C++ 库。我需要做简单的折线偏移和多边形缩小。
因此,我尝试在我的 Windows 10 64 位机器上安装 OpenCascade C++ 库以在 Visual Studio 17 中使用。我的第一次尝试是使用 Windows 安装程序,然后运行批处理文件(env.bat、custom.bat)。但我在这个论坛上读到Windows 安装程序不适用于 Visual Studio 2017 - 对吗?
所以我现在已经按照这里的构建说明进行操作。现在我已经在 Visual Studio 2017 中打开了示例项目。当我尝试构建项目时,每个示例项目都会出现以下错误:
错误 MSB8036 未找到 Windows SDK 版本 8.1。安装所需版本的 Windows SDK 或在项目属性页面中更改 SDK 版本,或右键单击解决方案并选择“重新定位解决方案”。TKQADraw C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Platforms\x64\PlatformToolsets\v141\Toolset.targets 36
关于我做错了什么有什么建议吗?也许我没有按照这些步骤正确构建它?另外,考虑到我上面的用例,如果我只想以有限的方式使用 OpenCascade,我需要做所有这些吗?
是否有关于如何创建新的 Visual Studio C++ 项目并链接所有 OpenCascade 库的文档或链接?
python - PythonOCC(OpenCascade)中平移和旋转的基本误区
也许这会帮助其他尝试通过教程/文档/stackoverflow 学习的人。
如何旋转或平移 TopoDS_Shape(或任何对象),提供坐标、角度和轴?例如:如果我的零件位于 (5.0, 1.0, 0.0),我可以将其移动到 (0.0, 0.0, 0.0) 吗?还是让它面临一个新的方向?
尝试过的方法(不包括我认为不重要的代码)。我试图包括一些我大部分时间都花在上面的东西。不记得我所做的所有其他尝试。也许有 PythonOCC 或 OpenCascade 经验的人可以看出我哪里出错了。
有时我会收到这样的错误:
但大多数时候我什么也得不到,而且显示中的形状也没有改变。
在这里呆了几天: https ://cdn.rawgit.com/tpaviot/pythonocc-core/804f7f3/doc/apidoc/0.18.1/index.html
https://dev.opencascade.org/doc/refman/html/index.html
https://github.com/tpaviot/pythonocc-demos/tree/master/examples
所以我知道我认为要传递哪些功能,但似乎没有任何效果。
也许显示器根本没有向我显示实际发生的变化?
我之前问了一个不同的 PythonOCC 问题(pythonOCC 将默认单位设置为英寸),但我认为我真的只是缺少一些基本的东西。
谁能想到为什么我没有设法做出任何真正的改变?谢谢你的时间!