How to get selected faces in a plotted 3D geometry

10 次查看(过去 30 天)
Hello everyone.
I am coding a finite element method solver for my final project in engineering. I want to be able to select faces within a 3D geometry plotted to the user, more specifially in the mesh or maybe the originial geometry really. Think of the attached figure, but without the internal nodes being displayed, having patches filling the surfaces. The attached figure is still a preliminary figure for what's being done. I will still do some code to leave only the boundary nodes visible and yada yada.
Anyways, what would be enough for me is to be able to click on a patch at the figure window and have its id (or something equivalent) returned to a variable so I can keep track of the boundaries the user is selecting. Is there any method available to know which patch surface (or any other equivalent 3D surface) the user has selected? The same applies to boundary lines and points, but let's focus first on surfaces.
Thank you
Capturar.PNG
  2 个评论
Xiwen
Xiwen 2024-4-8
Hi, have you figure out this problem yet? I am looking for a solution. Thanks
Alexandre Piccini
Alexandre Piccini 2024-4-12
@Xiwen You essentially have to use callbacks on the patch objects you create, which are functions you will embed into them. You can assign a behaviour that will be triggered by clicking on the patch (ButtonDownFcn), for instance. MATLAB being MATLAB, however, means you shouldn't get too excited adding a lot of functionality like that before things become really slow from the UI/UX perspective.
Do a Ctrl+F for "callback" on the page below:
https://www.mathworks.com/help/matlab/ref/matlab.graphics.primitive.patch-properties.html

请先登录,再进行评论。

回答(1 个)

darova
darova 2019-6-7
Try to change
Untitled.png

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by