Buscar en este blog

lunes, 13 de agosto de 2012

Los defectos del comando LONGITUD


2013 (2011+)
ACTUALIZACIÓN: Igualar longitud 1.3


Como es sabido, el comando LONGITUD (LENGTHEN) es un comando básico de edición que permite modificar la longitud de líneas, arcos, polilíneas y splines, además del ángulo subtendido por los arcos, tanto circulares como elípticos. Son muchas las situaciones que pueden resolverse con su ayuda de un modo eficaz y preciso. Sin embargo, desde nuestro punto de vista, presenta algunas carencias notables que hacen imposible su utilización en determinados casos o requieren efectuar operaciones auxiliares previas, que podrían ser perfectamente evitables. En esta entrega trataremos de explicar cuáles son esas carencias y defectos, con la esperanza de que sean corregidos en futuras versiones de AutoCAD.

En la segunda parte del artículo presentamos una aplicación completamente gratuita, que hemos desarrollado para las versiones 2011, 2012 y 2013 de AutoCAD y que puede utilizarse como alternativa al comando  LONGITUD (LENGTHEN) en aquellos casos donde éste se queda corto o resulta poco eficaz. La aplicación define un nuevo comando denominado IGUALARLONGITUD que, como puede deducirse por su nombre, permite igualar la longitud de unos objetos con otros, considerando la longitud como una propiedad más que poseen determinados objetos.


Modificar la longitud de los objetos

Durante la elaboración de un dibujo de cualquier disciplina son innumerables las situaciones en las que se precisa modificar la longitud de uno o varios objetos. En función de los datos de que se disponga en cada caso, AutoCAD proporciona muchas y muy variadas alternativas para efectuar ese tipo de operaciones. En general, la aplicación de los comandos RECORTA (TRIM), ALARGA (EXTEND), ESTIRA (STRETCH) o LONGITUD (LENGTHEN) permite resolver estas situaciones con eficacia y precisión. En otros casos, dependiendo del tipo de objeto de que se trate, pueden emplearse también los pinzamientos multifuncionales y las opciones que proporcionan los menús dinámicos.

Cuando el dato de partida es la longitud total que debe tener el objeto o el incremento de longitud que se debe aplicar, el método más eficaz para efectuar la operación lo proporciona sin ninguna duda el comando  LONGITUD (LENGTHEN). Lo mismo sucede cuando se trata de modificar arcos circulares o elípticos y el dato conocido es el ángulo total subtendido por el arco o el incremento que se debe aplicar a dicho ángulo.

Por desgracia, el comando  LONGITUD (LENGTHEN) prácticamente no ha sido mejorado desde su implementación en la versión 13 de AutoCAD (noviembre de 1994), más allá de dar soporte a los nuevos objetos que se han ido incorporando, como hélices o splines, por lo que sigue teniendo las mismas carencias y errores que tenía inicialmente. En nuestra opinión, las carencias, defectos y errores más significativos de este comando son los que enumeramos a continuación.
  1. La longitud total debe ser precisada numéricamente por el usuario. No es posible adquirir automáticamente la longitud de un objeto existente para asignar dicha longitud a otro objeto distinto, es decir, no es posible igualar automáticamente la longitud de un objeto a la de otro.
  2. No se puede aplicar sobre objetos cerrados. A nuestro entender, no debería haber ningún impedimento para aplicar una determinada longitud total a un círculo o a una elipse, por ejemplo. En el caso del círculo bastaría mantener fijo su centro y cambiar el radio para que el círculo adoptase la longitud especificada por el usuario. Lo mismo sucedería en la elipse, que debería mantener fijo su centro, la orientación de sus ejes y la relación entre ellos.
  3. Tampoco se puede aplicar sobre un arco circular o elíptico cuando la longitud precisada es mayor o igual que la longitud de la circunferencia completa del arco o que el perímetro de la elipse completa. Cuando esto sucede, bastaría pedir confirmación al usuario para transformar el arco en un círculo o en una elipse con la longitud indicada.
  4. No se puede modificar la longitud de los segmentos individuales de una polilínea. El comando  LONGITUD (LENGTHEN) siempre considera la polilínea como un objeto único, ignorando por completo el segmento que haya sido designado.
  5. No se puede aplicar sobre una hélice cuando se especifica una longitud mayor que la que tenga inicialmente. Tampoco vemos ninguna razón que impida incrementar el número de giros de la hélice hasta alcanzar la longitud especificada.
  6. Y por último un error incomprensible y muy grave que se produce al incrementar la longitud de una polilínea cuando el segmento extremo es un arco y la longitud total daría como resultado que dicho arco se transformara en una circunferencia. AutoCAD no tiene en cuenta esta posibilidad y modifica erróneamente el arco dando lugar a una polilínea cuya longitud total nada tiene que ver con la indicada por el usuario.
El vídeo siguiente muestra un ejemplo de este lamentable error. El objeto inicial es una polilínea que tiene una longitud total de 200 unidades de dibujo y está formada por dos segmentos, uno recto y otro de arco, cada uno de ellos con una longitud de 100, siendo de 50 unidades el radio del arco. Es evidente que, si la polilínea se alarga por el segmento de arco, la máxima longitud que puede tener la polilínea completa será de 100 + 2 x 3.1416 x 50 = 414.16. Serían válidas, por ejemplo, longitudes totales de 300 y 400, pero si el usuario precisara una longitud de 450, que es superior a la máxima, AutoCAD debería advertirlo y anular la operación. Sin embargo, esto no es lo que sucede.

Igualar la longitud de unos objetos con otros

Para suplir en cierta medida las carencias del comando  LONGITUD (LENGTHEN) que acabamos de enumerar y ofrecer también la posibilidad de evitar el mencionado error, ponemos a disposición de nuestros lectores una aplicación totalmente gratuita que hemos desarrollado para las versiones 2011, 2012 y 2013 de AutoCAD. La aplicación define un nuevo comando, denominado  IGUALARLONGITUD o IGL, que solicita en primer lugar la designación de un objeto de origen, del que toma su longitud, y después los objetos de destino que serán modificados para que su longitud sea igual a la del primero. A continuación, describimos el procedimiento de instalación de la aplicación y las posibilidades que ofrece.

Descargue el archivo InstalarIgualarLongitud y guárdelo en una carpeta del disco duro de su ordenador. Cierre cualquier aplicación de AutoCAD que esté en ejecución y haga doble clic sobre el nombre del archivo guardado para iniciar la instalación.
Tras la página de presentación, se solicitará la aceptación del acuerdo de licencia y la especificación de la carpeta de destino. A continuación, el programa analizará el sistema para identificar la versión o versiones de AutoCAD 2011, 2012 o 2013 que estén instaladas en su sistema y solicitará la elección de aquellas para las se configurará la carga automática de la aplicación. El proceso de instalación es el mismo para los sistemas de 32 y de 64 bits.

Una vez completada la instalación, se podrá iniciar AutoCAD y utilizar el nuevo comando  IGUALARLONGITUD, escribiendo su nombre completo o su abreviatura IGL en la línea de comando o en la entrada de solicitud dinámica.

Como hemos indicado, el comando solicita en primer lugar la designación del objeto de origen, que puede ser cualquier objeto cuya longitud se pueda medir, es decir, una línea, un círculo, un arco circular o elíptico, una polilínea 2D o 3D, una elipse, una spline o una hélice. Si el objeto designado es una polilínea formada por dos o más segmentos, se advierte del hecho mediante un mensaje para que el usuario decida la longitud a considerar, que puede ser la de la polilínea completa o la del segmento designado.
Después de designar el objeto de origen, se informa de su longitud y se solicita la designación del objeto de destino, que ha de ser un objeto susceptible de modificar su longitud, es decir, uno cualquiera de los tipos admitidos como objeto de origen. Si se designa un objeto abierto o un segmento de polilínea, el punto de designación es significativo y determina el extremo por el que se producirá el cambio de longitud. La solicitación del objeto de destino se repite indefinidamente hasta que el usuario proporciona una respuesta nula pulsando la tecla Intro o la barra espaciadora.

Veamos ahora con un poco más de detalle cómo resuelve este comando los diferentes casos particulares que se pueden presentar en función del tipo de objeto de destino.

El caso más sencillo se presenta cuando el objeto de destino es una línea, una polilínea de un solo segmento, una hélice, un arco circular o un arco elíptico. Estos dos últimos objetos admiten una longitud mayor que la de su circunferencia o elipse completa. Si se produce esta circunstancia, se informa al usuario mediante un mensaje donde se pide su conformidad para continuar con la operación. El siguiente vídeo muestra algunos ejemplos con estos tipos de objetos.
Conviene aclarar que el algoritmo de parametrización de nudos que utiliza AutoCAD para representar las hélices no permite establecer una longitud exacta, por lo que el resultado que se obtiene al aplicar nuestro comando  IGUALARLONGITUD siempre es aproximado. Esto mismo sucede con el propio comando  LONGITUD (LENGTHEN) cuando se utiliza para reducir la longitud de una hélice. De hecho, la ayuda en línea que proporciona AutoCAD para el comando HELICE (HELIX) incluye una nota donde se advierte de lo siguiente: “Una hélice es una aproximación a spline de una hélice real. Puede que los valores de longitud no sean totalmente precisos”.

El objeto de destino puede ser también un objeto cerrado, es decir, un círculo, una elipse, una polilínea cerrada o una spline cerrada, siempre que estos dos últimos no sean 3D. En todos estos casos, el objeto cambia su longitud conservando su centro y, si se trata de una elipse, la dirección de sus ejes y la relación entre ellos. El vídeo siguiente muestra algunos ejemplos de cambio de longitud de objetos cerrados.
Cuando el objeto de destino es una polilínea abierta 2D o 3D compuesta por dos o más segmentos, es posible aplicar la longitud del objeto de origen a la polilínea completa o solamente al segmento designado. Cuando se produce esta situación, el comando permite elegir entre una u otra opción. Si se opta por aplicar la longitud al segmento designado, todos los segmentos anteriores o posteriores al designado serán desplazados o girados según que el segmento modificado sea recto o de arco, respectivamente.
Además, si el segmento de polilínea que debe modificarse es un segmento de arco y la nueva longitud es mayor que la de su circunferencia completa, se advierte del hecho y no se lleva a cabo la operación, evitando así cometer el mismo error que el comando  LONGITUD (LENGTHEN).
Finalmente, cuando el objeto de destino es una spline abierta la modificación sólo es posible si la longitud del objeto de origen es menor que la de la spline, es decir, sólo se permite reducir su longitud. En este sentido, debe tenerse en cuenta que las splines son, por definición, curvas de forma libre, por lo que carece de sentido incrementar su longitud, ya que se desconoce la forma que debe tener la curva en el tramo de prolongación. No obstante, si la spline representa una parábola o una rama de una hipérbola, entonces el comando  IGUALARLONGITUD reconoce la curva y permite modificar su longitud sin ninguna limitación.

2 comentarios:

juan escate dijo...

muy buen aplicación amigo sigue subiendo mas cosas que estoy atento a lo que publican gracias por toda la información

RODI dijo...

Que increible que autodesk no arregle los errores interminables de presición como la helice de autocad y otros..., su soft estrella?