Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Initial design v2 #3

Draft
wants to merge 29 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
7141b93
clean up PartZero functions a little bit
cserteGT3 Jul 6, 2023
5fa9b71
split geometries and optimization problem definition
cserteGT3 Jul 6, 2023
6ef1b62
rework geometry storage
cserteGT3 Jul 7, 2023
09d823f
fix error message
cserteGT3 Jul 7, 2023
5d5a6fd
get started with tolerance implementation
cserteGT3 Jul 7, 2023
c0c726a
fix bugs in tolerance calculation
cserteGT3 Jul 7, 2023
325be70
get started with testing tolerances
cserteGT3 Jul 7, 2023
50aa346
implement PlaneAxisDistance type tolerance
cserteGT3 Jul 10, 2023
6bb5306
implement AxisAxisDistance tolerance
cserteGT3 Jul 10, 2023
dc722c0
add AxisAxisConcentric tolerance
cserteGT3 Jul 10, 2023
19aa14d
add primitive-freeform axis-axis tolerance
cserteGT3 Jul 12, 2023
e4b447b
allow to override projection axis in AxisAxisDistance
cserteGT3 Jul 13, 2023
cce4065
adjust optimization problem to recent changes
cserteGT3 Jul 13, 2023
3250ffa
Merge branch 'main' into refactor-v2
cserteGT3 Nov 13, 2023
52e819f
remplace PlaneAndNormal with SimplePlane
cserteGT3 Nov 13, 2023
9fdc580
don't export LocalizationFeature
cserteGT3 Nov 13, 2023
999e571
polishing look and fixing typo
cserteGT3 Nov 13, 2023
3e01c28
AxisAxisDistance must have a projectionaxis
cserteGT3 Nov 13, 2023
cdc4435
fix tests after changing SimplePlane and AxisAxisDistance signature
cserteGT3 Nov 13, 2023
4aa351e
doc updates
cserteGT3 Nov 13, 2023
04b30fc
Merge branch 'main' into refactor-v2
cserteGT3 Nov 30, 2023
a5326a4
rename getpartzeroname function
cserteGT3 Jan 19, 2024
54fe9a6
rework geometry storage
cserteGT3 Jan 19, 2024
b1ee3db
rework feature and tolerance storage
cserteGT3 Jan 24, 2024
e445ef6
update Meshes to 0.39
cserteGT3 Jan 25, 2024
f938e0e
update jump model construction
cserteGT3 Jan 25, 2024
5f60c6b
uptade Meshes compat to 0.40
cserteGT3 Jan 28, 2024
0a7c772
update visualization code for current state
cserteGT3 Jan 28, 2024
cba9713
update mesh optimization code
cserteGT3 Jan 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@ Logging = "56ddb016-857b-54e1-b83d-db4d58db5568"
Meshes = "eacbb407-ea5a-433e-ab97-5258b1ca43fa"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc"

[compat]
DataFrames = "1"
JuMP = "1.4"
Meshes = "0.35,0.36"
Meshes = "0.39,0.40"
PrettyTables = "2"
Rotations = "1.5"
julia = "1.9"
Expand Down
12 changes: 6 additions & 6 deletions docs/src/example.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,19 +122,19 @@ Note that a plane normal is given, that is only used later when visualizing the
## Rough geometry definitions

fronthole_r = SimpleHole([82.5, 30, 40], 26)
frontface_r = PlaneAndNormal([82.5, 30, 40], [1, 0, 0])
frontface_r = SimplePlane([82.5, 30, 40], [1, 0, 0])

righthole1_r = SimpleHole([66, 71.5, 55], 6)
righthole2_r = SimpleHole([58, 74.5, 24], 4.905)
righthole3_r = SimpleHole([21.5, 68.5, 40], 8)
rightface1_r = PlaneAndNormal([66, 71.5, 55], [0, 1, 0])
rightface2_r = PlaneAndNormal([58, 74.5, 24], [0, 1, 0])
rightface3_r = PlaneAndNormal([21.5, 68.5, 40], [0, 1, 0])
rightface1_r = SimplePlane([66, 71.5, 55], [0, 1, 0])
rightface2_r = SimplePlane([58, 74.5, 24], [0, 1, 0])
rightface3_r = SimplePlane([21.5, 68.5, 40], [0, 1, 0])

backhole1_r = SimpleHole([-3, 44, 53.9], 6.2)
backhole2_r = SimpleHole([-3, 16.1, 54], 6.25)
backface1_r = PlaneAndNormal([-3, 44, 54], [-1, 0, 0])
backface2_r = PlaneAndNormal([-3, 16, 54], [-1, 0, 0])
backface1_r = SimplePlane([-3, 44, 54], [-1, 0, 0])
backface2_r = SimplePlane([-3, 16, 54], [-1, 0, 0])
```

## Pairing the rough and machined features
Expand Down
12 changes: 6 additions & 6 deletions examples/example.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,19 +30,19 @@ backface2_m = SimplePlane([14, 14, 0])
## Rough geometry definitions

fronthole_r = SimpleHole([82.5, 30, 40], 26)
frontface_r = PlaneAndNormal([82.5, 30, 40], [1, 0, 0])
frontface_r = SimplePlane([82.5, 30, 40], [1, 0, 0])

righthole1_r = SimpleHole([66, 71.5, 55], 6)
righthole2_r = SimpleHole([58, 74.5, 24], 4.905)
righthole3_r = SimpleHole([21.5, 68.5, 40], 8)
rightface1_r = PlaneAndNormal([66, 71.5, 55], [0, 1, 0])
rightface2_r = PlaneAndNormal([58, 74.5, 24], [0, 1, 0])
rightface3_r = PlaneAndNormal([21.5, 68.5, 40], [0, 1, 0])
rightface1_r = SimplePlane([66, 71.5, 55], [0, 1, 0])
rightface2_r = SimplePlane([58, 74.5, 24], [0, 1, 0])
rightface3_r = SimplePlane([21.5, 68.5, 40], [0, 1, 0])

backhole1_r = SimpleHole([-3, 44, 53.9], 6.2)
backhole2_r = SimpleHole([-3, 16.1, 54], 6.25)
backface1_r = PlaneAndNormal([-3, 44, 54], [-1, 0, 0])
backface2_r = PlaneAndNormal([-3, 16, 54], [-1, 0, 0])
backface1_r = SimplePlane([-3, 44, 54], [-1, 0, 0])
backface2_r = SimplePlane([-3, 16, 54], [-1, 0, 0])

## Geometry pairing and feature descriptors

Expand Down
50 changes: 26 additions & 24 deletions src/BlankLocalizationCore.jl
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,40 @@ using JuMP
using DataFrames: DataFrame, names, nrow
using PrettyTables: pretty_table, ft_nonothing, tf_html_minimalist
using Rotations: RotMatrix
import Meshes
using Meshes: SimpleMesh, vertices, boundingbox, connect, Point3, Vec3, Plane, Cylinder,
Rotate, Translate, Disk
Rotate, Translate, Disk, top, radius, normal, boundingbox
using Logging: @warn
using LinearAlgebra: norm, cross, normalize, normalize!
using Statistics: mean
using LinearAlgebra: norm, dot, cross, inv, normalize, normalize!
using Printf: @sprintf

export PartZero,
printpartzeropositions

export AbstractHoleGeometry,
AbstractPlaneGeometry,
GeometryStyle,
IsPrimitive,
IsFreeForm,
surfacepoints,
filteredsurfacepoints,
featurepoint,
featureradius,
visualizationgeometry,
export RepresentationStyle,
FeatureStyle,
AbstractLocalizationGeometry,
SimpleHole,
SimplePlane,
PlaneAndNormal,
MeshHole,
SimplePlane,
MeshPlane,
FeatureDescriptor,
LocalizationFeature,
HoleLocalizationFeature,
PlaneLocalizationFeature,
localizationfeature,
OptimizationResult,
Tolerance,
featurepoint,
surfacepoints,
filteredsurfacepoints,
featureradius,
RoughFeature,
MachinedFeature,
LocalizationFeature

export PositionTolerance,
ConcentrictyTolerance,
ProjectedDimensionTolerance,
addtolerance2model!

export OptimizationResult,
MultiOperationProblem,
setparameters!,
isoptimum
setparameters!

export createjumpmodel,
setjumpresult!,
Expand Down Expand Up @@ -66,8 +66,10 @@ HV(v) = vcat(v, 1)

include("partzeros.jl")
include("geometries.jl")
include("tolerances.jl")
include("optimizationproblem.jl")
include("optimization.jl")
include("resultevaluation.jl")
#include("resultevaluation.jl")
include("visualization.jl")

end
Loading
Loading