How to get selected faces in a plotted 3D geometry

5 visualizzazioni (ultimi 30 giorni)
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 Commenti
Xiwen
Xiwen il 8 Apr 2024
Hi, have you figure out this problem yet? I am looking for a solution. Thanks
Alexandre Piccini
Alexandre Piccini il 12 Apr 2024
@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

Accedi per commentare.

Risposte (1)

darova
darova il 7 Giu 2019
Try to change
Untitled.png

Community Treasure Hunt

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

Start Hunting!

Translated by