Resultados 1 al 2 de 2

Tema: Cómo dividir 2 ángulos a la mitad en autolisp

  1. #1
    Fecha de ingreso
    Oct 2007
    Mensajes
    14

    Cómo dividir 2 ángulos a la mitad en autolisp?

    Hola amigos latinos, miren esta imagen.

    Nombre:  EJ-1.jpg
Visitas: 623
Tamaño: 5.3 KB


    Aquí yo intento que la rutina me haga círculos en cada vértice y también los numere, la única idea que tuve para centrar cada texto con respecto a los vértices anterior y posterior fue por medio de angle y dividirlo en 2, el problema surge porque yo requiero que cada texto quede dentro de la polilinea y si se fijan bien hay textos que quedan fuera, les adjunto la rutina que es bien corta para que me aconsejen que debo añadir para tener lodos los textos dentro de la polilinea y siempre centrados, muchas gracias.
    Código:
    (defun c:a ()
    (setque lwpol (entsel \nSeleccione polilínea:))
    (setque lst-vert-der ()) (num-vert)
    (setque z num-lst-vert-der) (setque n 0 n-resp 0) (setque punt 1).
    (Repeat num-lst-vert-der.
    (setque para (nth n lst-vert-der))
    (command circle para 1)
    (command text MC (Polar para (/(+(angle para (nth (+ n 1) lst-vert-der))
    (angle para (nth (- Z 1) lst-vert-der))) 2) 3.5) 2 90 (itoa punt))
    (setque punt (+ punt 1)) (setque n (1+ n))
    (if (= n (- Num-lst-vert-der 1)) (final)) (if (= z num-lst-vert-der) (setque z 0))
    (setque z (1+ z))
    ),fin repeat.
    ),fin defun.
    (Defun final ()
    (setque para (nth n lst-vert-der))
    (command circle para 1)
    (command text MC (Polar para (/(+(angle para (nth (- N 1) lst-vert-der))
    (angle para (nth 0 lst-vert-der))) 2) 3.5) 2 90 (itoa punt))
    ),fin defun.
    (defun num-vert ()
    (setque nom-lwpol-der (car lwpol)) ;_nombre de la entidad.
    (setque pnt-lwpol-der (car (cdr lwpol))) ;_punto de selección.
    (setque lst-lwpol-der (entget nom-lwpol-der)) ;_lista de la entidad.
    (setque dato-lwpol-der (entget nom-lwpol-der)) ;_lista de la entidad.
    (setque num-vert-der (cdr (assoc 90 dato-lwpol-der))), número de vértices.
    (setque dato-lwpol-der (member (assoc 10 dato-lwpol-der) dato-lwpol-der))
    (setque nom-lwpol (car lwpol)) (setque lst-lwpol (entget nom-lwpol)) (setque tipo (cdr (assoc 0 lst-lwpol)))
    (if (= tipo polyline)(command convert p s lwpol ))
    (repeat num-vert-der.
    (setque lst-vert-der (append lst-vert-der (list (cdr (assoc 10 dato-lwpol-der)))))
    (setque dato-lwpol-der (cdr dato-lwpol-der))
    (setque dato-lwpol-der (member (assoc 10 dato-lwpol-der) dato-lwpol-der))
    (setque num-lst-vert-der (length lst-vert-der))
    ),fin repeat.
    ),fin defun
    Última edición por 3dpoder; 12-03-2012 a las 18:49

  2. #2
    Fecha de ingreso
    Apr 2002
    Mensajes
    25,945
    La forma en que estás centrando el texto utilizando la función angle puede causar que algunos textos queden fuera de la polilínea. Una alternativa es usar la función midpoint para encontrar el punto medio entre dos vértices adyacentes y colocar el texto en ese punto medio. Para hacer esto, podrías reemplazar la siguiente línea de código:

    Código:
    (command text MC (Polar para (/(+(angle para (nth (+ n 1) lst-vert-der))
    (angle para (nth (- Z 1) lst-vert-der))) 2) 3.5) 2 90 (itoa punt))
    Con este código:

    Código:
    (setq pt1 para)
    (setq pt2 (nth (+ n 1) lst-vert-der))
    (setq midpoint (list (/ (+ (car pt1) (car pt2)) 2) (/ (+ (cadr pt1) (cadr pt2)) 2)))
    (command text midpoint (itoa punt) 0.0 3.5)
    Esto calcula el punto medio entre los vértices pt1 y pt2 y coloca el texto en ese punto. El texto se colocará dentro de la polilínea, centrado entre los vértices adyacentes. Ten en cuenta que también he eliminado los argumentos 2 y 90 que estabas usando en la función text, ya que no son necesarios para centrar el texto.
    |Agradecer cuando alguien te ayuda es de ser agradecido|

Temas similares

  1. Respuestas: 0
    : 25-09-2020, 00:02
  2. Render mitad sólido mitad wireframe
    Por edamian en el foro Render, Iluminación y Cámaras
    Respuestas: 9
    : 30-07-2015, 19:25
  3. Adobe Photoshop Tutorial Photoshop mitad mujer mitad calavera
    Por marco1972 en el foro Photoshop
    Respuestas: 0
    : 18-11-2014, 10:55
  4. Sugerencias material mitad cristal y mitad luminoso
    Por GIRASOMNIS en el foro Materiales y Texturizado
    Respuestas: 3
    : 14-11-2012, 22:55
  5. Mitad maquina,mitad humano
    Por elpelao en el foro Trabajos en Proceso
    Respuestas: 1
    : 26-11-2005, 13:12