expertoautocad‎ > ‎

Fe de Erratas.

En la versión impresa del libro publicado por ARTUAL S.A. hemos detectado erratas en algunos listados de código fuente. Estas erratas no aparecen en el código fuente que ofrecemos para su descarga. Sin embargo hemos querido señalarlas para evitar cualquier confusión por parte de nuestros lectores. Agradecemos se nos informe de cualquier otro error que pudiera aparecer para incluirlo en el presente documento.

Pág 59, línea 26. (observación de José Ramón Lafarga)
Dice:
(setq ent-circulo (entget (entlast)))
Debe decir:
(setq obj-circulo (entget (entlast)))

Página 105, línea 17 (Listado 6.6)
Dice:
(cons 0 (length lista))
Debe decir:
(cons 0 (1- (length lista)))

Pág 119, línea 11.
Dice:
y deberá recibir además del objeto documento (dibujo) la colección que se desea recorrer.
Debe decir;
y deberá recibir además del objeto documento (dibujo) el nombre de la colección que se desea recorrer.

Pág 119, línea 12 (Listado 6.9).
Dice
(defun ax-lista-nombres (dibujo coleccion / capas)
Debe decir:
(defun ax-lista-nombres (dibujo coleccion / nombres)

Página 126, líneas 29 y 32.
Dice:
Comando: (cadena-por-defecto 'getstring "Indique texto" "EJEMPLO")
Debe decir:
Comando: (cadena-por-defecto "Indique texto" "EJEMPLO")

Página 127, línea 36 (Listado 7.3).
El nombre de variable valor no debe aparecer ahí. El Listado debe quedar como:
(defun valor-con-opciones
                          (funcion mensaje opciones / tmp)
  (initget opciones)
  (if (setq tmp
             (apply
               funcion
               (list
                 (strcat mensaje
                         " ["
                         (sustituye "/" " " opciones)
                         "]: " ))))
    tmp ))
;;;Listado 7.3. Solicitud de datos incluyendo opciones.

Página 137, línea 31.
Dice:
Ya vimos la definición de XOR (ver Tabla 11.7)...
Debe decir:
Ya veremos la definición de XOR (ver Tabla 11.7)...

Página 171, línea 36.
Dice:
deben ser, para asegurar que funcionen en cualquier versión, las de versión inglesa.
Debe decir:
deben ser, para asegurar que funcionen en cualquier versión, las de versión inglesa precedidas de un carácter subrayado.

Página 198, Listado 10.30.
Debe modificarse de la siguiente manera para que devuelva la colección de bloques:
(defun ax-col-bloques (/)
  (if (null *aesl:bloques*)
    (progn (setq *aesl:bloques* (vla-get-blocks *aesl:dibujo*))
           (pragma '((protect-assign *aesl:bloques*)))
           *aesl:bloques*)
    *aesl:bloques*))

Página 221, línea 27 (Tabla 11.3)
Dice:
(ssget "_I" '((0 . "LÍNEA")(62 . 5)))
Debe decir:
(ssget "_I" '((0 . "LINE")(62 . 5)))

Página 232, líneas 2 y 7 (Listado 11.7).
En las versiones recientes AutoCAD no admite pinzamients en los objetos no seleccionados, variando el comportamiento de sssetfirst. Además la variable GRIPS desde la versión 2011 admite el valor 2 que presenta pinzamientos en los puntos medios de los segmentos de polilíneas. Por ello el código de esta función debe modificarse como sigue:
(defun ss+  (/ conj-sel tmp)
  (setvar "grips" 1) ; para 2011 (setvar "grips" 2)
  (setq conj-sel (ssadd))
  (while (setq
           tmp (entsel "\nSeleccione objeto para añadir: "))
    (ssadd (car tmp) conj-sel)
    (sssetfirst nil conj-sel))
  conj-sel)

Página 265, línea 10.
Dice:
El grosor de línea se expresa como un valor entero que equivale a las décimas de milímetro del
Debe decir:
El grosor de línea se expresa como un valor entero que equivale a las centésimas de milímetro del

Página 275, Listado 12.17, línea 1.
Para evitar errores deben declararse como locales las variables lis-somb y sel-somb.
Dice:
(defun sel-sombreados (/)
Debe decir:
(defun sel-sombreados  (/ lis-somb sel-somb)

Página 275, Listado 12.18, línea 1.
Para evitar errores deben declararse también como locales las variables indice e indices.
Dice:
(defun colorea (lis-somb pasos colores / i obj area areas objetos)
Debe decir:
(defun colorea  (lis-somb pasos colores / i indice indices obj area areas objetos)

Página 335, línea 39.
Dice:
T como tercer argumento para que se aplique un vector de nudos uniforme
Debe decir:
nil como tercer argumento para que se aplique un vector de nudos uniforme

Página 336, línea 9 (Listado 14.8)
Dice:
    lista-vertices 3 t centro-base radio-base radio-sup giros paso
Debe decir:
    lista-vertices 3 nil centro-base radio-base radio-sup giros paso

Página 378, línea 22.
Dice:
(1- (* (vla-get-MVertexCount m) (vla-get-NVertexCount m))))
Debe decir:
(1- (* (vla-get-MVertexCount obj-malla) (vla-get-NVertexCount obj-malla))))

Página 396, Listado 17.7, líneas 1, 2 y 3.
El símbolo espacio debe aparecer como variable local y no como argumento.
Dice:
(defun reg-base (espacio radioext numag distcentro
                 radioag / origen normal cir-base base
                 ang incang circulos regiones)

Debe decir:
(defun reg-base  (radioext numag distcentro
                  radioag / espacio origen normal cir-base base
                  ang incang circulos regiones)

Página 411, líneas 51 a 54 (Listado 17.19).
Dice:
       (vla-put-Closed perf :vlax-true)
      )
      ((vlax-property-available-p perf "Closed2")
       (vla-put-Closed2 perf :vlax-true)
Debe decir:
       (if (vl-catch-all-error-p
             (vl-catch-all-apply
               'vla-put-Closed
               (list perf :vlax-true)))

Página 424, línea 25.
Dice:
             (setq dif (ax-cilindro ctr (/ diam 2.0) lado))
Debe decir:
             (setq dif (ax-cubo ctr lado))

Página 426, Listado 18.12, línea 5.
Dice:
(setq mtrans (ax-matriz-scp)))
Debe decir:
(setq mtrans (last (ax-matriz-scp))))

Página 429, Listado 18.16, línea 3.
Dice:
(cond ((= (getvar "WORLDUCS") 0) (setq mtrans (ax-matriz-scp)))
Debe decir:
(cond ((= (getvar "WORLDUCS") 0) (setq mtrans (last (ax-matriz-scp))))

Página 440, línea 11.
Dice:
nombres de símbolos y 2 = lista de nombres de símbolos como cadenas)
Debe decir:
nombres de símbolos y 1 = lista de nombres de símbolos como cadenas)

Página 449, línea 23.
Dice:
ax-mesh-cono recibe los argumentos...
Debe decir:
cmd-mesh-cono recibe los argumentos...

Página 457, Listado 19.24, última línea.
Hay un error tipográfico en el nombre de la variable dimX.
Dice:
dimY dinX)
Debe decir:
dimY dimX)

Página 490, línea 8.
Dice:
A continuación se invocan las funciones crea-sup ...
Debe decir:
A continuación se invocan las funciones crea-sup-aso ...

Página 495, Listado 20.14, primera línea.
En la lista de parámetros falta un espacio después de la barra.
Dice:
(defun C:SUP-ASO (/*error* n intervalo alto ancho
Debe decir:
(defun C:SUP-ASO (/ *error* n intervalo alto ancho

Página 522, Listado 21.9, línea 2.
Sobra un paréntesis de cierre en la segunda línea.
Dice:
(load "funciones-reactor" "No se encuentra FUNCIONES-REACTOR"))
Debe decir:
(load "funciones-reactor" "No se encuentra FUNCIONES-REACTOR")

Página 349, Listado 15.10 en varias líneas.
El nombre de variable seleccion aparece acentuado en algunos casos y otros sin acento. Debe ser igual en todos los casos.
Debe decir:
(defun C:TANGENTE  ( / seleccion curva punto datos)
  (if (setq seleccion
             (entsel
               "\nDesigne punto de tangencia: "))
    (if (setq
          datos (calc-tangente (car seleccion)
                               (cadr seleccion)))
      (ent-rayo (car datos) (cadr datos))
      (prompt "\nError en la operación.")))
  (princ))

Página 354, Listado 15.15, líneas 26 y 30.
Se debe sustituir (setvar "CMDECHO" 0) por (cmd-entrar) y (setvar "CMDECHO" 1) por (cmd-salir). El motivo es que las referencias a objeto 3D, de estar activas, pueden provocar errores en la ejecución.
Donde dice:
(setvar "CMDECHO" 0)
Debe decir:
(cmd-entrar)
Donde dice:
(setvar "CMDECHO" 1)
Debe decir:
(cmd-salir)

Página 548, en varias líneas (Listado 22.9).
Donde dice:
(test-otros)
Debe decir:
(test-otros clave)

Página 592, línea 38 y 39.
Dice:
Es necesario destacar que el hecho de que un bloque aparezca en el listado no conlleva que ese bloque esté insertado en el dibujo. Como veremos más adelante, la lista de nombres de bloques
Debe eliminarse este texto.

Página 593, Líneas 1 y 2.

Dice:
que se incluye en la casilla de lista se construye a partir de las definiciones de bloque y no de las inserciones. Por ese motivo, el que exista el conjunto de selección se utilizará como
Debe decir:
El que exista el conjunto de selección se utilizará como

Página 593, línea 13.
Dice:
6. Se asigna a la variable lista-datos la lista resultante de unir lista-datos mediante
Debe decir:
6. Se asigna a la variable lista-datos la lista resultante de unir datos mediante


Página 650, Tabla 27.5. Propiedades de los Botones Gráficos.
El valor de la propiedad RightFromRight para el btnAISLA debe ser 64.

Página 654, Listado 27.7, segunda línea.
Hay un error en el nombre de la función lis-capa.
Dice:
(foreach capa  (lista-capas)
y debe decir:
(foreach capa  (lis-capa)


Página 657, Listado 27.12, línea 1.
Debe declararse declarar como local la variable s-list.
Dice:
(defun c:XCapa_frmPal_trcCapas_OnSelChanged (Label Key /)
Debe decir:
(defun c:XCapa_frmPal_trcCapas_OnSelChanged  (Label Key / s-list)