1.4 ΕργαστήριοWorkbench
Μη γραμμική ανελαστική δυναμική ισογεωμετρική ανάλυση με NURBS και T-SplinesNonlinear inelastic dynamic isogeometric analysis with NURBS and T-Splines
Το 1.3 λύνει K u = f: ένας πίνακας, μία λύση, ένας χρόνος που δεν υπάρχει. Εδώ φεύγουν και τα τρία. Μη γραμμική, γιατί η παραμόρφωση μετριέται με Green–Lagrange και μια στροφή δεν γεννά τάση. Ανελαστική, γιατί πάνω από το σy το υλικό δεν γυρίζει πίσω — και ό,τι μένει το γράφει ο πίνακας. Δυναμική, γιατί το φορτίο έχει ιστορία και ο φορέας μάζα: η απόκριση δεν είναι ένα διάνυσμα, είναι μερικές εκατοντάδες. 1.3 solves K u = f: one matrix, one solution, one time that does not exist. Here all three go. Nonlinear, because strain is measured with Green–Lagrange and a rotation creates no stress. Inelastic, because above σy the material does not come back — and what stays behind is written in the table. Dynamic, because the load has a history and the structure has mass: the response is not one vector, it is a few hundred.
Πρώτα ο φορέαςThe structure first
Ίδιο trivariate NURBS με το 1.3: n·m·l σημεία ελέγχου, τέσσερα πεδία το καθένα, και ο όγκος που βγαίνει από αυτά. Ένα πράγμα λείπει — τα γραμμένα διανύσματα κόμβων. Δεν λείπει από αμέλεια: ο επιλύτης από κάτω είναι ρητός, δηλαδή πληρώνει το πλέγμα σε βήματα χρόνου και όχι σε αγνώστους. Τρεις εσωτερικοί κόμβοι παραπάνω δεν προσθέτουν «λίγους αγνώστους»: κόβουν το Δt στη μέση και διπλασιάζουν τον χρόνο. Γι' αυτό το πλέγμα εδώ διαλέγεται — βαθμός και στοιχεία ανά άξονα — και τα δεσμευμένα ομοιόμορφα διανύσματα τα γράφει ο κώδικας. The same trivariate NURBS as 1.3: n·m·l control points, four fields each, and the volume they make. One thing is missing — the written knot vectors. Not out of carelessness: the solver below is explicit, which means it pays for the mesh in time steps, not in unknowns. Three more interior knots do not add «a few unknowns»: they halve Δt and double the running time. So here the mesh is chosen — degree and elements per axis — and the clamped uniform knot vectors are written by the code.
V(ξ,η,ζ) = Σᵢ Σⱼ Σₖ Rᵢⱼₖ(ξ,η,ζ) · Pᵢⱼₖ
V(ξ,η,ζ) · ο φορέας που θα λυθεί στον χρόνοthe structure that will be solved in time
Σύρε για περιστροφήDrag to rotate
Έτοιμος φορέαςReady-made structure
Βαθμός p = q = rDegree p = q = r 2
Στοιχεία ξ × η × ζElements ξ × η × ζ 3 × 1 × 1 = 3
Το στερεόThe solid
Το πλέγμαThe lattice
Γράψε σε όποιο κελί θέλεις: ο φορέας ακολουθεί καθώς γράφεις. Ο πρόβολος είναι η προεπιλογή και όχι η πλάκα, για έναν λόγο: η πλαστική άρθρωση θέλει να φαίνεται. Η πλάκα είναι ίδια με του 1.3 — ίδιος φορέας, ίδιος πίνακας, μια γραμμική στατική δίπλα σε μια μη γραμμική δυναμική. Κάθε αλλαγή βαθμού, στοιχείων ή φορέα ξαναγράφει τον πίνακα από την αρχή.Type into any cell: the structure follows as you type. The cantilever is the default rather than the plate, for one reason: a plastic hinge deserves to be seen. The plate is the same one as in 1.3 — same structure, same table, a linear static analysis next to a nonlinear dynamic one. Any change of degree, elements or structure rewrites the table from scratch.
Ο πίνακας θα ήθελε — γραμμές. Πάνω από 512 δεν γράφεται — τόσα πεδία δεν διαβάζονται. Η γεωμετρία συνεχίζει κανονικά με τον έτοιμο φορέα· διάλεξε αραιότερο πλέγμα και ο πίνακας επιστρέφει. The table would want — rows. Over 512 it is not written — that many fields cannot be read. The geometry carries on with the ready-made structure; choose a coarser mesh and the table comes back.
| Pijk | X | Y | Z | w |
|---|
- ΣημείαPoints
- 5 × 3 × 3
- Σημεία GaussGauss points
- 81
Και τώρα η λύση, στον χρόνοAnd now the solution, in time
Τρία πράγματα προστίθενται σε σχέση με το 1.3, και κανένα δεν είναι ένα πεδίο παραπάνω. Η πυκνότητα ρ: χωρίς μάζα δεν υπάρχει δυναμική, και η μάζα είναι που δίνει την ιδιοπερίοδο, δηλαδή τη μονάδα του χρόνου όλου του πειράματος. Το όριο διαρροής σy και η κράτυνση H: πάνω από το σy το υλικό παύει να γυρίζει πίσω, και αυτό είναι η μόνιμη παραμόρφωση. Και η ιστορία του φορτίου: το φορτίο δεν είναι πια αριθμός, είναι συνάρτηση του χρόνου. Three things are added compared with 1.3, and none of them is just one more field. The density ρ: without mass there is no dynamics, and it is the mass that gives the natural period, that is, the unit of time of the whole experiment. The yield stress σy and the hardening H: above σy the material stops coming back, and that is the permanent deformation. And the load history: the load is no longer a number, it is a function of time.
F = I + ∇u , E = ½(FᵀF − I)
‖dev S‖ ≤ √(2/3)·(σₖ + H·α)
M ü + C &udot; + fint(u) = λ(t)·fext
Ο επιλύτης είναι ρητός — κεντρικές διαφορές με συγκεντρωμένη μάζα. Δεν λύνει κανένα σύστημα: μία διαίρεση με τη διαγώνιο ανά βήμα. Πληρώνει με το βήμα, και το βήμα το ορίζει η μεγαλύτερη ιδιοσυχνότητα του πλέγματος, όχι η γνώμη μας: Δt = 0.9 · 2/ωmax. Και τα δύο, το ωmax και η ιδιοπερίοδος T1, τα γράφουν οι μετρητές. The solver is explicit — central differences with a lumped mass. It solves no system at all: one division by the diagonal per step. It pays with the step, and the step is set by the highest eigenfrequency of the mesh, not by our opinion: Δt = 0.9 · 2/ωmax. Both of them, ωmax and the natural period T1, are written by the readouts.
Μέτρο ελαστικότηταςYoung’s modulus
Λόγος PoissonPoisson’s ratio
ΠυκνότηταDensity
ΑπόσβεσηDamping
Όριο διαρροής σyYield stress σy
Κράτυνση HHardening H
Πίεση στην έδρα ζ = 1Pressure on the ζ = 1 face
Διεύθυνση φορτίουLoad direction
Ιστορία του φορτίουLoad history
Συνολικός χρόνοςTotal time
Διάρκεια tdDuration td
Δεσμεύσεις των εδρώνFace constraints
ξ = 0 · P1,j,k
ξ = 1 · Pn,j,k
η = 0 · Pi,1,k
η = 1 · Pi,m,k
ζ = 0 · Pi,j,1
ζ = 1 · Pi,j,l
Το βηματικό φορτίο επιβάλλεται ακαριαία και μένει: είναι εκείνο που δίνει τον κλασικό συντελεστή δυναμικής μεγέθυνσης 2 σε ελαστικό φορέα, και ο μετρητής τον γράφει. Ο παλμός φεύγει μετά από td — ό,τι μένει είναι ελεύθερη ταλάντωση γύρω από τη μόνιμη θέση, αν έχει διαρρεύσει κάτι. Στο αρμονικό το td είναι η περίοδος της διέγερσης: γράψε την ίση με το T1 των μετρητών και δες συντονισμό.The step load is applied instantly and stays: it is the one that gives the classic dynamic amplification factor of 2 on an elastic structure, and the readout writes it. The pulse is gone after td — what remains is free vibration about the permanent position, if anything yielded. In the harmonic case td is the period of the excitation: set it equal to the T1 in the readouts and watch resonance.
Πάνω από 512 σημεία ελέγχου ο επιλύτης δεν τρέχει — το ίδιο φράγμα με τον πίνακα από πάνω. Διάλεξε αραιότερο πλέγμα ή μικρότερο βαθμό.Above 512 control points the solver does not run — the same limit as the table above. Choose a coarser mesh or a lower degree. Και οι έξι έδρες είναι ελεύθερες: ο φορέας δεν στηρίζεται πουθενά. Σε δυναμική ανάλυση αυτό δεν είναι καν «άπειρη μετατόπιση» — είναι ένα σώμα που επιταχύνεται και φεύγει. Δώσε στήριξη ή πάκτωση σε τουλάχιστον μία έδρα.All six faces are free: the structure rests on nothing. In a dynamic analysis that is not even «infinite displacement» — it is a body that accelerates and leaves. Give at least one face a pinned or clamped support. Το μητρώο δεν βγήκε θετικά ορισμένο, οπότε η ιδιοπερίοδος T1 είναι άπειρη: το σώμα μπορεί ακόμη να κινηθεί χωρίς να παραμορφωθεί. Μία στηριγμένη έδρα δεν φτάνει — κρατάει το κατακόρυφο και αφήνει την ολίσθηση. Στήριξε απέναντι έδρες, ή δώσε πάκτωση.The matrix did not come out positive definite, so the natural period T1 is infinite: the body can still move without deforming. One pinned face is not enough — it holds the vertical and leaves sliding free. Pin opposite faces, or clamp one. Δεσμεύτηκαν όλα τα σημεία, οπότε δεν έμεινε τίποτα να κινηθεί. Σε στερεό αυτό γίνεται εύκολα: μια πάκτωση πιάνει ολόκληρη έδρα. Διάλεξε πυκνότερο πλέγμα — ή στήριξη αντί για πάκτωση.Every point ended up constrained, so nothing was left to move. In a solid that happens easily: one clamp takes a whole face. Choose a finer mesh — or use pinned instead of clamped. Το πλέγμα δεν ορίζει στερεό με όγκο — τα σημεία είναι συνεπίπεδα ή ταυτισμένα σε έναν άξονα, οπότε δεν υπάρχει ούτε μάζα να επιταχυνθεί. Γράψε γεωμετρία που ανοίγει και στους τρεις άξονες.The lattice does not define a solid with any volume — the points are coplanar or coincident along one axis, so there is not even a mass to accelerate. Write geometry that opens up on all three axes. Η λύση απέκλινε: οι μετατοπίσεις ξέφυγαν πέρα από κάθε λογικό μέγεθος πριν τελειώσει ο χρόνος. Το Δt μετριέται μία φορά, πάνω στην αρχική γεωμετρία — και όταν οι παραμορφώσεις φτάσουν σε τάξη μεγέθους 1, ο φορέας γίνεται πολύ πιο δύσκαμπτος από όσο ήταν, οπότε το βήμα που ήταν ευσταθές παύει να είναι. Πρακτικά: πολύ μεγάλο φορτίο για το E ή για το σy. Μίκρυνε την πίεση, ή δώσε στιβαρότερο υλικό.The solution diverged: the displacements ran past any sensible size before the time was up. Δt is measured once, on the initial geometry — and when strains reach order one the structure becomes far stiffer than it was, so a step that was stable stops being so. In practice: far too much load for E or for σy. Reduce the pressure, or use a stiffer material. Ο συνολικός χρόνος θα ήθελε περισσότερα από 24.000 βήματα, οπότε η ανάλυση κόπηκε εκεί — ο μετρητής γράφει πόσα έγιναν. Το Δt δεν είναι επιλογή: το ορίζει η ευστάθεια. Ζήτα λιγότερο χρόνο ή αραιότερο πλέγμα.The total time would want more than 24,000 steps, so the analysis stopped there — the readout says how many were run. Δt is not a choice: stability sets it. Ask for less time, or a coarser mesh. Τιμή εκτός ορίων ή μη αριθμητική — το πεδίο ξαναγράφτηκε με την τιμή που όντως μπήκε στη λύση.Value out of range or not a number — the field was rewritten with the value that actually entered the solution.
u(t) · ο φορέας που κινείταιthe structure in motion · μεγέθυνσηmagnification —
Σύρε για περιστροφήDrag to rotate
| Pijk | ux — | uy — | uz — | |u| — |
|---|
- T1
- —
- Δt
- —
- ΒήματαSteps
- —
- max |u|
- —
- Τη στιγμήAt time
- —
- Μόνιμο |u|Permanent |u|
- —
- Πλαστική αPlastic α
- —
- ΔιέρρευσανYielded
- —
- Δείχνει tShowing t
- —
- |u| τώρα|u| now
- —
- ΧρόνοςTime
- — ms
Ό,τι δεν χωράει σε ένα στιγμιότυποWhat does not fit in one snapshot
Μια εικόνα δείχνει πού είναι ο φορέας τώρα. Δύο πράγματα όμως ζουν μόνο στον χρόνο. Η απόκριση: το |u| καρέ προς καρέ, με τη γραμμή της στατικής λύσης του ίδιου φορέα από πάνω — η απόστασή τους είναι ο συντελεστής δυναμικής μεγέθυνσης, και σε ελαστικό βηματικό φορτίο βγαίνει 2. Και ο βρόχος σ–ε στο σημείο Gauss που διέρρευσε πρώτο: η ευθεία που ανεβαίνει, το γόνατο στο σy, και η επιστροφή που δεν περνάει από την αρχή. Χωρίς αυτόν η λέξη «ανελαστική» είναι υπόσχεση. A picture shows where the structure is now. Two things, though, live only in time. The response: |u| frame by frame, with the line of the static solution of the same structure above it — the distance between them is the dynamic amplification factor, and for an elastic step load it comes out 2. And the σ–ε loop at the Gauss point that yielded first: the straight line going up, the knee at σy, and the return that does not pass through the origin. Without it the word «inelastic» is a promise.
|u|(t) · η απόκριση στον χρόνο — διακεκομμένη η στατικήthe response in time — the static one dashed
σxx(εxx) · ο βρόχος στο κρίσιμο σημείο Gaussthe loop at the critical Gauss point
- Δυναμικό max |u|Dynamic max |u|
- —
- Στατικό max |u|Static max |u|
- —
Και τώρα ο φορέας που κινείταιAnd now the structure in motion
Ίδια πράξη με το 1.3 — P′ijk = Pijk + uijk, και το παραμορφωμένο σώμα είναι πάλι trivariate NURBS με τα ίδια διανύσματα κόμβων και τα ίδια βάρη. Ένα πράγμα όμως αλλάζει, και είναι ουσιώδες: εκεί το ενδιάμεσο καρέ ήταν η παρεμβολή των δύο άκρων, και ήταν σωστό, γιατί η ανάλυση ήταν γραμμική. Εδώ δεν είναι — ούτε η γεωμετρία, ούτε το υλικό, και ο χρόνος δεν είναι ποσοστό φορτίου. Άρα κάθε καρέ είναι πραγματικό στιγμιότυπο που έγραψε ο επιλύτης, και η αναπαραγωγή είναι το ίδιο το πείραμα σε αργή κίνηση. The same operation as in 1.3 — P′ijk = Pijk + uijk, and the deformed body is trivariate NURBS again, with the same knot vectors and the same weights. One thing changes, and it matters: there the intermediate frame was the interpolation of the two ends, and that was right, because the analysis was linear. Here it is not — neither the geometry nor the material, and time is not a fraction of the load. So every frame is a real snapshot written by the solver, and the playback is the experiment itself in slow motion.
V′(ξ,η,ζ,t) · ο φορέας τη στιγμή t — με γραμμές η αρχική θέσηthe structure at time t — its initial position in lines
Σύρε για περιστροφήDrag to rotate
ΜεγέθυνσηMagnification
Χρωματικό πεδίοColour field
Η αρχική θέσηThe initial position
Το νέο πλέγμαThe new lattice
Διάρκεια βίντεοVideo length
Η εικόνα μεγεθύνεται, ο πίνακας όχι: γράφει τις αληθινές νέες συντεταγμένες, με συντελεστή 1, πάντα. Το κάδρο της κάμερας και η κλίμακα του χρώματος μετριούνται μία φορά και από όλα τα καρέ — μια κάμερα που ξαναμετριέται ανά καρέ ζουμάρει πάνω στην ίδια την ταλάντωση, δηλαδή τη σβήνει. Η αναπαραγωγή δεν είναι εφέ: το καρέ που παίζει είναι το ίδιο που έγραψε ο επιλύτης, και ο πίνακας από κάτω δείχνει εκείνη τη στιγμή.The picture is magnified, the table is not: it writes the true new coordinates, at factor 1, always. The camera frame and the colour scale are measured once, over every frame — a camera re-measured each frame zooms in on the oscillation itself, that is, erases it. The playback is not an effect: the frame being played is the one the solver wrote, and the table below shows that instant.
| P′ijk | X′ | Y′ | Z′ | w |
|---|
- ΔεκαδικάDecimals
- —
Τι να δοκιμάσειςWhat to try
- Ο συντελεστής 2The factor of twoΓράψε σy = 109 ώστε να μη διαρρεύσει τίποτα, και απόσβεση 0. Το max |u| βγαίνει ακριβώς διπλάσιο από τη στατική λύση — ο DAF του μετρητή γράφει ×2. Το ίδιο φορτίο, επιβαλλόμενο ακαριαία αντί για αργά, κοστίζει διπλάσια μετατόπιση.Write σy = 109 so nothing yields, and zero damping. The max |u| comes out exactly twice the static solution — the DAF readout says ×2. The same load, applied instantly instead of slowly, costs twice the displacement.
- Πού μένει η παραμόρφωσηWhere the deformation staysΜε τις προεπιλογές, το μόνιμο |u| είναι πάνω από το μισό του μεγίστου: ο πρόβολος ταλαντώνεται γύρω από μια θέση που δεν είναι η αρχική. Ανέβασε το σy στα 400.000 και η μόνιμη παραμόρφωση εξαφανίζεται — ίδιο φορτίο, άλλος χάλυβας.With the defaults, the permanent |u| is more than half the peak: the cantilever oscillates about a position that is not where it started. Raise σy to 400,000 and the permanent set vanishes — same load, different steel.
- Ο βρόχος που δεν κλείνειThe loop that does not closeΔιάλεξε παλμό με td = 0.02 s. Στο διάγραμμα σ–ε η επιστροφή είναι παράλληλη στην αρχική ευθεία αλλά μετατοπισμένη: αυτό ακριβώς είναι η πλαστική παραμόρφωση, και είναι η ίδια απόσταση που βλέπεις στη γεωμετρία.Choose the pulse with td = 0.02 s. In the σ–ε chart the return is parallel to the first straight line but shifted: that shift is the plastic strain, and it is the same distance you see in the geometry.
- ΣυντονισμόςResonanceΔιάβασε το T1 από τους μετρητές, διάλεξε αρμονικό και γράψε το ίδιο νούμερο στο td. Με μικρή απόσβεση η απόκριση μεγαλώνει καρέ με καρέ — ώσπου διαρρεύσει, οπότε η περίοδος του φορέα αλλάζει και ο συντονισμός σβήνει μόνος του. Αυτό δεν βγαίνει από γραμμική ανάλυση.Read T1 from the readouts, choose harmonic and write the same number into td. With little damping the response grows frame by frame — until it yields, at which point the period of the structure changes and the resonance dies out by itself. No linear analysis gives you that.
- Η στροφή που δεν κοστίζειThe rotation that costs nothingΆφησε το φορτίο μηδέν και τις έδρες όλες ελεύθερες εκτός από μία στήριξη: ένα σώμα που στρίβει χωρίς να παραμορφώνεται δεν αναπτύσσει καμία τάση. Αυτό είναι το Green–Lagrange — και είναι ο πρώτος αριθμητικός έλεγχος του πυρήνα.Leave the load at zero and every face free but one support: a body that rotates without deforming develops no stress at all. That is Green–Lagrange — and it is the first numerical check on the core.
- Το πλέγμα κοστίζει χρόνο, όχι αγνώστουςThe mesh costs time, not unknownsΠέρνα από 3×1×1 σε 6×3×2. Οι άγνωστοι τετραπλασιάζονται, αλλά τα βήματα είναι που εκτοξεύονται: το Δt μικραίνει με το μέγεθος του στοιχείου. Αυτή είναι όλη η διαφορά ανάμεσα σε ρητό και σε πεπλεγμένο επιλύτη, σε ένα κουμπί.Go from 3×1×1 to 6×3×2. The unknowns quadruple, but it is the steps that explode: Δt shrinks with the element size. That is the whole difference between an explicit and an implicit solver, in one button.
Ο πυρήνας είναι ολικά Lagrange με Green–Lagrange και δεύτερο Piola–Kirchhoff, πλαστικότητα von Mises με γραμμική ισότροπη κράτυνση και επιστροφή στην ακτίνα κλειστού τύπου, συγκεντρωμένη μάζα από άθροισμα γραμμής, και κεντρικές διαφορές με βήμα από το ωmax του ίδιου του πλέγματος. Ελέγχεται απομονωμένος, χωρίς browser: στροφή στερεού σώματος χωρίς τάση, το γραμμικό όριο απέναντι στο 1.3, ο μονοαξονικός βρόχος απέναντι στην κλειστή του λύση, το στατικό όριο, ο συντελεστής δυναμικής μεγέθυνσης 2, η διατήρηση της ενέργειας, και η ιδιοπερίοδος απέναντι στην Euler–Bernoulli.The core is total Lagrangian with Green–Lagrange strain and second Piola–Kirchhoff stress, von Mises plasticity with linear isotropic hardening and a closed-form radial return, a lumped mass from row summation, and central differences with the step taken from the ωmax of the mesh itself. It is checked in isolation, without a browser: rigid-body rotation with no stress, the linear limit against 1.3, the uniaxial loop against its closed-form solution, the static limit, the dynamic amplification factor of 2, conservation of energy, and the natural period against Euler–Bernoulli.
Γιατί ρητός και όχι Newmark. Ένας πεπλεγμένος επιλύτης θα ήθελε εφαπτόμενο μητρώο και παραγοντοποίηση σε κάθε επανάληψη κάθε βήματος — δηλαδή το 1.75 s της πλάκας του 1.3 επί μερικές εκατοντάδες. Ο ρητός δεν λύνει κανένα σύστημα: μία διαίρεση με τη διαγώνιο. Πληρώνει με το βήμα, και το βήμα δεν είναι γνώμη — είναι Δt = 0.9·2/ωmax, με το ωmax να βγαίνει με δύναμη πάνω στο M−1K και να φράσσεται από Gershgorin. Δύο εκτιμήσεις, η μικρότερη κερδίζει: μια επανάληψη που δεν πρόλαβε να συγκλίνει δίνει βήμα μεγαλύτερο του ευσταθούς, δηλαδή σιωπηλή έκρηξη στο εικοστό βήμα. Why explicit and not Newmark. An implicit solver would want a tangent matrix and a factorisation at every iteration of every step — that is, the 1.75 s of the plate in 1.3 times a few hundred. The explicit one solves no system at all: one division by the diagonal. It pays with the step, and the step is not an opinion — it is Δt = 0.9·2/ωmax, with ωmax found by power iteration on M−1K and bounded by Gershgorin. Two estimates, the smaller wins: an iteration that did not converge in time gives a step larger than the stable one, that is, a silent explosion at the twentieth step.
Τι δεν αλλάζει από το 1.3. Οι συναρτήσεις σχήματος είναι οι ίδιες — ίδια αναδρομή, ίδια βάρη, ίδια Rijk. Η γεωμετρία δεν έγινε πιο «λεπτομερής» επειδή η ανάλυση έγινε πιο δύσκολη: το ίδιο ακριβώς μοντέλο που στο 1.2 ήταν κέλυφος και στο 1.3 στερεό, εδώ κινείται και διαρρέει. Αυτό είναι ολόκληρο το επιχείρημα της ισογεωμετρικής ανάλυσης, γραμμένο ως τέσσερα εργαστήρια πάνω στον ίδιο πίνακα. What does not change from 1.3. The shape functions are the same — same recursion, same weights, same Rijk. The geometry did not become «more detailed» because the analysis became harder: the very model that was a shell in 1.2 and a solid in 1.3 here moves and yields. That is the whole argument of isogeometric analysis, written as four workbenches on one and the same table.
Πού αλλού να παςWhere else to go
Το λογισμικό μαςOur software
Οι πέντε εκδόσεις του Geomiso, με μία γραμμή για την καθεμία.The five Geomiso editions, one line each.
Άνοιγμα →Open →Geomiso v1.0Geomiso v1.0
Ο κανόνας σε καμπύλη, πλέγμα και στερεό, και η τσάκιση που κρατά τις ακμές.The rule on a curve, a mesh and a solid, and the crease that keeps edges.
Άνοιγμα →Open →Geomiso TNLGeomiso TNL
Ένας βραχίονας ραφιού που λύνεται σε κάθε κίνηση: βύθιση, τάση, ασφάλεια.A shelf bracket solved on every move: deflection, stress, safety factor.
Άνοιγμα →Open →