首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >opencascad(OCCT)本身是否支持像CAD助手那样的单元拾取?

opencascad(OCCT)本身是否支持像CAD助手那样的单元拾取?
EN

Stack Overflow用户
提问于 2022-11-18 05:39:01
回答 1查看 36关注 0票数 0

正如我们所看到的:

在基于OCCT的CAD助手中,用户可以通过鼠标在单个单元上获取它的详细信息并突出显示它,问题是?

代码语言:javascript
运行
复制
1,Does OCCT itself support this operation?

2,If yes,any example or tips to pick a cell and retrieve it's information (such as cell id,cell color)?

-更新

EN

回答 1

Stack Overflow用户

发布于 2022-11-19 11:08:48

我们试着收集一些答案。

首先,您不会在OCCT中发现与屏幕截图中的形状完全相同的演示文稿。这种自定义表示很可能是基于AIS_ColoredShape的,上面有额外的功能。

OCCT有一个用于显示网格结构(如MeshVS_Mesh )的专用类。它支持从框中选择网格元素,尽管您必须实现一个特殊的数据源接口来将网格数据提供给它。

至于像AIS_Shape/AIS_ColoredShape这样的标准形状演示文稿,它们没有实现对单个三角形的突出显示。但是,您可以通过标准的选择机制(如Select3D_SensitiveTriangulation::LastDetectedTriangleIndex() )检索关于最后检测到的三角形的信息。您可以找到代码示例,从vstate命令src/ViewerTest/ViewerTest.cxx的源代码中检索这些信息。以下Tcl脚本:

代码语言:javascript
运行
复制
pload MODELING VISUALIZATION
box b 1 2 3
vinit View1
vdisplay -dispMode 1 b
vfit
vmoveto 250 200
vstate -entities

产生以下输出:

代码语言:javascript
运行
复制
Detected entities:
  b  Depth: 1.34919 Distance: 1.46373 Point: 1 1.08384 1.74698 Normal: 1 0 0 (Select3D_SensitiveTriangulation)
     Detected Shape: TopoDS_TSolid
     Detected Triangle: 2

下列条款可能有助于学习如何使用自己的特性(如自定义动态突出显示)实现AIS对象子类。在自定义对象中,您可以从检测到的Select3D_SensitiveTriangulation中检索三角形信息,并在鼠标移动的动态高亮对象上将其绘制到查看器中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74485345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档