Gracias Gracias:  0
Resultados 1 al 1 de 1

Tema: Como dividir 2 angulos a la mitad en autolisp

  1. #1
    Miembro Nuevo
    Fecha de ingreso
    Oct 2007
    Mensajes
    14

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

    Hola amigos Latinos.
    Miren esta imagen
    Como dividir 2 angulos a la mitad en autolisp -ej-1.jpg


    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" "j" "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" "j" "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 seleccion
     (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 20:49

Temas similares

  1. 3ds Max Render mitad sólido mitad wireframe
    Por edamian en el foro Render, Iluminación y Cámaras
    Respuestas: 9
    Último mensaje: 30-07-2015, 20:25
  2. Photoshop Tutorial Photoshop mitad mujer mitad calavera
    Por marco1972 en el foro Photoshop
    Respuestas: 0
    Último mensaje: 18-11-2014, 12:55
  3. ayuda por favor Material mitad cristal y mitad luminoso
    Por GIRASOMNIS en el foro Materiales y Texturizado
    Respuestas: 3
    Último mensaje: 15-11-2012, 00:55
  4. mitad robot,mitad humano
    Por elpelao en el foro Trabajos en Proceso
    Respuestas: 1
    Último mensaje: 26-11-2005, 15:58
  5. Mitad maquina,mitad humano
    Por elpelao en el foro Trabajos en Proceso
    Respuestas: 1
    Último mensaje: 26-11-2005, 15:12

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •