和光同尘 、Y_____
这个作者很懒,什么都没留下…
展开
-
OCC 通过边查找模型中所有相切的边
/检查两个线的距离过大直接跳过++i) {std::cout << "最小距离是: " << minDist << std::endl;//曲线两个方向gp_Pnt p1;gp_Pnt p2;p1 = p1_F;p2 = p2_F;p1 = p1_F;p2 = p2_L;p1 = p1_L;p2 = p2_F;p1 = p1_L;原创 2025-04-21 16:11:59 · 21 阅读 · 0 评论 -
曲线定义分析
在精度控制方面表现优异,特别适用于那些要求的场合。它通常用于,以及一些要求较高精度的设计应用。在OCC中NURBS是B样条曲线,提供了更高的灵活性,特别适合于的场合。NURBS 曲线的灵活性来自于,这使得它能够实现更平滑的曲线过渡,适合需要曲线的应用。原创 2025-03-28 11:24:39 · 37 阅读 · 0 评论 -
OCC+VTK 拾取中判断内外面
获取当前视图的方向,针对实体面和片体面 用户通过视图交互可以获取到想要的面法相(球面、圆柱面、圆锥面)m_cellPicker->GetPickNormal()获取拾取点在面上的法相,会虽OCC模型面变换法相不同。// 点击点的世界坐标。下面是获取参数的方法。原创 2025-03-27 10:34:29 · 27 阅读 · 0 评论 -
OCC判断点和形状位置关系
为了计算三维点在面的位置关系,使用了BRepClass_FaceClassifier与BRepClass3d_SolidClassifier结合的方法Count++;原创 2025-03-25 11:13:24 · 41 阅读 · 0 评论 -
OCC 曲线之间转换
【代码】OCC 曲线之间转换。原创 2025-02-26 17:03:22 · 53 阅读 · 0 评论 -
曲线、曲面偏执相关论文
1、可去除自交且具有可调节光顺的非均匀有理B样条等距曲线生成方法.pdf。对曲线的基础知识理解的不是好,最近刷了几篇论文,对自己提升还是很大的。有需要的同学可以私聊我转发给你,本人已经购买了知网的会员可以免费下载。3、三角网格曲面上测地B样条曲线偏置.pdf。2、样条曲线的参数化变形方法.pdf。原创 2025-02-24 11:23:43 · 31 阅读 · 0 评论 -
OCC 曲线线的偏执
在 Open CASCADE (OCC) 中,偏置曲线(Offset Curve)和曲面求交线涉及多个 API,分别适用于 2D、3D、闭合、非闭合曲线,以及曲面交线的偏置。原创 2025-02-17 15:33:51 · 72 阅读 · 0 评论 -
vtk 拾取3D和2D对象高亮
/3D//2D//*/*/原创 2025-02-11 16:32:28 · 60 阅读 · 0 评论 -
vtkAssembly 装配关系获取
1、添加装配-每次装配添加(AddAssemblyPartNew)同时添加vtkAssemblyPath。通过vtkAssemblyPath::AddNode()可以记录装配关系。在装配中VTK没有给方法获取父项或者模型在世界坐标矩阵的获取。2、通过全局thevtkAssemblyPath获取装配结构。// 添加根 Assembly。3、遍历装配节点信息。原创 2025-02-10 14:05:24 · 179 阅读 · 0 评论 -
OCC+vtk参考Analysis situs
官网:GIT开源源码下载链接:git@gitlab.com:ssv/AnalysisSitus.git。原创 2025-01-16 15:20:46 · 204 阅读 · 0 评论 -
OCC+VTK对象高亮
高亮后移除高亮对象。// 创建高亮Actor// 从 vtkActor 获取 vtkPolyData。// 创建高亮Actor// 从 vtkActor 获取 vtkPolyData。// 创建新的 vtkMapper 和 vtkActor。//删除Actor对象。原创 2025-01-13 19:37:01 · 97 阅读 · 0 评论 -
VTK 鼠标+键盘重构
1、鼠标事件如果有鼠标事件处理等相应的需求,可以重写该事件。//鼠标移动事件//左键按下事件//左键抬起事件//滚轮按下事件//滚轮抬起事件//右键按下事件//右键抬起事件//滚轮向前事件//滚轮向后事件。原创 2025-01-03 16:49:47 · 488 阅读 · 0 评论 -
opencascade/vtk 学习网站
最后三个网站大佬的内容很系统,很详细有三篇。原创 2024-12-27 09:07:59 · 90 阅读 · 0 评论 -
OCC+VTK 错误机制
/ 代码可能抛出 Standard_Failure 异常 TopoDS_Shape shape;OCC获取错误信息Standard_Failure,通过try catch。VTK错误机制vtkErrorCode,只能返回读取文件的错误,通过返回值。// 可能因某些错误抛出异常。原创 2024-11-28 14:34:35 · 107 阅读 · 0 评论 -
OCC对象渲染到VTK-拾取
2、vtkCellPicker和渲染的形状来源没有关系,但是vtkCellPicker只能拾取Prop3Ds ,这边已经颜色OCC对象线和形状渲染为线框的不可以,这个可能和它拾取机制有关系,平面点射线的单元格,我理解的可能线没办法射线到。3、IVtkTools_ShapePicker也是全局的,是OCC的api,但是它是继承了vtkAbstractPropPicker的类,部分功能可以在VTK库去理解。参考中,通过设置渲染器到拾取器,拾取直接通过屏幕点击的点获取我认为是可以的。原创 2024-11-28 10:32:08 · 142 阅读 · 0 评论 -
OCC对象VTK中Filter中的应用
再通过Filter去实现相关过滤,渲染后能否在VTK界面选择到子对象,边和单个面级别,以及模型移动或移除后怎么刷新过滤器。// 将切线方向归一化,作为圆锥轴向量。在OCC中创建的多个对象VTK渲染,通过单元设置标量属性实现不同颜色,不同透明度。++j)//颜色转换。//颜色获取设置到形状添加到形状集合中。//OCC对象形状转换为VTK对象。// 返回 vtkPolyData。// 返回 vtkPolyData。//创建圆柱圆锥添加到装配。// 缩放向量到指定距离。// 获取生成的圆锥。原创 2024-11-26 15:42:13 · 154 阅读 · 0 评论 -
OCC多个形状在VTK中渲染不同颜色方法
疑问:VTK中vtkAppendPolyData和vtkCellArray区别,vtkAppendPolyData只是把几个对象一起显示,vtkCellArray感觉是合并形状,它会把我路径线显示为一个片体,通过点控制整体颜色。// 将切线方向归一化,作为圆锥轴向量。//计算圆弧中点,计算中点在线上的法相,创建方向示意圆锥。// 在中点位置计算圆弧的切线向量。// 获取圆弧的参数范围。//颜色获取设置到形状添加到形状集合中。//OCC对象形状转换为VTK对象。// 多段圆弧,可以不连接轨迹中圆弧路径。原创 2024-11-12 14:29:30 · 193 阅读 · 0 评论 -
OCC 拟合的平面转换为有界平面
if (aSurface.GetType() == GeomAbs_SurfaceOfRevolution || aSurface.GetType() == GeomAbs_BSplineSurface)//回旋曲面//样条曲面。解决方法:通过面拟合转换gp_Pln,然后获取面的内外边,重新修剪生成新的TopoDS_Face。//判断面的类型 转换面类型 获取面的边界 修建获取新的有界面 针对平面。//如果获取的包容盒小于步距,获取一下OBB包容盒判断是否大于2,大于2开始面转换。原创 2024-11-05 16:37:50 · 438 阅读 · 0 评论 -
OCC 点云
OCC的基础知识可能还是要系统学习一下,部分导入的模型面类型是很多面都是GeomAbs_BSplineSurface,最终获取参数都要拟合一下,拟合后的生成的面对象没有大小,比如平面只有矢量(大小没有思路) 圆柱拟合面没有高度(圆柱最后我用的投影的方法获取高度)。我的遗留问题:为什么部分GeomAbs_BSplineSurface类型面通过BRepTools::UVBounds没办法获取大小。本章,拾取的面按步距生成点云,因为没有大小或者没办法通过UV控制,所以尝试通过点云类直接操作。原创 2024-11-02 11:19:25 · 814 阅读 · 0 评论 -
VTK–Picking
返回的信息可能仅仅是简单的x-y-z的球体坐标,也可能包含cell’s ids,point ids,cell 参数化坐标,被拣选的vktProp的实例,装配路径(assembly paths)等。类定义了用于拣选vtkProp实例对象的API,该类提供用于查询并返回pick的类型的简便的方法:GetProp(),GetProp3D(),GetActor(),GetActor2D(), GetVolume(),GetAssembly(), GetPropAssembly()。返回的pcik通常不唯一。原创 2024-10-11 17:31:13 · 127 阅读 · 0 评论 -
针对样条曲面没有Location情况
/计算TopoDS_Face投影在轴线上的最大高度(针对面没有Location情况),同时投影算出起点和终点。我可以设置拟合面的获取的轴线中原点是0,0,0,然后再经过样条曲面投影 轴线的方法获取长度和面底部圆心。// 更新最小和最大投影距离及对应的点。// 从点 P 到轴起点 O 的向量。// 从点 P 到轴起点 O 的向量。// 将点投影到指定方向。// 初始化最小和最大投影距离。// 获取边的两个顶点。// 计算投影点的坐标。// 计算投影点的坐标。// 初始化对应的点。原创 2024-08-14 16:38:29 · 53 阅读 · 0 评论 -
样条曲面拟合成为圆柱面后,获取圆柱高度
轴线的获取OCC中也分两种一种面本身有Location,一种没有Location,库没有进行详细区分。//计算TopoDS_Face投影在轴线上的最大高度(针对面有Location情况)// 更新最小和最大投影距离。// 将点投影到指定方向。// 初始化最小和最大投影距离。// 获取边的离散点。通过面投影在轴线上计算得出。原创 2024-08-14 16:31:19 · 97 阅读 · 0 评论 -
针对OCC中样条曲面拟合为几何面,并获取参数
/拟合出来的面都是在原点,需要先获取一下原始样条曲面的矩阵,把矩阵设置到拟合出来的圆圆柱面中。拟合的面没有高度,部分没有底面圆心。需要在其他里面出来。原创 2024-08-14 16:27:41 · 156 阅读 · 0 评论 -
OCC导入的模型修复
至于能修复什么不是很清楚是否修复成功也不知道,还有复杂的设置修复公差的没有涉及,修复后模型的标识符内存不边很神奇。// 获取修复后的几何形状。原创 2024-07-27 16:44:25 · 150 阅读 · 0 评论 -
vtkCellPicker 中部分点法相异常
业务情况导入STEP,在VTK中渲染,选择面上的点法相异常,增加STEP导入后获取组合体中片体,然后缝合片体。下面方法还是有些问题的,缝合的片体可以转换为实体,但是运行后没有实体显示转换失败,没有好的方法解决。获取的发现反向,造成这样情况的原因可能选择的面是片体(壳),需要把片体或者壳缝合或者转换为实体正常。// 使用 BRepBuilderAPI_Sewing 来缝合壳。//// 如果缝合的形状是有效的壳,使用它来创建实体。// 创建一个壳并将所有面添加到壳中。原创 2024-07-27 16:42:10 · 120 阅读 · 0 评论 -
IVtkTools_ShapePicker 选择器刷新
对象添加是通过VTK 渲染器,渲染器添加到pick中就有了。//删除过滤器中对象。原创 2024-07-27 16:35:13 · 126 阅读 · 0 评论