OCC从入门到放弃(下载与编译)

下载地址:https://www.opencascade.com/content/latest-release

我的vs是2015的,vs2015版本号是vc14,这里我下载的是VC++ 2017 64 bit:opencascade-7.3.0-vc14-64.exe     

这个下载完安装好的目录大概是这个亚子的

opencasecad是我们要的occ库,其他的是occ需要的库

(版本更新原因吧并没有网上教程说的Ros文件夹,应该去掉了,就是这里的vc14-64目录即opencascad根目录)

我们只需要进入opencascade-7.3.0目录即可

adm里面有个msvc的文件夹包含了各版本的vs,他给你弄好了对应的解决方案,用msvc.bat批处理打开OCCT.sln然后编译就完事儿了

在编译之前,必须设置第三方库的头文件和库文件的路径。第三方库有TclTk,FreeType,FreeImage,gl2ps和TBB。可以在Visual Studio的工具->选项中的目录来设置,也可以配置批处理文件custom.bat来设置。最好是通过批处理文件custom.bat来设置。

配置其实只要配置custom.bat就好了,执行msvc.bat会嵌套调用其他的bat,配置的目的就是来指定是否在编译OpenCascade中使用gl2ps,TBB和FreeImage(可选的第三方库)。  --- 但其实不用配置,默认为true。

具体操作如下:

l 参数1:启动的Visual Studio的版本;

l 参数2:系统架构(win32, win64); 这边下的是64的包,压根就编译不了32的,会提示缺少文件(给的其他occ需要的第三方库就是64的你咋编译,所以这里默认win64)

l 参数3:编译模式(Debug, Release);

l 参数4:Visual Studio解决方案路径

执行完这个会自动打开我的vs2015,打开默认是win32的,完了我没注意编译提示缺少tbb的一个32位的lib,手动改下

编译顺序如下:

1. Foundation Classes (file FoundationClasses.sln)

2. Modeling Data(file ModelingData.sln)

3. Modeling Algorithms(file ModelingAlgorithms.sln)

4. Visualization(file Visualization.sln)

5. Application Framework(file ApplicationFramework.sln)

6. Data Exchange(file DataExchange.sln)

7. Draw(file Draw.sln)

编译完成后创建项目

可执行文件目录:occ源码生成的DRAWEXE.exe和各种dll  (这里都是绝对路径,没有移动)

包含目录:occ源码头文件目录

库目录:occ源码生成的lib目录                                     ---  lib用于编译,运行需要添加dll

添加dll:1,设置调试 -- 工作目录 2、设置调试 -- 环境 3、用到的dll放到exe同层目录即可

参考大佬:https://www.cnblogs.com/opencascade/p/3270883.html 

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OCC造型库中,可以使用BRepAlgoAPI_Common.hxx头文件中的BRepAlgoAPI_Common类来计算两个线段的交点。具体实现步骤如下: 1. 定义两个线段对象,可以使用BRepBuilderAPI_MakeEdge类来创建线段,也可以从已有的形状中提取线段。 2. 创建BRepAlgoAPI_Common对象,并将两个线段对象传递给它的构造函数。 3. 调用BRepAlgoAPI_Common的Build()方法,该方法返回一个BRepAlgoAPI_CommonBuilder对象。 4. 使用BRepAlgoAPI_CommonBuilder的FirstVertex()方法获取交点。 下面是一个简单的示例代码: ``` #include <BRepBuilderAPI_MakeEdge.hxx> #include <BRepAlgoAPI_Common.hxx> int main() { // 创建两个线段对象 gp_Pnt p1(0, 0, 0); gp_Pnt p2(1, 1, 1); BRepBuilderAPI_MakeEdge edge1(p1, p2); gp_Pnt p3(0, 1, 0); gp_Pnt p4(1, 0, 1); BRepBuilderAPI_MakeEdge edge2(p3, p4); // 创建BRepAlgoAPI_Common对象 BRepAlgoAPI_Common common(edge1, edge2); // 计算交点 BRepAlgoAPI_CommonBuilder builder(common); TopoDS_Vertex intersection = builder.FirstVertex(); // 输出交点坐标 if (!intersection.IsNull()) { Standard_Real x, y, z; gp_Pnt point = BRep_Tool::Pnt(intersection); point.Coord(x, y, z); std::cout << "Intersection point: (" << x << ", " << y << ", " << z << ")" << std::endl; } return 0; } ``` 在这个例子中,我们创建了两个线段对象edge1和edge2,它们的端点分别为p1、p2和p3、p4。然后,我们将这两个线段传递给BRepAlgoAPI_Common类的构造函数,创建了common对象。接着,我们创建了一个BRepAlgoAPI_CommonBuilder对象builder,并使用它的FirstVertex()方法获取了交点。最后,我们输出了交点的坐标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sendinn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值