mirror of
https://gitlab.com/MisterBiggs/stl-process.git
synced 2025-08-03 12:01:33 +00:00
added function to find desired scale
This commit is contained in:
@@ -24,10 +24,21 @@ git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597"
|
|||||||
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
|
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
|
||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
|
|
||||||
|
[[deps.CommonSolve]]
|
||||||
|
git-tree-sha1 = "68a0743f578349ada8bc911a5cbd5a2ef6ed6d1f"
|
||||||
|
uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
|
||||||
|
version = "0.2.0"
|
||||||
|
|
||||||
[[deps.CompilerSupportLibraries_jll]]
|
[[deps.CompilerSupportLibraries_jll]]
|
||||||
deps = ["Artifacts", "Libdl"]
|
deps = ["Artifacts", "Libdl"]
|
||||||
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
|
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
|
||||||
|
|
||||||
|
[[deps.ConstructionBase]]
|
||||||
|
deps = ["LinearAlgebra"]
|
||||||
|
git-tree-sha1 = "f74e9d5388b8620b4cee35d4c5a618dd4dc547f4"
|
||||||
|
uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
|
||||||
|
version = "1.3.0"
|
||||||
|
|
||||||
[[deps.DataAPI]]
|
[[deps.DataAPI]]
|
||||||
git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8"
|
git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8"
|
||||||
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
|
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
|
||||||
@@ -64,6 +75,10 @@ git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc"
|
|||||||
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
|
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
|
||||||
version = "0.8.4"
|
version = "0.8.4"
|
||||||
|
|
||||||
|
[[deps.Future]]
|
||||||
|
deps = ["Random"]
|
||||||
|
uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
|
||||||
|
|
||||||
[[deps.GeometryBasics]]
|
[[deps.GeometryBasics]]
|
||||||
deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"]
|
deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"]
|
||||||
git-tree-sha1 = "83ea630384a13fc4f002b77690bc0afeb4255ac9"
|
git-tree-sha1 = "83ea630384a13fc4f002b77690bc0afeb4255ac9"
|
||||||
@@ -116,6 +131,12 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
|
|||||||
[[deps.Logging]]
|
[[deps.Logging]]
|
||||||
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
|
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
|
||||||
|
|
||||||
|
[[deps.MacroTools]]
|
||||||
|
deps = ["Markdown", "Random"]
|
||||||
|
git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf"
|
||||||
|
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
|
||||||
|
version = "0.5.9"
|
||||||
|
|
||||||
[[deps.Markdown]]
|
[[deps.Markdown]]
|
||||||
deps = ["Base64"]
|
deps = ["Base64"]
|
||||||
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
|
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
|
||||||
@@ -173,12 +194,24 @@ git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7"
|
|||||||
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
|
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
|
||||||
version = "1.3.0"
|
version = "1.3.0"
|
||||||
|
|
||||||
|
[[deps.Roots]]
|
||||||
|
deps = ["CommonSolve", "Printf", "Setfield"]
|
||||||
|
git-tree-sha1 = "6085b8ac184add45b586ed8d74468310948dcfe8"
|
||||||
|
uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
|
||||||
|
version = "1.4.0"
|
||||||
|
|
||||||
[[deps.SHA]]
|
[[deps.SHA]]
|
||||||
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
|
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
|
||||||
|
|
||||||
[[deps.Serialization]]
|
[[deps.Serialization]]
|
||||||
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
|
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
|
||||||
|
|
||||||
|
[[deps.Setfield]]
|
||||||
|
deps = ["ConstructionBase", "Future", "MacroTools", "Requires"]
|
||||||
|
git-tree-sha1 = "38d88503f695eb0301479bc9b0d4320b378bafe5"
|
||||||
|
uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46"
|
||||||
|
version = "0.8.2"
|
||||||
|
|
||||||
[[deps.Sockets]]
|
[[deps.Sockets]]
|
||||||
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
|
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
|
||||||
|
|
||||||
|
@@ -6,3 +6,4 @@ version = "0.1.0"
|
|||||||
[deps]
|
[deps]
|
||||||
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
|
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
|
||||||
MeshIO = "7269a6da-0436-5bbc-96c2-40638cbb6118"
|
MeshIO = "7269a6da-0436-5bbc-96c2-40638cbb6118"
|
||||||
|
Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
|
||||||
|
@@ -2,6 +2,7 @@ module stlProcess
|
|||||||
|
|
||||||
using MeshIO
|
using MeshIO
|
||||||
using FileIO
|
using FileIO
|
||||||
|
using Roots
|
||||||
|
|
||||||
struct Properties
|
struct Properties
|
||||||
volume::Float64
|
volume::Float64
|
||||||
@@ -104,6 +105,10 @@ function fast_volume(triangles; scale=1)
|
|||||||
return volume
|
return volume
|
||||||
end
|
end
|
||||||
|
|
||||||
export get_mass_properties, fast_volume
|
function find_scale(trianges; desired_volume=1)
|
||||||
|
return find_zero(scale -> fast_volume(trianges; scale=scale) - desired_volume, 2.0)
|
||||||
|
end
|
||||||
|
|
||||||
|
export get_mass_properties, fast_volume, find_scale
|
||||||
|
|
||||||
end # module
|
end # module
|
||||||
|
@@ -9,7 +9,7 @@ using LinearAlgebra
|
|||||||
|
|
||||||
function _check_volume(triangles; scale=1)
|
function _check_volume(triangles; scale=1)
|
||||||
"""
|
"""
|
||||||
Slow algorithm just used to test the other algorithms
|
Slow, inaccurate algorithm just used to test the other algorithms
|
||||||
Reference:
|
Reference:
|
||||||
https://people.eecs.berkeley.edu/~wkahan/VtetLang.pdf
|
https://people.eecs.berkeley.edu/~wkahan/VtetLang.pdf
|
||||||
"""
|
"""
|
||||||
@@ -75,4 +75,7 @@ end
|
|||||||
@test props.volume ≈ volume rtol = 0.01
|
@test props.volume ≈ volume rtol = 0.01
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@testset "Find Scale" begin
|
||||||
|
@test fast_volume(stl; scale=find_scale(stl)) == 1.0
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
Reference in New Issue
Block a user