Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
School_project
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
encinass1u
School_project
Merge requests
!2
Update README.md
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Update README.md
Student
into
main
Overview
0
Commits
51
Pipelines
0
Changes
13
Merged
encinass1u
requested to merge
Student
into
main
3 years ago
Overview
0
Commits
51
Pipelines
0
Changes
1
Expand
0
0
Merge request reports
Compare
version 13
version 50
4e439887
3 years ago
version 49
f8eb0d30
3 years ago
version 48
be76dae2
3 years ago
version 47
cfa1df79
3 years ago
version 46
c91c6128
3 years ago
version 45
b7f262bb
3 years ago
version 44
99aa8701
3 years ago
version 43
1cbc1375
3 years ago
version 42
9affb69b
3 years ago
version 41
f38559d0
3 years ago
version 40
033f07ce
3 years ago
version 39
9d964540
3 years ago
version 38
fb1c20cd
3 years ago
version 37
883473c8
3 years ago
version 36
29f675a4
3 years ago
version 35
60055ffb
3 years ago
version 34
40f1d43b
3 years ago
version 33
885a50ec
3 years ago
version 32
20e04f41
3 years ago
version 31
4e645554
3 years ago
version 30
fe6bf2a3
3 years ago
version 29
31176889
3 years ago
version 28
1c2f9726
3 years ago
version 27
de352d84
3 years ago
version 26
b7e485a2
3 years ago
version 25
86130452
3 years ago
version 24
36bf28e6
3 years ago
version 23
fa2c63bb
3 years ago
version 22
3dee2739
3 years ago
version 21
bb7b3916
3 years ago
version 20
5b89f56e
3 years ago
version 19
0506a695
3 years ago
version 18
9466c176
3 years ago
version 17
7106418c
3 years ago
version 16
3a248314
3 years ago
version 15
3d521aa3
3 years ago
version 14
a70877cb
3 years ago
version 13
7f14b45b
3 years ago
version 12
0881545f
3 years ago
version 11
37a53d0e
3 years ago
version 10
832b94b2
3 years ago
version 9
fb66824d
3 years ago
version 8
e6967660
3 years ago
version 7
6240ef1d
3 years ago
version 6
344d4233
3 years ago
version 5
b934c9bc
3 years ago
version 4
59cf8b99
3 years ago
version 3
c1cf3365
3 years ago
version 2
5a28f370
3 years ago
version 1
84aac234
3 years ago
main (base)
and
version 14
latest version
7c6740f9
51 commits,
3 years ago
version 50
4e439887
50 commits,
3 years ago
version 49
f8eb0d30
49 commits,
3 years ago
version 48
be76dae2
48 commits,
3 years ago
version 47
cfa1df79
47 commits,
3 years ago
version 46
c91c6128
46 commits,
3 years ago
version 45
b7f262bb
45 commits,
3 years ago
version 44
99aa8701
44 commits,
3 years ago
version 43
1cbc1375
43 commits,
3 years ago
version 42
9affb69b
42 commits,
3 years ago
version 41
f38559d0
41 commits,
3 years ago
version 40
033f07ce
40 commits,
3 years ago
version 39
9d964540
39 commits,
3 years ago
version 38
fb1c20cd
38 commits,
3 years ago
version 37
883473c8
37 commits,
3 years ago
version 36
29f675a4
36 commits,
3 years ago
version 35
60055ffb
35 commits,
3 years ago
version 34
40f1d43b
34 commits,
3 years ago
version 33
885a50ec
33 commits,
3 years ago
version 32
20e04f41
32 commits,
3 years ago
version 31
4e645554
31 commits,
3 years ago
version 30
fe6bf2a3
30 commits,
3 years ago
version 29
31176889
29 commits,
3 years ago
version 28
1c2f9726
28 commits,
3 years ago
version 27
de352d84
27 commits,
3 years ago
version 26
b7e485a2
26 commits,
3 years ago
version 25
86130452
25 commits,
3 years ago
version 24
36bf28e6
24 commits,
3 years ago
version 23
fa2c63bb
23 commits,
3 years ago
version 22
3dee2739
22 commits,
3 years ago
version 21
bb7b3916
21 commits,
3 years ago
version 20
5b89f56e
20 commits,
3 years ago
version 19
0506a695
19 commits,
3 years ago
version 18
9466c176
18 commits,
3 years ago
version 17
7106418c
17 commits,
3 years ago
version 16
3a248314
16 commits,
3 years ago
version 15
3d521aa3
15 commits,
3 years ago
version 14
a70877cb
14 commits,
3 years ago
version 13
7f14b45b
13 commits,
3 years ago
version 12
0881545f
12 commits,
3 years ago
version 11
37a53d0e
11 commits,
3 years ago
version 10
832b94b2
10 commits,
3 years ago
version 9
fb66824d
9 commits,
3 years ago
version 8
e6967660
8 commits,
3 years ago
version 7
6240ef1d
7 commits,
3 years ago
version 6
344d4233
6 commits,
3 years ago
version 5
b934c9bc
5 commits,
3 years ago
version 4
59cf8b99
4 commits,
3 years ago
version 3
c1cf3365
3 commits,
3 years ago
version 2
5a28f370
2 commits,
3 years ago
version 1
84aac234
1 commit,
3 years ago
Show latest version
1 file
+
162
−
0
Side-by-side
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
stl2vtk.py
0 → 100644
+
162
−
0
Options
# Copyright University of Lorraine - LEM3
# Contributor(s) :
# Adrien Baldit
# Contact: adrien.baldit@univ-lorraine.fr
#
# This script is a computer program whose purpose is to produce
# biomechanical and bioengineering data processing.
#
# This script is governed under French law and abiding by the rules
# of distribution of free script. You can use, modify and/ or
# redistribute the script under the terms of honor
#
# As a counterpart to the access to the source code and rights to copy,
# modify and redistribute granted by the honor, users are provided only
# with a limited warranty and the script's author, the holder of the
# economic rights, and the successive licensors have only limited
# liability.
#
# In this respect, the user's attention is drawn to the risks associated
# with loading, using, modifying and/or developing or reproducing the
# script by the user in light of its specific status of free software,
# that may mean that it is complicated to manipulate, and that also
# therefore means that it is reserved for developers and experienced
# professionals having in-depth computer knowledge. Users are therefore
# encouraged to load and test the script's suitability as regards their
# requirements in conditions enabling the security of their systems and/or
# data to be ensured and, more generally, to use and operate it in the
# same conditions as regards security.
#
# The fact that you are presently reading this means that you have
# had knowledge of the rules and accepted them.
#!/usr/bin/python
# -*- coding:utf8 -*-
# pyvista library import
import
pyvista
as
pv
# operating system import
import
os
from
scipy
import
misc
from
mpl_toolkits
import
mplot3d
from
matplotlib
import
pyplot
from
matplotlib
import
pyplot
as
plt
import
pyvista
# ~ from bio2mslib.inout.inout import Read_data as RD
cell_center
=
False
file_parameters
=
False
elevation
=
False
# intercative plotting
# ~ pl.ion()
# Test folder list
test_list
=
[
"
SMAT
"
,
\
]
# file path
file_path
=
os
.
getcwd
()
+
os
.
sep
+
"
data
"
# file path
result_path
=
os
.
getcwd
()
+
os
.
sep
+
"
results
"
if
os
.
path
.
isdir
(
result_path
)
==
False
:
os
.
mkdir
(
result_path
)
name
=
'
Surface
'
# post processing loop
for
i
,
m
in
enumerate
(
test_list
)
:
# TRA filename
filename
=
m
+
"
.stl
"
tata
=
pv
.
read
(
file_path
+
os
.
sep
+
filename
)
#This command provides an array, we decide the parameters
tata
[
'
value
'
]
=
tata
.
points
[:,
1
]
#Value give us the coordninates of eqch point
# tata['value'] = tata.points[:,2]
tata
.
plot
(
cpos
=
'
xy
'
,
cmap
=
'
plasma
'
,
pbr
=
True
,
metallic
=
1.0
,
roughness
=
0.3
,
zoom
=
0.7
,
text
=
'
SMATed surface
'
,
return_cpos
=
False
,
hidden_line_removal
=
True
,
anti_aliasing
=
True
)
# tata.plot_boundaries(line_width = 5)
tata_filtered
=
tata
.
plot_curvature
(
curv_type
=
'
gaussian
'
,
smooth_shading
=
True
,
clim
=
[
0
,
1
])
tata
.
save
(
'
tata_filtered.ply
'
)
Gaus
=
tata
.
get_array
(
'
Gaussian Curvature
'
)
print
(
Gaus
)
#Locate the arrays inside the PolyData
print
(
tata
.
array_names
)
#printing the array founded and saving it as a tuple in a variable
choc
=
tata
.
get_array
(
'
Normals
'
)
tata
.
save
(
'
tata.vtk
'
)
# print(choc)
#Data range, min,max given
# tata_r = tata.get_data_range()
#Edges showing
# tata.plot_boundaries(line_width=5)
# choc= choc.plot_curvature(curv_type='gaussian', smooth_shading=True,
# clim=[0, 1])
#Make a plane figure with edges planed, erased the edges due to the high aglomeration
# projected = tata.project_points_to_plane()
# projected.plot(show_edges=False, line_width=0.3)
if
file_parameters
==
True
:
cells
=
tata
.
n_cells
points
=
tata
.
n_points
bounds
=
tata
.
bounds
arrays
=
tata
.
n_arrays
print
(
tata
.
n_cells
)
print
(
tata
.
n_points
)
print
(
tata
.
bounds
)
print
(
tata
.
n_arrays
)
print
(
tata
.
area
)
if
cell_center
==
True
:
mesh
=
tata
mesh
.
point_data
.
clear
()
centers
=
mesh
.
cell_centers
()
pl
=
pyvista
.
Plotter
()
actor
=
pl
.
add_mesh
(
mesh
,
show_edges
=
False
)
actor
=
pl
.
add_points
(
centers
,
render_points_as_spheres
=
True
,
color
=
'
red
'
,
point_size
=
10
)
pl
.
show
()
if
elevation
==
True
:
tata_elv
=
tata
.
elevation
()
print
(
tata_elv
)
tata_elv
.
plot
(
smooth_shading
=
True
)
# Calculate de distance of entitites from a plane in the middle, doesnt stays in the middle the plane
# plane = pv.Plane()
# _ = tata.compute_implicit_distance(plane, inplace=True)
# dist = tata['implicit_distance']
# type(dist)
# pl = pv.Plotter()
# _ = pl.add_mesh(tata, scalars='implicit_distance', cmap='bwr')
# _ = pl.add_mesh(plane, color='w', style='wireframe')
# pl.show()
# merged = tata.merge(plane)
# merged.plot(style='wireframe',color='tan')
# ow = tata.overwrite(plane)
# merged.plot(style='wireframe',color='tan')
# aso= tata.get_array_association('Normals')
# print(aso)
#Interpolation of our data in a mesh
# pdata = pyvista.PolyData(tata)
# plane = pyvista.Plane()
# plane.clear_data()
# plane = plane.interpolate(pdata, sharpness=3)
# pl = pyvista.Plotter()
# _ = pl.add_mesh(pdata, render_points_as_spheres=True, point_size=50)
# _ = pl.add_mesh(plane, style='wireframe', line_width=5)
# pl.show()
# Normal ploting
# tata.plot_normals(mag=0.1,faces=False, show_edges=False)
\ No newline at end of file
Loading