Tutorial de Autolisp que no termina de salir bien
Publicado por Pablo (11 intervenciones) el 26/05/2018 22:54:10
Buenas amigos, estoy estudiando autolisp en mis ratos de ocio, y me tope con una pagina muy interesante que tiene información y tutos. Me dispuse a realizar uno de ellos, el que era para principiantes como yo. La cuestión es que al final del tuto explica que por los snaps y blips, no sale bien la geometría de una viga que hace dicho Autolisp, y da una solución que a mí no me funciona. Dejo imágenes de lo que digo y el código. También Link al tuto.
Saludos
}Pablo.
Ahora les dejo las imágenes de cuales son los resultados y debajo de ellos como deberían quedar. Se soluciona con un simple strech. Pero bue... No es la idea tener que editarlo.
Por último el link del tuto. http://www.afralisp.net/autolisp/tutorials/the-basics-part-2.php
muchas gracias y espero que alguien pueda decirme qué hago mal.-
Saludos
}Pablo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
(defun c:testbeam ()
;*******************************************************************************
; Guardar variables del sistema
(setq oldsnap (getvar "osmode"))
; Guardar la configuración de ajuste
(setq oldblipmode (getvar "blipmode"))
; Guardar configuración de blip
;*******************************************************************************
; Desactivar las variables del sistema
(setvar "osmode" 0)
; Interruptor de apagado
(setvar "blipmode" 0)
; Desactivar modo Blip
;*******************************************************************************
; Parámetros de la viga
(initget (+ 1 2 4))
(setq lb (getdist "\nLength of Beam : "))
(initget (+ 1 2 4))
(setq hb (getdist "\nHeigth of Beam : "))
(initget (+ 1 2 4))
(setq wt (getdist "\nFlange Thickness : "))
(initget (+ 1 2 4))
(setq ep (getdist "\nEnd Plate Thickness : "))
(initget (+ 1 2 4))
(setq nl (getdist "\nLength of Notch : "))
(initget (+ 1 2 4))
(setq nd (getdist "\nDepth of Notch : "))
; Punto de inserción
(setq ip (getpoint "\nInsertion Point : "))
;*******************************************************************************
; Iniciamos los calculos de las polares punto pot punto
(setq p2 (polar ip (dtr 180.0) (- (/ lb 2) nl)))
(setq p3 (polar p2 (dtr 270.0) wt))
(setq p4 (polar p2 (dtr 270.0) nd))
(setq p5 (polar p4 (dtr 180.0) nl))
(setq p6 (polar p5 (dtr 180.0) ep))
(setq p7 (polar p6 (dtr 270.0) (- hb nd)))
(setq p8 (polar p7 (dtr 0.0) ep))
(setq p9 (polar p8 (dtr 90.0) wt))
(setq p10 (polar p9 (dtr 0.0) lb))
(setq p11 (polar p10 (dtr 90.0) lb))
(setq p12 (polar p11 (dtr 0.0) ep))
(setq p13 (polar p12 (dtr 90.0) (- hb nd)))
(setq p14 (polar p13 (dtr 180.0) ep))
(setq p15 (polar p14 (dtr 180.0) nl))
(setq p16 (polar p15 (dtr 90.0) (- nd wt)))
(setq p17 (polar p16 (dtr 90.0) wt))
;fin del cálculo
;*******************************************************************************
;funcion inicio de comando
(command "Line" ip p2 p4 p6 p7 p12 p13 p15 p17 "c"
"Line" p3 p16 ""
"Line" p9 p10 ""
"Line" p5 p8 ""
"Line" p11 p14 ""
) ;Fin del comando
;*******************************************************************************
(princ) ;Final limpio
)
(defun dtr (x)
;paso de grados a radianes para polares
( * pi (/ x 180.0 ))
)
(princ) ;cargar el final limpio
Ahora les dejo las imágenes de cuales son los resultados y debajo de ellos como deberían quedar. Se soluciona con un simple strech. Pero bue... No es la idea tener que editarlo.
Por último el link del tuto. http://www.afralisp.net/autolisp/tutorials/the-basics-part-2.php
muchas gracias y espero que alguien pueda decirme qué hago mal.-
Valora esta pregunta
0