Plantilla 3D
Author: Rafael Losada Liste

25 cm

25 cm

Esquema

25 cm

inc = 6.220353454107791 rad (slider from 0 to 6.283185307179586, step 1.7453292519943296E-4)
L = (0, 5.043)
M = (0, -1.5)
a_1 = Segment(M, L)
B = Point(a_1)
M_1: B + (0, 0.5)
h = Circle(M_1, 4.5)
I = (-0.058150918117436626, -1.8322420774545742)
I' = Mirror(I, yAxis)
l = Line(I, I + (0, 1))
J = Point(l)
K: J - I + I'
polígono3, i_1, i', k_1, j_1 = Polygon(I, I', K, J)
D = Point(yAxis)
d = Circle(D, 4.5)
I_1, J_1 = Intersect(d, h)
j = Ray(D, J_1)
k = Circle(D, 9.25)
K_1 = Intersect(k, j, 1)
a = OrthogonalLine(K_1, j_1)
O = Intersect(a, yAxis)
r = Distance(K_1, O)
lista1 = Sequence(P3D[inc, ((s * 180) * ° / 3.141592653589793), {r, 0, y(O)}], s, 1, 5)
k2' = Conic(Element[lista1, 1], Element[lista1, 2], Element[lista1, 3], Element[lista1, 4], Element[lista1, 5])
P1 = Point(k2')
rot = Angle(O + (1, 0), O, Intersect[Circle[O, r], Ray[Intersect[a, OrthogonalLine[P1, a]], P1]])
lista3 = Sequence(P3D[inc, ((s * 45))° - rot, {r, 0, y(O)}], s, 0, 7)
s = Ray((0, 0), (1, 0))
polígono2: {Polygon[B + ((-0.05), (-0.1)), B + (0.05, (-0.1)), B + (0.05, 0.1), B + ((-0.05), 0.1)]}
N: B - (0.2, 0.2)
P: N + ((-0.133), 0.618)
Q: (x(N), y(P))
P' = Mirror(P, yAxis)
Q' = Mirror(Q, yAxis)
N' = Mirror(N, yAxis)
R: P + (0, 0.243)
R' = Mirror(R, yAxis)
polígono4: {Polygon[R, P, Q, N, N', Q', P', R']}
b_1 = Line(J, K)
S = Point(b_1)
S' = Mirror(S, yAxis)
T: (x(S), 7.90425)
T' = Mirror(T, yAxis)
polígono5: {Polygon[S, S', T', T]}
A_1: (x(R), y(I))
B_1: A_1 - (0, 0.31)
C_1 = Mirror(B_1, yAxis)
D_1: (x(C_1), y(A_1))
polígono7, a_2, b_2, c_1, d_1 = Polygon(A_1, B_1, C_1, D_1)
E_1 = Point(b_2)
F_1: E_1 - (0, 1.5)
G_1 = Mirror(E_1, yAxis)
H_1 = Mirror(F_1, yAxis)
xxx: y(R) - y(P)
n = Ray(D, I_1)
L_1 = Intersect(k, n, 1)
l_1 = Segment(D, L_1)
m_1 = Segment(D, K_1)
t_1 = Segment(M_1, J_1)
s_1 = Segment(M_1, I_1)
polígono8, b, c, e, f = Polygon(E_1, F_1, H_1, G_1)
A = Point(b)
A'_1 = Mirror(A, yAxis)
C = Point(b)
C'_1 = Mirror(C, yAxis)
A' = Mirror(A, C)
C' = Mirror(C, A')
A'' = Mirror(A', C')
C'' = Mirror(C', A'')
A''' = Mirror(A'', C'')
C''' = Mirror(C'', A''')
E = Mirror(A'_1, C'_1)
F = Mirror(C'_1, E)
E' = Mirror(E, F)
F' = Mirror(F, E')
E'' = Mirror(E', F')
F'' = Mirror(F', E'')
g = Segment(A, A'_1)
i = Segment(C, C'_1)
r_2 = Segment(A', E)
e_1 = Segment(C', F)
f_1 = Segment(A'', E')
g_1 = Segment(C'', F')
h_1 = Segment(A''', E'')
c_2 = Segment(C''', F'')
G = (-0.021607956028527327, -1.414201033957235)
G' = Mirror(G, yAxis)
H: G - (0, 0.17)
O1: (x(G'), y(H))
polígono1: {Polygon[G, G', O1, H]}
U = Point(polígono3)
V: U - (0, 0.17)
W: U - (0.1, 0)
polígono6: {Polygon[U, V, W]}
Z = Point(yAxis)
d_2 = Segment(K_1, Z)
e_2 = Segment(Z, L_1)
f_2 = Circle(Z, 4.5)
N_1 = Intersect(f_2, d_2)
O_1 = Intersect(f_2, e_2)
g_2 = CircumcircleArc(D, N_1, K_1)
h_2 = CircumcircleArc(D, O_1, L_1)
k_2 = Conic(Element[lista1, 1], Element[lista1, 2], Element[lista1, 3], Element[lista1, 4], Element[lista1, 5])
i_2 = OrthogonalLine(N_1, yAxis)
P_1 = Intersect(i_2, yAxis)
r1 = Distance(N_1, P_1)
o = false
m_2 = Line(J_1, I_1)
U_1 = Point(g_2)
n_2 = OrthogonalLine(U_1, yAxis)
V_1 = Intersect(n_2, yAxis)
r2 = Distance(U_1, V_1)
varilla1 = Segment(D, Element[lista3, 1])
varilla2 = Segment(D, Element[lista3, 2])
varilla3 = Segment(D, Element[lista3, 3])
varilla4 = Segment(D, Element[lista3, 4])
varilla5 = Segment(D, Element[lista3, 5])
varilla6 = Segment(D, Element[lista3, 6])
varilla7 = Segment(D, Element[lista3, 7])
varilla8 = Segment(D, Element[lista3, 8])
Q_1 = Intersect(k_2, varilla1, 2)
Q_2 = Intersect(k_2, varilla2, 2)
Q_3 = Intersect(k_2, varilla3, 2)
Q_4 = Intersect(k_2, varilla4, 2)
Q_5 = Intersect(k_2, varilla5, 2)
Q_6 = Intersect(k_2, varilla6, 2)
Q_7 = Intersect(k_2, varilla7, 2)
Q_8 = Intersect(k_2, varilla8, 2)
j_2 = Segment(J_1, D)
polígono11: {Polygon[J_1, M_1, I_1, D]}
lista3b = Sequence(P3D[inc, ((s * 45))° - rot, {r1, 0, y(P_1)}], s, 0, 7)
lista3c = Sequence(P3D[inc, ((s * 45))° - rot, {r2, 0, y(V_1)}], s, 0, 7)
lista5 = Sequence(Segment[D, Element[lista3, s]], s, 1, 8)
lista6 = Sequence(Intersect[Element[lista5, s], m_2], s, 1, 8)
lista7 = Sequence(Segment[Element[lista6, s], M_1], s, 1, 8)
lista8 = Sequence(Angle[L_1, O, Element[lista3, s]], s, 1, 8)
lista9 = Sequence(If[(Element[lista8, s]  <  181.5°) ∨ (Element[lista8, s] > 358.5°), 0, 1], s, 1, 8)
lista10 = Sequence(Intersect[k_2, Element[lista7, s]], s, 1, 8)
lista11 = Sequence(Segment[Element[lista6, s], Element[lista10, s]], s, 1, 8)
lista12 = Sequence(Segment[M_1, Element[lista10, s]], s, 1, 8)
lista13' = Sequence(Segment[Object["Q_" + (s)], Element[lista3, s]], s, 1, 8)
lista14' = Sequence(Segment[If[Defined[Object["Q_" + (s)]], Object["Q_" + (s)], Element[lista3, s]], D], s, 1, 8)
arco1 = CircumcircleArc(D, Element[lista3c, 1], Element[lista3, 1])
arco2 = CircumcircleArc(D, Element[lista3c, 2], Element[lista3, 2])
arco3 = CircumcircleArc(D, Element[lista3c, 3], Element[lista3, 3])
arco5 = CircumcircleArc(D, Element[lista3c, 5], Element[lista3, 5])
arco6 = CircumcircleArc(D, Element[lista3c, 6], Element[lista3, 6])
arco7 = CircumcircleArc(D, Element[lista3c, 7], Element[lista3, 7])
arco8 = CircumcircleArc(D, Element[lista3c, 8], Element[lista3, 8])
arcos = Sequence(CircumcircleArc[D, Element[lista3c, s], Element[lista3, s]], s, 1, 8)
polígono9', l_2, q_2, s_2, t_2, a_3, b_3, c_3, d_3 = Polygon(Element[lista3, 1], Element[lista3, 2], Element[lista3, 3], Element[lista3, 4], Element[lista3, 5], Element[lista3, 6], Element[lista3, 7], Element[lista3, 8])
arco4 = CircumcircleArc(D, Element[lista3c, 4], Element[lista3, 4])
polígono10: {Polygon[K_1 + (r / 15, 0), L_1 - (r / 15, 0), L_1 - (r / 15, 0) - (2, 10), K_1 + (r / 15, 0) - (2, 10)]}

Tool: P3D
Inclinación, Rotación, Lista de tres coordenadas
Input: α, β, puntoLista
Output: P3D

puntoLista: {5.378746028539901, 0, 1.0750915374388565}
p_x = Element(puntoLista, 1)
p_y = Element(puntoLista, 2)
p_z = Element(puntoLista, 3)
P3D: ((p_x * sin(β)) + (p_y * cos(β)), (((-p_x) * cos(β)) * sin(α)) + ((p_y * sin(β)) * sin(α)) + (p_z * cos(α)))