You are on page 1of 13

Manual de Autocad

Comandos: C
CAL
Calcula expresiones matemáticas y geométricas

Línea de comando: cal (o 'cal para uso transparente)


CAL es una calculadora de geometría en pantalla que trabaja con expresiones de puntos (vectoriales), de
números reales y de números enteros. Las expresiones pueden acceder a la geometría existente mediante
®
funciones de referencia a objetos como CEN, END e INS. Es posible insertar variables de AutoLISP en la
expresión aritmética y volver a asignar el valor de la expresión a una variable de AutoLISP. Se pueden usar
®
estas expresiones aritméticas y vectoriales en cualquier comando de AutoCAD que reconozca puntos,
vectores o números.
Temas relacionados con CAL:
• Sintaxis de las expresiones
• Formato de pies y pulgadas
• Formato de ángulos
• Utilización de puntos y vectores
• Utilización de variables AutoLISP
• Utilización de variables de sistema de AutoCAD
• Conversión de unidades de medida
• Utilización de funciones numéricas estándar
• Cálculo de vectores a partir de dos puntos
• Cálculo de la longitud de vectores
• Obtención de un punto con el cursor
• Obtención del último punto precisado
• Utilización de los modos de referencia a objetos de AutoCAD en expresiones aritméticas
• Conversión de puntos entre el SCP y el SCU
• Cálculo de un punto en una línea
• Rotación de un punto alrededor de un eje
• Obtención de un punto de intersección
• Cálculo de distancias
• Obtención de radios
• Obtención de ángulos
• Cálculo de vectores normales
• Utilización de funciones abreviadas

Sintaxis de las expresiones


CAL calcula las expresiones conforme a las reglas matemáticas de prioridad habituales:
• En primer lugar las expresiones entre paréntesis, comenzando por los paréntesis situados más
adentro.
• Operadores en el orden estándar: primero los exponentes, luego las multiplicaciones y divisiones, y
por último las adiciones y sustracciones.
• Operadores con la misma prioridad de izquierda a derecha.

Expresiones numéricas
Las expresiones numéricas son números enteros reales y funciones combinadas con los operadores que
se indican en la siguiente tabla.

139
Manual de Autocad

Operadores numéricos

Operador Operación

() Grupos de expresiones

^ Indica exponenciación

*,/ Multiplica, divide

+, - Adiciona, sustrae

A continuación se presentan algunos ejemplos de expresiones numéricas:


3
3 + 0.6
(5,8^2) + PI

Expresiones vectoriales
Una expresión vectorial es un conjunto de puntos, vectores, números y funciones combinados con los
operadores que se indican en la siguiente tabla.

Operadores vectoriales

Operador Operación

() Grupos de expresiones

Producto vectorial de vectores (el resultado es un vector)


&
[a,b,c]&[x,y,z] = [(b*z) - (c*y), (c*x) - (a*z), (a*y) - (b*x)]

Producto escalar de vectores (el resultado es un número real)


*
[a,b,c]*[x,y,z] = ax + by + cz

Multiplicación y división de un vector por un número real


*, /
a*[x,y,z] = [a*x,a*y,a*z]

Adición y sustracción de vectores (puntos)


+,-
[a,b,c] + [x,y,z] = [a+x,b+y,c+z]

A continuación se presentan ejemplos de expresiones vectoriales:


A+[1,2,3] calcula el punto situado a [1,2,3] unidades del punto A.
La expresión
[2<45<45] + [2<45<0] - [1.02, 3.5, 2]
suma dos puntos y resta un tercero. Los dos primeros puntos están expresados en coordenadas esféricas.

Formato de pies y pulgadas


Indique los pies y las pulgadas según este formato:
pies'-pulgadas" o pies'pulgadas"
La expresión se convierte en un número real partiendo de pulgadas, como en los ejemplos siguientes:
2'-5" se convierte en 2*12+5 = 29

140
Manual de Autocad

5" se convierte en 0*12+5 = 5


2' se convierte en 2*12+0 = 24

Formato de ángulos
Las unidades por defecto de los ángulos son los grados en fracción decimal. Indique los ángulos según el
formato siguiente:
graddmin'seg"
Indique 0 y d (0d) si el ángulo es de menos de 1 grado (sólo minutos y segundos). Puede omitir los minutos
y segundos si son iguales a cero.
Escriba un número seguido de r para indicar ángulos en radianes. Escriba un número seguido de g para
indicar ángulos en grados centesimales.
En estos ejemplos se muestran formas de indicar ángulos:
124.6r
14g
5d10'20"
0d10'20"
AutoCAD convierte los ángulos indicados en cualquier formato en grados decimales.
Pi radianes equivalen a 180 grados sexagesimales y 100 grados centesimales a 90 grados sexagesimales.

Utilización de puntos y vectores


Los puntos y vectores son pares o tríos de números reales. Un punto define una posición en el espacio,
mientras que un vector define una dirección (o traslación) en el espacio.
Algunas de las funciones de CAL, como pld y plt, dan como resultado un punto. Otras, como nor y vec,
devuelven un vector.

Formato de puntos y vectores


Un punto o un vector es un conjunto de tres expresiones reales entre corchetes ([ ]): [r1,r2,r3]
La notación p1, p2, etc. representa puntos. La notación v1, v2, etc., representa vectores. En los dibujos, los
puntos aparecen como puntos y los vectores como flechas.
CAL permite expresar los puntos en cualquier formato de AutoCAD.

Formatos de punto

Sistema de coordenadas Formato de punto

Polar [dist<ángulo]

Cilíndrico [dist<ángulo,z]

Esférico [dist<ángulo1<ángulo2]

Relativo Utiliza el prefijo @ [@x,y,z]

SCU (en lugar de SCP) Utiliza el prefijo * [*x,y,z]

Se pueden omitir los siguientes componentes de un punto o vector: coordenadas de valor cero y comas
situadas inmediatamente delante del corchete derecho (]).
Los puntos válidos son:
[1,2] equivale a [1,2,0]
[,,3] equivale a [0,0,3]
[ ] equivale a [0,0,0]

141
Manual de Autocad

En el ejemplo siguiente, el punto se indica en el sistema de coordenadas esférico relativo en relación con el
SCU. La distancia es 1+2=3; los ángulos son 10+20=30 grados y 45 grados, 20 minutos.
[@*1+2<10+20<45d20"]
Éste es un punto válido cuyos componentes son expresiones aritméticas:
[2*(1.0+3.3),0.4-1.1,2*1.4]
El ejemplo siguiente utiliza la función de referencia a objetos Punto final y el vector [2,0,3] para calcular un
punto desfasado respecto a un punto final designado.
end + [2,,3]
El punto calculado tiene un desfase de dos unidades en la dirección X y de tres unidades en la dirección Z
respecto al punto final designado.

Utilización de variables AutoLISP


Puede utilizar variables de AutoLISP con expresiones aritméticas. Las variables tienen que ser de uno de
los tipos siguientes: reales, enteras o de puntos 2D o 3D (vectoriales).
Este ejemplo define un punto situado 5 unidades en la dirección X y una unidad en la dirección Y del punto
almacenado en la variable A de AutoLISP.
A+[5,1]
Si usa una variable de AutoLISP cuyo nombre contiene un carácter con un significado especial en CAL,
como +, -, *, o /, incluya el nombre entre apóstrofos ('), por ejemplo:
'número-de-agujeros'

Asignación de valores a variables de AutoLISP


Para asignar un valor a una variable de AutoLISP, anteponga el nombre de la variable y el signo igual (=) a
la expresión aritmética. Después podrá utilizar el valor de esta variable en otros cálculos.
El ejemplo siguiente guarda los valores de dos expresiones en las variables P1 y R1 de AutoLISP.
Comando: cal
>> Expresión: P1=cen+[1,0]
>> Designe entidad para CEN forzcursor: Designe un círculo o un arco
Comando: cal
>> Expresión: R1=dist(end,end)/3
>> Designe entidad para END forzcursor: Designe un objeto con un punto final
Este ejemplo utiliza los valores de las variables P1 y R1:
Comando: circulo
Precise punto central para círculo o [3P/2P/Ttr (Tangente tangente radio)]: 'cal
>> Expresión: P1+[0,1]
Precise radio de círculo o [Diámetro] <último>: 'cal
>> Expresión: R1+0.5

Utilización de variables de sistema de AutoCAD


Puede utilizar la función de AutoLISP getvar para leer el valor de una variable de sistema de AutoCAD.
Ésta es la sintaxis:
(getvar "nombre_variable")
El siguiente ejemplo utiliza getvar para obtener el punto que es el centro de la vista que aparece en la
ventana gráfica actual.
(setq c (getvar "viewctr"))

Conversión de unidades de medida


La función cvunit de AutoLISP permite convertir un número o un punto de una unidad de medida a otra.
Véase el archivo Support/acad.unt para obtener una lista de las unidades que pueden convertirse. Ésta es
la sintaxis:
cvunit(valor, unidad que hay que convertir, unidad a la que hay que convertir)
Este ejemplo convierte el valor 1 de pulgadas a centímetros:
142
Manual de Autocad

cvunit(1,pulgada,cm)

Utilización de funciones numéricas estándar


CAL admite las funciones numéricas estándar indicadas en la siguiente tabla.

Funciones numéricas

Function Descripción

sin (ángulo) Seno del ángulo

cos(ángulo) Coseno del ángulo

tang(ángulo) Tangente del ángulo

asin(real) Arcoseno del número, el número debe estar entre -1 y 1

acos(real) Arcocoseno del número, el número debe estar entre -1 y 1

atan(real) Arcotangente del número

ln(real) Logaritmo natural del número

log(real) Logaritmo en base 10 del número

exp(real) Exponente natural del número

exp10(real) Exponente en base 10 del número

sqr(real) Cuadrado del número

sqrt(real) Raíz cuadrada del número, el número no debe ser negativo

abs(real) Valor absoluto del número

round(real) Número redondeado al valor entero más próximo

trunc(real) Parte entera del número

r2d(ángulo) Ángulos en radianes convertidos a grados, por ejemplo, r2d(pi) convierte la constante pi a 180 grados

Ángulos en grados convertidos en radianes, por ejemplo, d2r(180) convierte 180 grados en radianes y
d2r(ángulo)
devuelve el valor de la constante pi

pi Constante pi

Cálculo de vectores a partir de dos puntos


Las funciones vec y vec1 calculan un vector a partir de dos puntos.
vec(p1,p2)
Calcula el vector desde el punto p1 al p2.

143
Manual de Autocad

vec1(p1,p2)
Calcula el vector unitario desde el punto p1 al p2.
El ejemplo siguiente utiliza CAL para desplazar los objetos designados tres unidades en la dirección desde
el centro de un círculo designado al centro de otro círculo designado:
Comando: desplaza
Designar objetos
Precise el punto base o de desplazamiento: 'cal
>> Expresión: 3*vec1(cen,cen)
Designe entidad para CEN forzcursor: Indique un círculo o un arco
Precise segundo punto del desplazamiento o <usar primer punto como desplazamiento>: Designe un punto o pulse
INTRO
Los siguientes ejemplos ilustran el significado de los cálculos de vectores y puntos.

Ejemplos de cálculos de vectores y puntos

Expresión Significado

vec(a,b) Determina la traslación vectorial del punto a al punto b.

vec1(a,b) Determina la dirección del vector unitario del punto a al b.

L*vec1(a,b) Determina el vector de longitud L en la dirección que va desde el punto a al punto b.

a+v Determina el punto b, que es una traslación del punto a a lo largo del vector v.

Determina el punto b situado a 5 unidades del punto a en un ángulo de 20 grados. Observe que
a+[5<20]
[5<20] es un vector en coordenadas polares.

Cálculo de la longitud de un vector


La función abs calcula la longitud de un vector.
abs(v)
Calcula la longitud del vector v, un número real no negativo.
En coordenadas esféricas (dist<áng<áng), siendo dist la longitud del vector.
Este ejemplo calcula la longitud del vector [1,2,3]:
abs([1,2,3])

Obtención de un punto con el cursor


Para especificar un punto con el dispositivo señalador, utilice la función cur. AutoCAD solicitará que indique
un punto y utilizará los valores de las coordenadas del punto en la expresión. Los valores de las
coordenadas se expresan respecto al SCP actual. La función cur define el valor de la variable de AutoCAD
LASTPOINT.

144
Manual de Autocad

En el ejemplo siguiente se añade el vector [3.6,2.4,0], el resultado de 1.2*[3,2], al punto designado. Esta
expresión genera un punto desfasado respecto al punto designado.
cur+1.2*[3,2]

Obtención del último punto precisado


Utilice el carácter @ en la expresión para obtener la coordenada del último punto, como en el ejemplo
siguiente:
Comando: linea
Precise primer punto: 'cal
>> Expresión: cen+[0,1]
>> Designe entidad para CEN forzcursor: Seleccione un círculo o un arco
Precise punto siguiente o [desHacer]: 'cal
>> Expresión: @+3*vec1(cen,cen)
El primer punto de la línea se encuentra a una unidad en la dirección Y desde el centro del primer círculo
seleccionado. El segundo punto de la línea se encuentra a tres unidades de distancia del primer punto. La
línea está orientada en la dirección del centro del primer círculo designado al centro del segundo círculo
designado.

Utilización de los modos de referencia a objetos de AutoCAD en expresiones


aritméticas
Es posible utilizar los modos de referencia a objetos de AutoCAD como parte de las expresiones
aritméticas. AutoCAD solicita que el usuario designe un objeto y devuelve las coordenadas del punto de
referencia adecuado. La utilización de expresiones aritméticas con modos de referencia a objetos simplifica
notablemente la introducción de coordenadas respecto a otros objetos.
Cuando use estos modos de referencia a objetos, escriba sólo el nombre de tres caracteres. Por ejemplo, si
utiliza el modo Centro, escriba cen. Los modos de referencia a objetos de CAL establecen el valor de la
variable de sistema LASTPOINT.

Modos de referencia a objetos de CAL

Abreviatura Forzcursor, modo

END PUNTO FINAL

INSERT INSERT

INT INTERSECCIÓN

MID PUNTO MEDIO

CEN Centro

NEA CERCANO

NOD PUNTO

QUA CUADRANTE

PER PERPENDICULAR

TAN TANGENTE

Este ejemplo usa los modos de referencia a objetos Centro y Punto final en una expresión CAL:

145
Manual de Autocad

(cen+end)/2
CAL solicita un círculo o un arco y un objeto. A continuación determina el punto medio entre el centro del
círculo o arco y el extremo del objeto designado.
En el siguiente ejemplo al usar el modo de referencia a objetos Punto medio y CAL se solicita un objeto y
devuelve un punto situado una unidad por encima del punto medio del objeto designado, en la dirección Y:
mid+[,1]
El ejemplo siguiente utiliza el modo de referencia a objetos Punto final para calcular el centro de gravedad
de un triángulo definido por tres puntos finales:
(end+end+end)/3

Conversión de puntos entre el SCP y el SCU


En AutoCAD, las coordenadas suelen expresarse respecto al SCP actual. Las funciones siguientes
permiten convertir puntos entre el SCP y el SCU.
w2u(p1)
Convierte el punto p1 del SCU al SCP actual.
u2w(p1)
Convierte el punto p1 del SCP actual al SCU.
Se puede usar w2u para hallar el origen del SCU en términos del SCP actual:
w2u([0,0,0])

Filtro de los componentes X, Y y Z de un punto o vector


Las siguientes funciones filtran las componentes X, Y y Z de un punto o vector.

Funciones de filtros de coordenadas

Function Descripción

Componentes
xyof(p1)
X e Y de un punto; el componente Z toma el valor 0.0

Componentes
xzof(p1)
X y Z de un punto; el componente Y toma el valor 0.0

Componentes
yzof(p1)
Y y Z de un punto; el componente X toma el valor 0.0

Componente
xof(p1)
X de un punto; los componentes Y y Z toman el valor 0.0

Componente
yof(p1)
Y de un punto; los componentes X y Z toman el valor 0.0

Componente
zof(p1)
Z de un punto; los componentes X e Y toman el valor 0.0

Componente
rxof(p1)
X de un punto

ryof(p1) Componente

146
Manual de Autocad

Y de un punto

Componente
rzof(p1)
Z de un punto

En el siguiente ejemplo se calcula el componente Z de un punto expresado en coordenadas esféricas:


zof([2<45<45])
Este ejemplo calcula un punto cuyas coordenadas X e Y se toman del punto a y cuya coordenada Z se
toma del punto b:
xyof(a)+zof(b)

Cálculo de un punto en una línea


Las funciones plt y pld devuelven un punto en una línea determinada. Se puede especificar la posición del
punto en una línea calculando su distancia respecto al primer punto o con un parámetro t.
pld(p1,p2,dist)
Calcula un punto en la línea que pasa por los puntos p1 y p2. El parámetro dist define a qué
distancia está el punto del punto p1.
plt(p1,p2,t)
Calcula un punto en la línea que pasa por los puntos p1 y p2. El parámetro t define la posición
paramétrica del punto en la línea.
A continuación se pueden ver ejemplos del parámetro t:
Si t=0, el punto es p1
Si t=0.5, el punto es el punto medio entre p1 y p2
Si t=1, el punto es p2

Rotación de un punto alrededor de un eje


La función rot hace girar un punto alrededor de un eje y devuelve el punto resultante.
rot(p,origen,áng)
Gira un punto p por el ángulo áng alrededor del eje Z pasando por el punto origen, tal y como se
muestra en el siguiente ejemplo:

rot(p,AxP1,AxP2,áng)
Gira un punto p por el ángulo áng alrededor del eje que pasa por los puntos AxP1 y AxP2, tal y como
se muestra en el ejemplo siguiente. El eje está orientado desde el primer punto al segundo.

147
Manual de Autocad

Obtención de un punto de intersección


Las funciones ill e ilp determinan puntos de intersección.
ill(p1,p2,p3,p4)
Determina el punto de intersección entre dos líneas (p1,p2) y (p3,p4). AutoCAD considera todos los
puntos tridimensionales.
ilp(p1,p2,p3,p4,p5)
Determina el punto de intersección entre una línea (p1,p2) y un plano que pasa por tres puntos
(p3,p4,p5).

Cálculo de distancias
dist(p1,p2)
Determina la distancia entre dos puntos, p1 y p2. Equivale a la expresión vectorial abs(p1-p2).
dpl(p,p1,p2)
Calcula la distancia más corta entre el punto p y la línea que pasa por los puntos p1 y p2.

dpp(p,p1,p2,p3)
Determina la distancia de un punto p a un plano definido por tres puntos (p1,p2,p3).
dist(p1,p2)
Determina la distancia entre dos puntos, p1 y p2. Equivale a la expresión vectorial abs(p1-p2).

El ejemplo siguiente devuelve la mitad de la distancia entre los centros de dos objetos designados:
dist(cen,cen)/2
El ejemplo siguiente halla la distancia entre el punto (3,2,4) y un plano definido por tres puntos
finales:
dpp([3,2,4],end, end, end)

Obtención de radios
La función rad determina el radio de un objeto designado.
rad
Determina el radio de un objeto designado. El objeto puede ser un círculo, un arco o un segmento de
arco de polilínea 2D.
En el siguiente ejemplo se utiliza rad con el comando CIRCULO. El radio del círculo nuevo es dos
tercios del radio del segmento de arco de polilínea designado:
Comando: circulo
Precise punto central para círculo o [3P/2P/Ttr (Tangente tangente radio)]: cen

148
Manual de Autocad

de Designe el círculo
Precise radio de círculo o [Diámetro] <último>: 'cal
>> Expresión: 2/3*rad
>> Designe círculo, radio o segmento de polilínea para la función RAD: Seleccione el círculo

Obtención de ángulos
La función ang determina el ángulo que existe entre dos líneas. Los ángulos se miden en sentido contrario
a las agujas del reloj respecto al eje X en 2D, o respecto a un eje especificado por el usuario en 3D.
ang(v)
Determina el ángulo entre el eje X y el vector v. El vector v se considera bidimensional y proyectado
en el plano XY del SCP actual.
ang(p1,p2)
Determina el ángulo entre el eje X y la línea (p1,p2), orientada de p1 a p2. Los puntos se consideran
2D, proyectados en el plano XY del SCP actual.
ang(vértice,p1,p2)
Determina el ángulo que existe entre las líneas (vértice,p1) y (vértice,p2). Los puntos se consideran
2D, proyectados en el plano XY del SCP actual.
ang(vértice,p1,p2,p)
Determina el ángulo que existe entre las líneas (vértice,p1) y (vértice,p2). Las líneas se consideran
3D. El último parámetro, punto p, se utiliza para definir la orientación del ángulo. El ángulo se mide
en sentido contrario a las agujas del reloj respecto al eje que va desde el vértice a p.
Los ejemplos siguientes muestran la forma en la que se miden los ángulos.

Se puede determinar el ángulo existente entre los dos lados de un triángulo mediante la función ang tal y
como se muestra en el siguiente ejemplo:
Comando: cal
>> Expresión: ang(end,end,end)
Designe el vértice del ángulo y, a continuación, los dos vértices opuestos.

149
Cálculo de vectores normales
función nor calcula el vector normal unitario (un vector perpendicular a una línea o un plano), no un
to. El vector define la dirección de la normal, no una posición en el espacio. Puede añadir este vector
normal a un punto para obtener otro punto.
nor
Determina el vector normal unitario 3D de un círculo, arco o segmento de arco de polilínea
designado. Este vector normal constituye la coordenada Z del sistema de coordenadas de objeto
(SCO) del objeto designado.
nor(v)
Determina el vector normal unitario 2D del vector v. Los dos vectores son bidimensionales y están
proyectados en el plano XY del SCP actual. El vector normal resultante está orientado hacia la
izquierda del vector original v.
nor(p1,p2)
Determina el vector normal unitario 2D a la línea p1,p2. La línea se orienta de p1 a p2. El vector
normal resultante está orientado hacia la izquierda de la línea original (p1,p2).
nor(p1,p2,p3)
Determina el vector normal unitario 3D al plano definido por los tres puntos p1, p2 y p3. La
orientación del vector normal es tal que los puntos se sitúan en sentido contrario a las agujas del
reloj con respecto a la normal.
Los ejemplos siguientes muestran la forma en la que se calculan los vectores normales:

El ejemplo siguiente sitúa la dirección de la vista perpendicular a un objeto designado. AutoCAD muestra el
objeto de vista en planta y no lo deforma mediante la proyección paralela.
Comando: ptovista
Dirección de vista actual: VIEWDIR=actual
Precise un punto de vista o [Rotación] <muestra brújula y trípode>: 'cal
>> Expresión: nor
>> Designe círculo, arco o polilínea para la función NOR:

Utilización de funciones abreviadas


Las siguientes funciones constituyen formas abreviadas de expresiones utilizadas con frecuencia. En ellas
se combinan algunas de las funciones anteriormente definidas y el modo de referencia a objetos Punto
final:

Funciones abreviadas

Function Forma abreviada Descripción

dee dist(end, end) Distancia entre dos puntos finales

150
Manual de Autocad

ille ill(end,end,end,end) Intersecci s líneas definidas por cuatro puntos finales

mee (end+end)/2 Punto medio entre dos puntos finales

nee nor(end,end) Vector unitario en el plano XY y normal a dos puntos finales

vee vec(end,end) Vector entre dos puntos finales

vee1 vec1(end,end) Vector unitario entre dos puntos finales

151

You might also like