3D ploting stl or cad file from fusion360 to matlab

30 Ansichten (letzte 30 Tage)
Eyal Sasson
Eyal Sasson am 2 Feb. 2023
Bearbeitet: Matteo Verardo am 10 Aug. 2023
Hello all, i want to import STL or CAD file that i created using fusion360.
eventually I want to 3D plot on a figure the object and make it rotate according to euler angles or quaternions
I couldnt find example or answer in the form that i could implement and that work.
I'll be greatful for any help :)
  1 Kommentar
Matteo Verardo
Matteo Verardo am 10 Aug. 2023
Bearbeitet: Matteo Verardo am 10 Aug. 2023
Hello, I have all the functions that you need. See attached video.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Aritra
Aritra am 3 Feb. 2023
Hi, 
As per my understanding you aretrying to import a STL/CAD file in MATLAB and make the 3D model rotate as per Euler angles/quaternions.
To import a STL file in MATLAB you can make use of the importGeometry(geometryfile) function. The importGeometry function helps to import geometry from STL/STEP file. You can also refer to the below documentation to learn more about how to STL File Import.
Next to rotate a 3D figure you can make use of the rotate(g,theta) function. The rotate function rotates the geometry g about the z axis by an angle theta. Similarly, you can use the quatrotate(q,r) function to rotate a initial vector r by a quaternion q.
The below code snippet shows how to import a STL file in MATLAB and rotate it by an angle of 45 degrees using the rotate function.
figure
gm = importGeometry("Torus.stl");
pdegplot(gm)
rotate(gm , 45);
figure
pdegplot(gm)
For more details you can refer to the below MATLAB documentation on importGeometry and rotate function:
  1 Kommentar
Eyal Sasson
Eyal Sasson am 3 Feb. 2023
Bearbeitet: Eyal Sasson am 3 Feb. 2023
thanks
when I try the first part of the code with my stl file:
figure
gm = importGeometry("mystl.stl");
pdegplot(gm)
I get this error:
Error using pde.DiscreteGeometry
Failed to create geometry. The stl file is invalid, more than two facets share an edge.
Error in importGeometry (line 53)
gm = pde.DiscreteGeometry(geofilename);
Error in myproject (line 12)
gm = importGeometry("mystl.stl");
The obejct I created the stl from is a component which have multiple bodies that is not connected to each other, but I want to to be plotted the whole thing as one rigid body. any ideas how to make the function treat it as one rigid body?

Melden Sie sich an, um zu kommentieren.

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by