You are on page 1of 32
I, ANTECEDENTES 2.1. GENERALIDADES En este capitulo se definen concepts bisicos de estabilidad de taludes, el por que los ‘aludes deben de ser estables, algunos tipos de falas, asi como la teoria que abarca los ‘métodos de Bishop y Fellenius para calcular el factor de seguridad de un talud. Se presenta ‘un apartado constituido por los comandos que se introducen a la base de datos de Autocad Se explica detalladamente la organizacién de esja base de datos y les gbdigos necesarios para que un programa funcione, también se incluyen los comandos de'eceso a pantalla sréfica y dispositivos de entrada y explicaciones precisas sobre lz gestion de memoria y paginacion virtual de funciones QUE ES UN TALUD? . ‘Se comprende bajo el nombre genético de talud cualquier superfioie inclinada respecto ala ‘horizontal que hayan de adoptar permanentemente las estructuras Ue gierra, bien sea en forma natural 0 como consecuencia de la intervencién humana en une obra de ingenieria. Desde este primer punto de vista los taludes se dividen en naturales (laderas) o arificiles (ores y erraplenes) POR QUE ES IMPORTANTE QUE UN TALUD SEA ESTABLE ? Por que es una necesidad de orden nacional, el desarrollo de criterios practicos y seguros ‘para lograr que se fj la inclinacin més escerpada posible en los cortes y terraplenes de las vias terrestres, : En primer lugar seri preciso analizar la necesidad de definir crterios de estabilidad de taludes, entendiéadose por tales algo tan simple como el poder decir en un instante dado cul seré la inclinacién apropiada en un corte o en un terraplén: casi siempre Ia més apropiada seri Ia mas escarpada que se sostenga el tiempo necesario sin caerse. Aqui radica Ia esencia del problema y la raza de su estudio. A diferentes inclinaciones del talud ccorresponden diferentes masas de material treo por mover y, por lo tanto diferentes costos. Podrian imaginarse casos en que, por alguna raz6a, el talud mas conveniente fuese fy tendido y en tal caso no habria motive para pensar en “problemas de estabilidad de {aludes” pero lo normal es que cualquier talud funcione satifactoriamente desde todos los puntos de vista excepto el econdmico, de manera que las consideraciones de costo presen Ia seleccién del idéneo, que resultara ser aquel al que corresponda la minima masa de tierra movida, olo que és lo mismo, el talud mas escarpado, En México, por ejemplo, estadisticamente hablando puede decirse que el 50% de toda carretera por construir se desarrollara en terreno francamente montafioso, un 30% en terreno ondulado y un 20% en terreno plano, En el primer tipo de configuracién quizé un 70% del costo total de Ia carretera corresponda al movimiento de tierras que, a su vez, consistiré fundamentalmente en la formacién de cortes y terraplenes, en los que cualquier ‘cambio en la inclinacién repercutiré en forma importante en el costo total . Esto hard que su estudio sea siempre complicado, pero parece cierto también, que una parte de las dificultades presentes se debe a una falta de correcto deslinde de las diferentes variantes con que el problema de estabilidad se puede presentar y se debe afrontar. Un talud de tierra no puede considerarse estable indefinidamente, porgue tarde o temprano la establidad que pueda presentar se pierde debido a los agentes naturales tales como las presiones hidrostiticas, el intemperismo o la erosién. Un aumento tempéral de cargas, la reduecién de la resistencia del suelo, o una redistribucién desfavorable de_esfuerzos, son causas que comtribuyen de una y otra manera a que el talud busque ey posiién mas estable ‘TIPOS DE FALLAS MAS COMUNES EN LOS TALUDES DE VIAS TERRESTRES me A. FALLAS LIGADAS A LA ESTABILIDAD DE LAS LADERAS NATURALES. Se agrupan en esta division las fallas que ocurren tipicamente ex laderas naturales, aun cuando de un modo u otro también pudieran presentarse de manera ocasional en taludes artficiales. A-1_ Declizamienta superficial asociado a falta de resistencia por baja presién de confinamiento (creep). Se refiere esta filla al proceso mas 0 menos continuo y por lo general lento de deslizamiento ladera abajo que se presenta en la zona superficial de algunas laderas naturales. En ras de la economia del lenguaje se utilizara en lo que sigue la palabra inglesa “creep” para referirse a ella, si bien eventualmente se podré usar la expresion “ deslizamiento superticial” El creep suele afectar a grandes reas y el movimiento superficial se produce sin unt transicién brusca entre la parte superficial movil y las masas inméviles mas profundas. No se puede hablar de una superficie de deslizamiento. El creep sucle deberse a und ccombinacién de las acciones de las fuerzas de gravedad y de otros varios agentes. La velocidad de movimiento ladera abajo de un creep tipico puede ser muy baja y rara vez ‘excede de algunos centimetros por afo. A2 — Fallas asociadas a procesos de deformacién acunfulativa, generalmente relacionadas con perfiles yevloyicus desfavorables. - Se refiere este titulo al tipo de fallas que se producen en las laderas naturales como consecuencia de procesos de deformacién acumulativa, por la terdencia'de grandes masas 2 rmoverse ladera abajo, Este tipo de falas quizé es tipico de laderas naturales en depésitos de talud 0 en otras formaciones andlogas en cuanto a génesis geblogica, formadas por materiales bastante heterogéneos, no consolidados y bajo la accién casi exclusiva de las fuerzas gravitacionales. Una vez producida Ia superficie de flla podré ocursir un deslizamiento rapido de las masas afectadas, o la terra sobre Ia superficie de falla podré permanecer en su posicioh, desde Juego en un estado no muy alejado del equilibrio limite o citco, AS Flujos Se refiere este tipo de falla a movimientos mas 0 menos répidos de una parte de la Iadera natural, de tal manera que el movimiento en siy la distribucién aparente de velocidades y desplazamientos recuerda el comportamiento de un liquido viscoso. La superficie de deslizamiento 0 no es distinguible o se desarolla durante un lapso_relativamente breve; es también frecuente que Ia zona de contacto entre la parte mévil las masas fijas de la ladera sea una zona de flujo plastic. El material susceptible de fluir puede ser cualquier formacién no consolidada, y asi el fendmeno puede presentarse en fragmentos de roca, depésitos de talud, suclos granulares finos 0 arcillasfrancas; son frecuentes los flujos en lodo, B _ FALLAS RELACIONADAS A LA ESTABILIDAD DE TALUDES ARTIFICIALES 1B Falla rotacional Se deseriben ahora los movimientos répidos o pricticemente instantineos que ocurren en los taludes y que afectan a masas profundas de los mismos, con deslizamiento a lo largo de tuna superficie de falla curva que se desarrolla en el interior del cuerpo del talud, interesando 0 no al terreno de cimentacién. Se considera que la superficie de flla se forma cuando en la zona de su futuro desarrolio actian esfuerzos cortantes que sobrepasan la resistencia del material, Es probable que en el desarrollo de estas fllas desempefien un papel muy importante los mecanismos de flla progresiva que puedan tener lugar a lo largo de la futura superficie de deslizamient. Cine dott por una pas fala ronda (amine ‘Tole Morea) : B-2 Falla traslacional . Estas fallas por lo general consisten en movimientos traslacionales importantes del cuerpo del talud sobre superficies de falla basicamente planas, asociadas a la presencia de estratos, poco resistenteslocalizados a poca profundidad bajo el talud. =, La superficie de falla se desarrolla en forma paralela al estrato débil f se remata en sus extremos por dos cantiles por lo general formados por agrietamiento. Los estratos debiles que fomentan estas fallas son por lo comin de arcillas blandas o de arenas finas o limbos no plésticos sueltos. B-3 Fallas mitiples Se trata ubora de esludias ayuelles fallas que se producen con varias supcrficies de. ngulo de friccion del sueto. Con parimetro de “cohesién” y de “friceién”. De todos los procedimientos de aplicacién del Método Sueco a este tipo de suelos, posiblemente el mas popular y expedito sea el de las “Dovelas” debido a FELLENTUS (1927), que se expone a continvaci6n En primer lugar, se propone un circulo de flla a eleccin y le masa Ue gierra Ueslizante se divide en dovelas, del modo mostrado en la figura No.1 El nimero de dovelas ¢s, hasta cierto punto, cuestion de eleccién, si bien, a mayor nimmero, los resultados del analisis se hacen més confiables. El equlibrio de cada dovela puede analizarse como se muestra en la siguiente figura donde Wiesel peso de la dovela de espesor unitario, Las fuerzas Ny T son las reacciones normal y tangencial del suelo a fo largo de la superficie de deslizamiento AL; Las dovelas adyacentes a la i-ésima bajo estudio, ejercen ciertas acciones sobre ésta, que pueden Tepresentarse por ls fuerza normales P, y Psy por las tangenciles Ty y T Enel procedimiento de FELLENTUS se hace ta hipotesis de que et efecto de las fuerzas P 1y Py se contraresta, es decir» se considera que esas dos fuerzas son iguales, colincales y contrarias. También se acepta que el momento producido por las fuerzas Ti y Ta, que se consideran de igual magnitud, es despreciable, Estas hipotesis equivalen a considerar que cada dovela acta en forma independiente de las demas y que Ni + Us y.T equilibran a Wi \y \" Wi \ MX sae Ww Ww \ El cociente Ni / AL; se considera una buena aproximacién al valor de oj, presion normal ‘actuante en el arco AL; que se considera constante en esa longitud . Con este valor de oj puede entrarse ala ley de resistencia al esfuerzo cortante que se haya obtenido y determinar ahi el valor de “Si”, resistencia al esfuerzo cortante que se supone constante en todo el ‘arco AL;. Puede calcularse el momento actuante debido al peso de las dovelas como M=E|T| 2 EI momento resistente es debido # la resistencia al esfuerzo cortante S;, que se desarolla cen a superficie de deslizamiento de cada dovelay vale os tong] ALi Me= 3 caLi+ (N tong) Liz (wi cosei-uiatijtend “Le —___] SUSTITUYENDO: . ‘Una vex mis se esti aceptando que la resistencia maxima al esfuerzo cortante se desarolla al nisono en todo punto de la superficie de fallahipotética, lo cual, como ya se discutid, no sucede realmente debido a las concentraciones de esfuerz0s que se producen en ciertas ‘onas, mismas que tienden a generar mas bien fallas progresivas antes que las del tipo que ‘gui se aceptan. CCaleulados el momento resistente y el momento actuante puede definirse un factor de seguridad, R= Ma/M, La experiencia ha demostrado que una superficie de filla en que resulte F, > 15 es practicamente estable. EI método de anilsis consisira también en un procedimiento de tanteos, en el cual deberdn fijarse distntos circulos de falla caleulando el F, ligado a cada B uno; es preciso que el F, minimo no sea menor de 1.5 , en general, para garantizar en Ia préctica la estabilidad de un talud. El criterio del proyectista juega un importante papel en fl nimero de circulos ensayados, hasta alcanzar una seguridad razonable respecto al Fs ‘minimo. En general, es recomendable que el ingeniero no respaldado por muy solida ‘experiencia no regatee esfuerzo ni tiempo en los célculos a efectuar. METODO SIMPLIFICADO DE BISHOP. En este método mis modemo se asume que las fuerzas actuantes en Ios lados de cada | ee 4 VARIABLES DE SISTEMA. ‘AutoLISP utiliza algunas variables de memoria llamadas variables de sistema y estén relacionadas al "ambiente" AutoCAD y con el estado del dibujo actual. Para cambiar las variables de sistema se utiliza la funcion setvary los argumentos: nombre de variable y valor, Con el nombre de variable se llama a la variable de sistema a cambiar, seguido por el valor nuevo que se designard. El argumento valor dependera directamente de Ja variable de sistema que se cambiar, y su formato puede ser: nimero real, entero, cadena de caracteres, punto 2D, punto 3D, ete. Existen algunas variables de sistema cuyos valores ro podirin ser cambiados, ya que éstas sélo se "eargan* con valores qig el sistema lee ‘automiticamente en el estado actual del dibujo; estas variables s6lo-podran Ser leidas. Para conocer o extraer el valor de una variable se utiliza la funcién getvar y utiliza un nico argumento: el nombre de la variables de sistema. Los valores de cada variable de sistema tiene diferentes opciones y en algunos casos’ su asignacién esta restrngida. Mis adelante se proporcionaré un listado de las variables de sistema y sus diferentes opciones. Las variables de sistema son muy importantes y valiosas en la programacion AutoLISP, ya ‘ue actiian directamente en los pardmetros de dibujo de AutoCAD. Bjemplos: : Para cambiar Ia precision dela longitud a 2 decimales, eseriba: (setvar *LUPREC* 2) Para cambiar las unidades de éngulo en topogrfica (rumbos), esrb: (setvar "AUNITS" 4) ‘Si se quiere conocer la Ultima area computada, escriba: (getvar "AREA") Si se desea conocer el nombre del archivo de dibujo en el que se trabaja, escriba: (getvar "DWGNAME") 1s RADIANES. Para la medicin y proceso de Angulos AutoLISP no utiliza los grados; en lugar de esto, utiliza un sistema de radianes. Pero si el caso lo requiere, los grados de angulo se pueden convertir en radianes de la siguiente manera: divide los grados entre 180 y multiplica el resultado por = (*pi (/anguto 180)) Mis adelante se veré que no es tan complicado realizar este tipo de conversiones, sobre todo si se tiene que realizar este proceso en repetidas ocasiones. —* ‘TIPOS DE DATOS EN AutoLISP. woos NOMBRES DE ENTIDAD CADENAS uO DESCRIPTORES DE ARCHIVO siMBOLOS an NUMEROS ENTEROS YREALES —_ CONJUNTO DE SELECCIONES LisTAS NOMBRES DE ENTIDAD. Cada entidad de dibujo creada en AutoCAD se almacena en una base de datos especial con ‘toda Ia informacion necesaria para reproducir esa entidad. La informacién inherente a cada entidad creada se almacena en forma de istas y AutoLISP puede accesar a estos datos para ‘si manipulacion, Por ejemplo, si se traza una linea en AutoCAD, su nombre de entidad serd, “LINE” y su informacion implicta seré su punto inicial, punto final, layer, ete. Para entidades mas compleas, las listas de informacién asociadas serén més largas y sus datos serin relativos ala entidad: Tipo de Nombre de Informacion centidad entidad —base-datos Linea "LINE" Punto inical, final, layer, ete. Cireulo "CIRCLE" Centro, radio. Bloque "BLOCK" Punto de insercion, factores de escala, .., ete DESCRIPTORES DE ARCHIVO. En AutoLISP existen funciones que pueden abrir un archivo, para almacenar o leer informacién Cuando un archivo se abre. se le asigna un tipo de dato especial llamado descriptor de archivo y éste trabaja como direccionador para el archivo, manteniendo la pista dela localizacion fisica en el disco de almacenamiento, NUMEROS ENTEROS Y REALES. . Se reconocen dos tipos de datos numéricos: enteros y reales. Los niimeros enteros no llevan punto decimal, Si se procesan en alguna operacin s6lo nimerd enteros, el resultado también lo seri, En el caso de combinar enteros y reales 0 silo reales, el resultado se ‘expresaré en nimeros reales . LISTAS. Una lista es todo el grupo de elementos individuales de informacion que estén encerrados ‘en un par de paréntesis, Los elementos de la lista estan separados, por los demas por un espacio al menos, Estos elementos pueden ser nimeros, caracteres, operadores de funcién, argumentos o incluso otras listas. Las listas pueden tener cualquier longitud y esta longitud el nlimero de elementos que la conforma. Una funcién puede considerarse como un tipo de lista compuesta por un operador de funcién y sus argumentos respectivos, pero no todas las listas son funciones. Por ejemplo, la informacién de puntos se conforma como: Punto2D (2132) + Punto3D — (3.65621.0) yy asi sucesivamente En los casos anteriores, AutoLISP supone que el primer elemento de las lists corresponde ‘la coordenada X, el segundo a Y el tercero a Z. CADENAS. Las cadenas son secuencias de uno o més caracteres que pueden ser letras, nimeros y ” signos de puntuacién, Una cadena siempre estara entrecomillada y puede poner un ‘méximo de 132 caracteres. Se recomienda utilizar cadenas cortas para optimizar la jemplo (setq A "Ejemplo de Cadena") asigna a a variable A, el valor dela cadena 8 despliega el contenido de la variable A: simmoxos. “ 1 téemino simbolo se utiliza para describ caracteres ASCCI que representan algo, Los nombres de variables de memoria y lo operadores de fncién son smbolos. Una cadena no 5 un simbolo porque son literales que se representan a si mismas. De igual modo, un rimero no es in simbolo, Los caracteres que constuyen un simbolo pueden incur cunlquier combinacién de letras, nimerosy signos de puntuacin, cof excepcion de los siguientes 6 signos ().'"; , ya que éstos se utilizan en AutoLISP como nomenclatura especial CONJUNTO DE SELECCIONES. ‘Con AutoLISP se pueden seleccionar grupos de entidades de dibujo y a estos grupos se les pueden asignar un nombre, llamado conjunto de selecciones 0 grupos de seleccién; se ‘considera como una etapa avanzada en el manejo de entidades y es muy poderosa. CREACION DE PROGRAMAS LISP Un programa LISP es un conjunto de funciones de AutoLISP relacionados entre si que se cevalian en secuencia y realizan una tarea especifica. Este conjunto de funciones est contenido en un archivo ASCCT llamado archivo LISP. Los archivos LISP pueden tener ‘cualquier nombre de archivo vilido del DOS y por convencién, deberin tener la extensién [LSP . Estos archivos se pueden crear con cualquier procesador de textos como se crea cualquier archivo ASCCI. ‘Una vez terminado un programa LISP, éste puede ser "cargado" a la memoria de ‘AutoCAD de la siguiente forma: se inicia una sesign de trabajo en AutoCAD y en la linea de comandos se teclea (oad “nombre_archivo") -1 donde load es la funcién que carga el archivo LISP a la memoria y "nombre_archivo" es el nombre del archivo LISP -sin extension (el interpretador asume que la extensién es LSP)- el cual va entrecomillado, Si el archivo LISP se encuentra en un subdirectorio diferente al que ge inicié AutoCAD, el proceso de "cargado" seria: (ond "c:/subdl/subd2/...nomre_archivo") J . Ja diagonal (slash) susttuye a la diagonal inversa (backslash), caracterstica en el lamado a subdirectorios por DOS, dentro del emtomo AUIOCAD para difereneiar a lag subdirectorios, ya que la diagonal invers tiene una aplicecin especial 1 codificacion de un programa LISP debe estar bien organizada y estrcturada, por Si se tienen que hacer modificaciones y correcciones, les que se harian con mayor facilidad, Una ‘buena forma de estructura programas es ls de incur, hasta donde fea,posible, el uso de nuevas funciones (funciones ereadas por el usuario) Estas nuevas funciones, haciendo una analogia, son equvalentes a las sub-rutinas. Asi mismo, las nuevas funciones pueden ser Mlamadasindividuatmente por el svar en cualquier momenta de a sesiin de taba, vez que hayan sido "cargadas” ‘Algunas caractristicas en Ia creacién de nuevas funciones. = Mejor organizacion del programa para edicién, correcciém o simplemente para estudiar el desarrollo del mismo. = Una vez cargadas o realizadas las funciones, pueden ser utilizadas por otros programas LISP cargados después, en la misma sesin de trabajo, ~ Las funciones definidas se guardan en memoria y se pueden acceder a ellas ‘epetidamente, sin volver a cargar el archivo 0 programa LISP. KUNCION DEFUN. Para crear nuevas funciones, AutoLISP utiliza la funcién especial defun, que significa define function, y utiliza la siguiente estructura: » (defun nombre_funcién (argumentos / variables_locales) (otras funciones). ) onde los argumentos son las variables que utiliza Ia nueva funcién y que deberin suministrarse al ser ejecutada ésta; las variables locales, que también incluyen a los argumentos, son variables que van dentro del paréntesis seguidas del nombre de la nueva funcién, Si la(s) variable(s) local(es) se sitian después de la diagonal, ésta(s) silo seran visibles (0 actuantes) mientras la nueva funcién esté activa, y otras funciones no serén capaces de hacer uso de ésta, 4 ‘La creacin de nuevas funciones puede tener diferentes formato’:” (aefun nombre_funcion (arg!)..) woos Un argumento. (defun nombre_funcién (arg! arg2..arg n)..) . Varios argumentos, (ofua nombre funcién (vit V2..0ln)..) ‘Vasiables locales. “ (efun nombre-ancion (arl..argvl..vin)) ‘Argsy variables (defun nombre_funcién(),.) Sin args. i var. Con la funcién defun se pueden crear también nuevos comandos en AutoCAD, y para realizarse esto, se deben cumplir ciertas reglas: = El nombre del nuevo comando deberd ir prevedido por ¢: Ejemplo: (defun c:cuadro .....) = Deberd tenerse cuidado que el nombre del nuevo comando no sea igual al nombre de algin comando de AutoCAD, ya que lo sustituiria = No debe llevar argumentos, pero si se permiten variables locales. Ejemplo: (@efun c:cuadro ()...) Se pueden combinar en un programa LISP la creacién de nuevas funciones y creacién de muevos comandos, y se recomienda que el orden de la codificacién sea primero las nuevas, funciones y después los nuevos comandos. Una vez “cargado” el: archivo LISP que ‘contenga un programa estructurado de la forma explicada, el sistema respondera con el illtimo nuevo comando codificado. . Ejemplo: . ARCHIVO CUADRO. LSP FORMATO ASCCI woos (defun dibuja (...) . ) (defun c:cuadro () “ ) ¥y estando en el indicador de comandos de AutoCAD: (load "cuadro") 1 al sistema responder: ©:CUADRO Command: Con esto se forma el nuevo comando CUADRO y con solo teclear este nombre en el indicador de comandos, el programa se ejecutaré, a _Ejemplo: En un editor de textos, codificar el siguiente programa LISP. (defn jia(abed) (command "LINE" abed"c* ) (defun c:cuadro () (setq pl G3) ~ (Geta p2 163) (setq p3 (6 6) p4 "(3 6)) (baja pI p2 p3 p4) ) Le y archivarlo con un nombre vilido de DOS (se recomienda utilizar el mismo nombre del ‘nuevo comando creado), y con extension LSP . Ingresar a AutoCAD, cargarlo en la ‘memoria: (oad "nombre") cna linea de comandos, teclear cuadro J s El sistema ejecuta el programa LISP dibujando un cuadrado con lo; puntos. que internamente se asignaron, La funcién dibuja, se ejecuta con cuatro argumentos a, b, ey d ‘que vienen siendo los valores de pl, p2, p3 y p4 respectivamente. Estos valores en realidad son listas que llevan pares de valores y representan las coordenadas X,Y de los puntos en la formacion del cuadro. Se puede hacer uso de la funcién dibuja independientemente del programa, ya que se ‘encuentra "cargada" en memoria, dela manera anterior Si se desea realizar otro cuadro con coordenadas (2,2) (7,2) (7,7) y (2,7), se lamaria a la funcién dibyja y como la estructura de sus argumentos debe ser formato de listas, se realizaria (dibujo (ist 22) Gist 72) (et 77) ist 279) 2 ¥¥ con estos datos se dibuja un nuevo euadro, 2 CONVENCIONES DE SINTAXIS. FUNCIONES. Las funciones y expresiones en AutoLISP se ponen entre paréntesis, y todos éstos tienen ‘que exter igualados o equilibrados, es decir, un par de paréntesis tiene que rodear a cada funcion individual, Ejemplo: (load “talud”) - (Getq (getpoint “snponga punto iniia:“)) : La funcion se interpreta de izquierda a derecha. . . El primer miembro dentro del_paréntesis es Ia func u operador de funcién, cual es ‘una orden para que el intérprete de AutoLISP realic algo. Esta orden puede ser una fincién implicta de AutoLISP, una funcién creada por el usuario ‘un operadorartméico, El operador de funcién va. segu [Los argumentos son informacion de entrada con caracterstcas propia de la funcién que Tama a estos argumentos. Ejemplo, parala division 9.0/3.0 de todos los argumentos necesarios. * ‘en AutoLISP seria . (790 30) Paréntesis de apertura ‘Operador de funcién (ivisién) Primer argumento (dividendo) Segundo argumento (divisor) Paréntesis de ciere FF operador de fincién y sus argumentos estin separados al menos por un espacio, para que el interpretador pueda "saber" dénde termina uno y dénde empieza otro. Los espacios extra adicionales y los finales de linea, retornos de carro o [RIM], aun situados dentro fuera de los paréntesis, son ignorados por el interpretador de AutoL ISP. 2 Las funciones usan caracteres ASCCI estindares. El uso de maytisculas y minasculas es inistinto. EJEMPLOS. (Funciones con operadores aritméticos) Notacién Notacion convencional ‘AutoLISP 20° (9.0 30) o, 3.0 AutoLISP interpreta: “Haga una Division ; tome 9.0 y dividalo ve centre 3.0" 20440450 (20 40 50) : AutoLISP interpreta: "Haga una suma; sume 2.0 mis 4.0 mas 5.0", 9.08X 9.0%)70) . 710 AutoLISP interpreta: “Haga una division: sume 9.0 mas X 4 VARIABLES DE MEMORIA. Todos los lengusjes de programacién dependen del manejo de variables de memoria, puesto que es el medio por el cual se puede organizar, almacenar y llamar a la infomacién. [En AUIOLISP las variables tlenen las siguientes caracteristicas ‘Una parte de Ia memoria RAM de la computadora se asigna para contener Ia variable de memoria de AutoLISP, - ‘Al crearse una variable, se le da un nombre variable, us Una vez ereada la variable, ésta puede recibir un valor. A partir de ese momento cada variable esta ligada a eu valor. ‘Cuando una variable estéligada a un valor, una funcién puede hacer yso,del valor usando ‘el nombre dela variable, es deci, el interpretador de AutoL ISP sustituye el nombre por ef valor. Los nombres de las variables no deberin contener espacios, ni punt6s, ni comillas, ni paréntesis, Empiezan siempre con una letra (no un mimero) y pueden tener tantos fearacteres como se desee, Sin embargo, se recomienda utilizar hasta 6 caracteres para los nombres de las variables, ya que consumen menos memoria que si ¢8 igual o mayor de 7 caracteres : Une excepcién de variable de memoria que utiliza AutoLISP en AutoCAD y que es constante, es m, ya que se failita més el manejo del nombre x que teclear 3:1415926... por su preci ‘AutoLISP utiliza una funcién especial para crear variables de memoria (set2), y ligarlas a Valores. Esta fancién requtere tn minimo de dos argumentos. El primer argumento es et ‘nombre dela variable, el segundo, es el valor. ‘Una tnica funcién setq puede usarse para asignar valores a varias variables. Cuando setq se utiliza de esta manera, los argumentos de setq deberén ir en pares: primero el nombre de la variable, seguido del valor, otro nombre de variable, otro valor, y asi sucesivamente. ANIDAMIENTO. ‘Todds los resultados devueltos por las funciones se pueden utilizar como argumentos de otras funciones, a éste proceso se le llama anidamiento, El anidamiento puede tener varios niveles, ejemplo 25 (£11) unnivel, el valor devuelto sera 2 (+1611) dos nivetes, el valor sera 3 El interpretador de AutoLISP puede anidar hasta 100 niveles de profundidad, EJEMPLOS DE VARIABLES Y ASIGNACION. ‘Notacién Notacion oan convencional ‘AutoLISP . x=60 (setg x 6.0) “ X=10+20=3 — (Getqx(+1.0 20) Be Y=21+1 Gotqy(+(¢ 2.1) a L-1 un M-2 N=3 (setqL 1 M 2.N 3) * Otro ejemplo: AS3F Ba2 (6etq 2.(°3 F)B2.C(-G1)DUH3), Para saber el valor de una variable, en una forma répida, se teclea un signo de exclamacién seguido del nombre de la variable, en el indicador de comandos de AutoCAD. Ejemplo: (setq al 6.0) Jal AutoCAD devolverd 6.0 EL SIGUIENTE LISTADO CONTIENE LAS FUNCIONES MAS IMPORTANTES QUE SE UTILIZAN EN LA PROGRAMACION AutoLISP, LAS CUALES SERAN 'EXPUESTAS EN LOS SIGUIENTES LISTADOS DE REFERENCIA. (abs ) CConvirte un nimero real o entero on valor absoluo,Fjomplo: (abs 30) dewelve 30 (203-26) devucive 26 (0s 26.34) devuelve 25.34 . (angle

) Caleula el éngulo formado por dos puntos en relacién al angulo cerb que se encuentra predefinido en AutoCAD, y lo expresa en radianes. ’ (setq ptt ‘(1 1) pr2 (5 5) (angle ptl pt2) devuelve 0.785398 (angtos []]) Convierte un nimero (que representa un angulo en radianes), en una cadena de caracteres. Los argumentos modo y procisign son nimeroe enteros y loe formatos son los siguientes: modo formato 0 grades sexagtsimales 1 grados/minstos/segundos 2. gradoscentesimales 3 radianes 4 umidades de topografia (rumbos) a EJEMPLO: (Geta ptt 1) p25 5) (6etq a (angle ptt pt2)) (angtos 2 0 0) devuelve "45" (angtos a0 4) devuelve "45.0000" (angios | 4) devuelve "45400" ~ (angtos 2 3 4) devuelve "0.78541" * . (angios 24 2) devuelve "N 45d0' E” (ATAN []) . 1 . Calcula el arco tangente. Se require de al menos un nimero como argument, si se proporcionan dos nimeros, atan calcula cl arco tangente del cociente del primer nimero dividido pore segundo. (etan0.5) dewuelve 0.463648 (etan.02) dewelve 0.463648 (atan-1.0) devuelve -0.785398 (car ) * Extrae el primer elemento de una lisa (6etg pet (1.1) p25 5)) (car ptl) devuelve 1 (car pi2)—_devuelve S 28 (cade ) Extrae el segundo elemento de una lista, (etq pt (1) p25 5)) (cade ptt) devuelve 1 (cade pt2) devuelve S (cadr'(3.045.2)) devuelve 4 (cade'(t13.0) —devuelve 1 ' (cade'()) dewuelve nil a (caddr ) ‘ Extrae el tecer elemento de una lista. - (setq ptt (11.0) pi25 5 0) (cadér ptt) devuelve 0 (cadér pt2) dewuelve 1 (cadér (3.04 5.2))_ devuelve 5.2 (cadds't13.0)) — devuelve 3.0 (cadar 9) devuelve nit (cdr ) [Extrae una sublista formada por todos los elementos de la lista utiizada como argumento, con excepei6n del primer elemento, (etq pel (1 1 0) p2 55.1) (cdr ptt) devuelve (1.0) (cdr pt2)——_dewuelve (5 1) 29 (command ...) [Ejecuta comandos de AutoCAD. Los argumentos seran validos para el comando que se cjecuta de acuerdo a su naturaleza. A continuacion se presentan algunas restricciones 1.-Eleditor de dibujo debe estar en Ia zona de comandos y esperando un comando cuando ee llamada por primera vez esta funcién, 2. Los argumentos de cadena deben estar entrecomillados. 3.-No se pueden utilizar funciones get dentro de la funcién command. 4~No‘es posible lamar a los comandos DTEXT 0 SKETCH con esta fungién. 5-lcomando SCRIPT puede lamarse, pero AutoCAD no puede resresar el programe AutoLISP, una vez terminado el proceso de script La funcién command acepta un simbolo predefinido llamado pause. Guando se encuentra este simbolo, AutoCAD se detiene y espera alguns entrada de informacién del usuario; después , continia su rutin, - (etq co 3)) (etq ptl (1 1) p25 5) (Command "circle" cc pause “line ptl pt2") En el ejemplo anterior se ejecuta el comando CIRCLE siendo su punto del centro ce. El simbolo pause detiene el proceso de ejecucién del comando CIRCLE para obtener una entrada de informacion, que en este caso seré el radio 0 dimetro del cireulo, Una vez que ‘el usuario proporcione esta entrada, el proceso continia, ahora llamando al comando LINE cl cual tiene su punto initial en pt y el siguiente punto es pt2. Las comillas que siguen simulan un y la linea finaliza, terminando la funcién command, (if () () () ) Este comando es una de las estructuras bisicas de programacién: Ia secuencia alternativa. La funcién IF evalia la expresién indicada como condicion en . Si el resultado no es “nil “ , entonces pasa a evaluar la expresién contenida en resultado verdadero, En este caso devuelve el resultado de esta expresion. 30 Si e5 “nil” , entonces pasa a evaluar la expresion contenida en en el caso de que se haya indicado y devuelve su resultado . Si no se ha indicedo resultado flso> , devuelve “nil” EIEMPLO, (setq pt (getpont “primer punto: *) (setq pe (getpont “Segundo punto: “) - (pe pe) oan (promt “son iguales”) (promt “no son igules”) an ) I ejemplo anterior acepta dos punts inttoducidos pore usuario y*espués compara si las os lses que represetan esos puntos son iguales, con el comando de Operacion logic ~" {que significa igual. Si son iguales, el resultado de es cierto y entonces IF devuelve PROMPT “son iguales”. Si no son iguales, el resultado de es “ni ‘con lo que IF devuelve PROMPT “no son iguales” El comando IF requiere indicar como minimo dos lista la primera tista como condici6n y Ja segunda como accién a efectuar si se cumple ésta (seria la rama del “si” de la estructura alterativa), Una tercer lista optetiva especifica la accion a efectuar si no se cumple Ia ccondicion (a rama del “no” de la alternativa). (cos ) Fl argumento debera expresarse en radianes y la funcién cos calcula el coseno de este angulo (6080.0) devuelve 1.0 (cos pi) devuelve 1.0 (defun ..) Define una nueva funcién AutoLISP 0 un nuevo comando, Esta funcién requiere de los siguientes argumentos y en este orden: 31 EI nombre de la funci6n o del comando que se erea. Una lista de argumentos requerides por la funcién y las variables locales en memoria para sa funcion. Una serie de expresiones vlidas de AutoLISP para ser evaluadas cuando sea llamada la funcién, EI primer argumento de la funcién defin debe ser el nombre de Ia funcion que se esté construyendo. El segundo, es una lista de simbolos Hamada lista de argumentos, Estos ‘argumentos representan a los que son requeridos por la nueva funci6rt (en el caso de que se requicran), mas las variables locales usadas dentro de la funcién. Los argumentos en Ia lista estan separados de las variables locales usando tina diagonal (/); si la lista no contiene ta diagonal, todos los miembros dela lista se asumen como argumentos. Las Variables locales (las que se declaran después de Ia diagonal) solo funcionarin dentro de Ia funcién en ta ‘cual estén situadas y sus valores no permanecerin en memoria. Si se requiere para otros pasos posteriores, ésta simplemente no argumentos. Para crear nuevos comandos, se utiliza la misma sintaxig que erear funciones ‘en AutoLISP, pero se antepone c: al nombre dela funcién. (@efun ww (cya) -, (setq aC 2x) b (Pay) (w23) devuelve 12 (ww 14) devuelve 8 la variable @ no permanece en memoria, mientras que la variable b si (distance )_* CCalcula la distancia entre dos puntos en 2D o 3D, segin el formato de ptl y pt2 (etq pl '(.0 1.0) p20 1.0)) (Gistance pl p2) devuelve 2.0 (Getq p3 (1.0 1.0) p41B.0 1.0 1.0)) (Gistance p3 pd) devuelve 2.0 (Getq p5 '(1.02.00.5) p6'3.04005)) (stance pS p6 _ devuelve 2.82843 2 (getangle [] [)) Los dos argumentos de getangle son opcionales, se pueden usar uno 0 fos dos; si se tilizan ambos, el argumento de punto (pt) debe aparecer primero. Esta funcién de entrada de informacion angular puede ser dada a través del teclado en el formato convencional, pero ‘AutoLISP convierteinternamente los datos en radianes. Esta funcion también acepta datos intcoducidos seleccionando dos puntos en pantalla, AutoCAD lee el angulo formado por Gstos on ol sistema actual de unidades de grado y direccién angular. Si el argumento festa presente, AutoCAD tome ese punto como el primer punto introducido, una lines *estirable” aparecera extendiéndose a partir de este punto hasta el puntero del cursor y el usuario podra seleccionar el segundo punto, El argumento puede ser cualquier cadena de caracteres apropiads y se mostrar como una peticion para el usuario en el area de comandos. wy (seta ngul (gene) pide ds puts. (eg angulo getangle(1.01.0)); pide esegundo punto. (6etqangulo (getangle "Marque ls puss"); pide dos punts, con hen. (tq angulo (getangle (1.01.0) 240, punto"), pide el seaundetpunto, con mensije (getdist [] []) El sistema hace una pausa para que el usuario introduzca un"nimero real, el cual representara una distancia No requiere argumentos pero tiene dos opciones [pt] y [mensaje], se puede utilizar uno o los dos argumentos; si se usan ambos, el punto debe parecer primero. La informacién puede suministrarse via teclado con el formato actual de tunidades en pantalla, AutoLISP lo convertira intemamente en un nimero real con decimales. Sila informacién entra con el mouse, el sistema solicta al usuario dos puntos y ‘AUIOLISP calcula la distancia entre éstox; a menos que ol argumento eeé pretente, ol sistem solctard el segundo punto, (setq dl (getdist)) (tq 2 (geist (1.0 1.0) (setq 63 (getdist "De dos puntos:")) (etq 42 (getdist (1.0 1.0) "2do. punto:")) 3 (getpoint []) El proceso se detiene para la introduccién de un punto. Si el punto se suministra via teclado, el formato se haré de la forma convencional X,Y 0 X,Y,Z, otra forma es sefalarlo ‘con el mouse. En ambos casos, AutoLISP conver esta informacion en lista. (setq pl (getpoint)) (Geta p2 (getpoint"Punto:")) (Getq p3 (getpoint (1.0 1.0) "Punto: ")) (getreal []) EI proceso se detiene para Ia introduccién de un nimero real. Via tecledo, el nimero se ‘acepta en el formato vigente de unidades pero AutoLISP lo convertir internamente en rimero decimal real, No es posible seleccionar puntos en pantalla con esta funcién. (Getq mum (getreal)) : (etq num? (getreal "Numero:")) (getstring []Imensaje>]) El proceso se detiene para la introduccién de una cadena de caracteres. Esta funcién no require argumentos, si se utiliza sin argumentos, getstring aceptari una cadena de caracteres; si se utiliza el argumento , debe ser un simbolo; generalmente se utiliza el simbolo T (true), el cual no deberé ser cadena ni ser nulo; getsring permitira que se incluyan espacios entré cadenas de caracteres. Existe un limite de 132 caracteres que acepta gestring, pero se podrin concatenar cadenas mas largas con el apoyo de la funcién sircat, la cual se explica més adelante. (etq cad (getstring)) (set cad2 (getstring * nNombre de pila") (etq ond3 (getstring T" Nombre completo:")) 34 (geevar ) Extrae un valor almacenado en alguna variable de sistema de AutoCAD. El nombre de la variable deberé ir entrecomillada, (setq al (getvar "AREA")) (setq archivo (getvar “dwgname")) (eraphser) vo Esta funcién no requiere argumentos. Cambia la presentacion te pantalla de texto al modo ‘gr ifico, En caso contrario, se utiliza la funcin texts. (if []) Evalia una expresién ; en caso de satisfacerse esta -expresion, realiza , Si no existe el tercet argumento (opcional), el proceso continia. Si el primer argumento no se satisface o es nulo, el segundo argumento no se procesa y el interpretador sc dirige la enpresién ) Exarte el titimo elemento de una lista. Si el argumento es nolo, dewelve una fst ‘onteniendo un simbolonulo, Si el argumento es una lista vacia, devuelve un no, (Gera ist (ist 123.49) (set sta (ist'4'b )) (cet inte cist Q)) (ost tiaat) — devuelve 4 . . (last lisaz) —_devuelvee (last ita) devuelve (nit) (ist .) - Crea listas y requiere de al menos un argumento, que puede ser cualquier simbolo 0 cexpresin AutoLISP valida (seta 1b203) distabo) dewuelve (1.2.3) (ist'a'c) ——devuelve (ab) (ist 1.29.05.1) dewuelve (129.05.1) ist "a" * "P) devuelve ("6 36

You might also like