Referencia de las funciones DIESEL

La recuperación, el cálculo y la visualización del estado se realizan por medio de funciones DIESEL.

Todas las funciones tienen un límite de 10 parámetros, entre los que se incluye el nombre de la función.

Función Descripción/ejemplo
+ (suma)

Devuelve la suma de los números val1 , val2 , …, val9 .

$(+, val1 [, val2, …, val9])

Si la altura actual de objeto se ha definido como 5, la cadena siguiente en lenguaje DIESEL devolverá 15.

$(+, $(getvar, thickness), 10)
– (resta)

Devuelve el resultado de restar los números val2 a val9 de val1 .

$(-, val1 [, val2 , …, val9])
* (multiplicación)

Devuelve el resultado de multiplicar los números val1 , val2 , …, val9 .

$(*, val1 [, val2, …, val9])
/ (división)

Devuelve el resultado de dividir el número val1 por val2 , …, val9 .

$(/, val1 [, val2, …, val9])
= (igual que)

Si los números val1 y val2 son iguales, la cadena devuelve 1; de lo contrario, devuelve 0.

$(=, val1, val2)
< (menor que)

Si el número val1 es menor que val2 , la cadena devuelve 1; de lo contrario, devuelve 0.

$(<, val1, val2)

La siguiente expresión obtiene el valor actual de HPANG; si el valor es menor que el valor almacenado en la variable de sistema USERR1, devuelve 1. Si en USERR1 está almacenado el valor 10.0 y el parámetro actual de HPANG es 15.5, la siguiente cadena devuelve 0.

$(<, $(getvar, hpang), $(getvar, userr1))
> (mayor que)

Si el número val1 es mayor que val2 , la cadena devuelve 1; de lo contrario, devuelve 0.

$(>, val1, val2)
!= (no es igual que)

Si los números val1 y val2 no son iguales, la cadena devuelve 1; de lo contrario, devuelve 0.

$(!=, val1, val2)
<= (menor o igual que)

Si el número val1 es menor o igual que val2 , la cadena devuelve 1; de lo contrario, devuelve 0.

$(<=, val1, val2)
>= (mayor o igual que)

Si el número val1 es mayor o igual que val2 , la cadena devuelve 1; de lo contrario, devuelve 0.

$(>=, val1, val2)
and

Devuelve el valor de la función lógica de tipo binario AND de los números enteros de val1 a val9 .

$(and, val1 [, val2,…, val9])
angtos

Devuelve el valor angular con el formato y la precisión especificados.

$(angtos, value [, mode, precision])

Edita el valor value especificado como ángulo con el formato especificado por mode y precision , tal y como se define para la función análoga de AutoLISP. Si se omiten mode y precision , se utilizarán los valores actuales seleccionados con el comando UNIDADES.

Nota: AutoLISP no está disponible en AutoCAD LT for Mac OS.
Se pueden aplicar los siguientes valores de mode:
  • 0 para Grados
  • 1 para Grados/minutos/segundos
  • 2, para Grados centesimales
  • 3 para Radianes
  • 4 para Unidades topográficas
Edtime

Devuelve una fecha y una hora con formato basadas en una imagen dada.

$(edtime, time, picture)

Edita la fecha del calendario juliano especificada por time (obtenida, por ejemplo, de $(getvar,date) en función de la imagen picture especificada). La imagen picture consta de expresiones de formato sustituidas por representaciones específicas de la fecha y hora. Los caracteres no interpretables como expresiones de formato se copian literalmente en el resultado de $(edtime) . Las expresiones de formato se definen como se muestra en la siguiente tabla.

Por ejemplo, supongamos que se utiliza como fecha y hora el sábado, 5 de septiembre de 1998, 4:53:17.506, los ejemplos de salida y de expresiones de formato correspondientes de edtime serán los siguientes:
  • D - 5
  • DD - 05
  • DDD - Sáb
  • DDDD - Sábado
  • M - 9
  • MO - 09
  • MON - Sep
  • MONTH - Septiembre
  • YY - 98
  • YYYY - 1998
  • H - 4
  • HH - 04
  • MM - 53
  • SS - 17
  • MSEC - 506
  • AM/PM - AM
  • am/pm - am
  • A/P - A
  • a/p - a

Escriba la expresión AM/PM completa igual que en la tabla anterior; si se utiliza solo AM, la A se leerá literalmente y la M devolverá el mes actual.

Si aparece cualquier expresión AM/PM en la imagen, las expresiones H y HH editarán la hora de acuerdo con el formato de 12 horas (12:00-12:59 1:00-11:59) en lugar de hacerlo con el formato de 24 horas (00:00-23:59).

En el ejemplo siguiente se utilizan la fecha y la hora de la tabla anterior. Nótese que la coma debe aparecer entre comillas, ya que se lee como separador de argumentos.

$(edtime, $(getvar,date), DDD"," DD MON YYYY - H:MMam/pm)

Devuelve lo siguiente:

Sáb, 5 Sep 1998 - 4:53am

Si time es 0, se utilizan la fecha y hora correspondientes al momento en que se ejecutó la macro más externa. Esto evita las múltiples y largas llamadas a $(getvar,date) y garantiza que todas las cadenas compuestas de múltiples macros $(edtime) usan la misma hora.

eq

Si las cadenas val1 y val2 son idénticas, la cadena devuelve 1; de lo contrario, devuelve 0.

$(eq, val1, val2)

La siguiente expresión obtiene el nombre de la capa actual; si el nombre coincide con el valor de cadena almacenado en la variable de sistema USERS1 (USERS1-5), devuelve 1. Asumamos que en USERS1 está almacenada la cadena "PART12" y que la capa actual es la misma.

Nota: Las variables de sistema USERS1-5 no están disponibles en AutoCAD LT for Mac OS.
$(eq, $(getvar, users1), $(getvar, clayer))

Devuelve lo siguiente:

1

Eval

Pasa la cadena str al evaluador de DIESEL y devuelve el resultado de la evaluación.

$(eval, str)
fix

Trunca el número real value a un entero descartando la parte fraccionaria.

$(fix, value)
Getenv

Devuelve el valor de la variable de entorno varname .

$(getenv, varname)

Si no se define ninguna variable con ese nombre, devuelve una cadena vacía.

Getvar

Devuelve el valor de la variable de sistema con el nombre varname especificado.

$(getvar, varname)
if

Evalúa expresiones condicionalmente.

$(if, expr, dotrue [, dofalse])

Si expr no es cero, se evalúa y devuelve verdad . De lo contrario, se evalúa y devuelve falso . Observe que la rama que no se elige con expr no se evalúa.

Index

Devuelve el miembro especificado de una cadena delimitada por comas.

$(index, which, string)

Asume que el argumento string contiene uno o varios valores delimitados por el carácter separador de argumentos de la macro, la coma. El argumento which selecciona uno de estos valores para su extracción, con el primer elemento numerado como 0. Esta función se utiliza frecuentemente para extraer los valores de las coordenadas X, Y o Z a partir de las coordenadas de puntos devueltas por $(getvar).

Las aplicaciones pueden utilizar esta función para recuperar valores almacenados como cadenas delimitadas por comas a partir de las variables de sistema USERS1-5.

Nota: Las variables de sistema USERS1-5 no están disponibles en AutoCAD LT for Mac OS.
nth

Evalúa y devuelve el argumento seleccionado con which .

$(nth, which, arg0 [, arg1,…, arg7])

Si which es 0, nth devuelve arg0 y lo mismo sucede para los demás valores. Obsérvese la diferencia entre $(nth) y $(index) ; $(nth) devuelve a la función un solo valor de una serie de argumentos, mientras que $(index) extrae un valor de la cadena delimitada por comas pasada como un único argumento. Los argumentos no seleccionados por which no se evalúan.

or

Devuelve el valor de la función lógica de tipo binario OR de los números enteros de val1 a val9 .

$(or, val1 [, val2,…, val9])
Rtos

Devuelve el valor real con el formato y la precisión especificados.

$(rtos, value [, mode, precision])

Edita el valor value especificado como número real con el formato especificado por mode y precision. Si se omiten mode y precision , se utilizan los valores actuales seleccionados con el comando UNIDADES.

Strlen

Devuelve la longitud de la cadena string en caracteres.

$(strlen, string)
Substr

Devuelve la subcadena de la cadena string , empezando en el carácter start y extendiéndose a los caracteres length .

$(substr, string, start [, length])

Los caracteres de la cadena se numeran a partir de 1. Si se omite length , devuelve toda la longitud restante de la cadena.

Upper

Devuelve la cadena string convertida a mayúsculas según las reglas de los valores locales actuales.

$(upper, string)
xor

Devuelve el valor de la función lógica de tipo binario XOR de los números enteros de val1 a val9 .

$(xor, val1 [, val2,…, val9])