acad hispano
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

como dibujar lotes con datos de una imagen

5 participantes

Ir abajo

como dibujar lotes con datos de una imagen Empty como dibujar lotes con datos de una imagen

Mensaje por devitg Lun Jun 06, 2022 2:25 am

Hola amigos , como lo he comentado, nunca supe DIBUJAR en ACAD .

Hoy estoy tratando de dibujar los lotes teniendo los datos de longitud de cada lado y el ángulo interno.

Mis datos son lado y el ang interno al lado de la derecha ,
vertice long d.xxxxx radian
1 181.91 0 0
2 230.26 85.05972222 1.484572214
3 79.44 172.0113889 3.002165087
4 147.86 161.0922222 2.811589677
5 278.74 43.53611111 0.759848482
6 159.8 171.81 2.998650188

Espero su guía , ya sea en un LISP , o un SCR

Adjunto imagen del lote



Archivos
como dibujar lotes con datos de una imagen Attachment
para lisp.png lote a dibujarNo tienes los permisos para descargar los archivos.(16 KB) Descargado 12 veces


Última edición por devitg el Lun Jun 06, 2022 3:33 am, editado 1 vez (Razón : correccion)

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por robierzo Lun Jun 06, 2022 11:07 am

Buenas. En la imagen que adjuntas no se ve nada. Está todo muy borroso.
robierzo
robierzo

Mensajes : 102
Fecha de inscripción : 17/03/2016
Localización : La Coruña

http://www.selmotopografia.es

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty LA imagen no importa

Mensaje por devitg Lun Jun 06, 2022 6:42 pm

robierzo escribió:Buenas. En la imagen que adjuntas no se ve nada. Está todo muy borroso.
Hola Robierzo , gracias por ver el tema.

Lo que yo tengo son las distancias y ángulos interiores del polígono .
supongamos que el lado 1 2 , esté en 000 a 181.91 0 0 , horizontal y de allí sale el resto de los lados con sus ángulos internos en sentido contra reloj.


Esto es como la primer tarea para un dibujante que recién se inicia , que en este caso soy yo porque nunca lo hizo.

Me interesa un lisp que mediante la lectura de un CSV con esos datos , dibuje dicho polígono .
O el modo de generar un SCR desde XLS

adjunto de nuevo la imagen

Archivos
como dibujar lotes con datos de una imagen Attachment
para lisp 01.png No tienes los permisos para descargar los archivos.(44 KB) Descargado 9 veces


Última edición por devitg el Lun Jun 06, 2022 6:50 pm, editado 2 veces (Razón : agregado y correcciones)

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por jademar Mar Jun 07, 2022 5:25 am

Hola a tod@s
devitg: Antes que nada, no tengo el lisp (o el script) que solicitaste.
Peeeero, no es muy difícil de dibujar "a mano". Básicamente se trata de redefinir el UCS en cada vértice.
Si uno dibuja un polígono "every Bishop's death" vale la pena.
Fijate en este tutorial de Youtube en inglés. Lo explican paso a paso. Y le funcionan los subtítulos: https://www.youtube.com/watch?v=9I_Ttr0HD_o
Ojalá sirva, al menos hasta que aparezca un lisp.
Saludos

jademar

Mensajes : 25
Fecha de inscripción : 03/04/2016

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por jademar Mar Jun 07, 2022 8:59 am

Hola de nuevo
Adjunto rutina que traza el polígono a partir de ángulos interiores.
El primer ángulo no es interior, está referido al primer lado que se traza respecto de una vertical, el Norte. O de una horizontal.
Evita tener que cambiar de UCS en cada vértice.
La encontré en 2010 sin mención de autor en Internet. Y ahora la reencontré en mis Backups
Los ángulos se ingresan en formato decimal
La salida es algo improlija, y encima deja Blipmode en ON. Pero funciona en Acad 2007 inglés.
Copio del historial de órdenes

Command: po
Indique punto de inicio del poligono:
Distancia: 69.83
Rumbo: 14.0379
Distancia: 69.25
Angulo interno: 61.1151
Distancia: 50
Angulo interno: 104.8470
Distancia: 50
Angulo interno: 90
Distancia:
Angulo interno:
Zero length line created at (118.9732, 10.0488, 0.0000)
Command:

Código:
(DEFUN c:po (/ control dis1 dis2 angant1 angant2 ang1 ang2 ang3 pto)
        (GRAPHSCR)
        (SETVAR "blipmode" 0) (SETVAR "cmdecho" 0)
        (SETQ ini (GETPOINT "Indique punto de inicio del poligono: ")) (TERPRI)
        (SETQ dis (GETREAL "Distancia: "))
        (SETQ rum (GETANGLE "Rumbo: "))
        (SETQ dist (RTOS dis 2 2))
        (SETQ rumb (ANGTOS rum 1 4))
        (SETQ pto (STRCAT "@" dist "<" rumb))
        (COMMAND "line" ini pto "")
        (SETQ control T)
        (WHILE control
                (SETQ angant1 (GETVAR "lastangle"))
                (SETQ dis1 (GETREAL "Distancia: "))
                (SETQ ang1 (GETANGLE "Angulo interno: "))
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ dis2 (RTOS dis1 2 2))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang2 (+ angant1 (- ang1 PI)))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang3 (ANGTOS ang2 1 4))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ pto (STRCAT "@" dis2 "<" ang3))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (COMMAND "line" "" pto "")
                        (SETQ control nil)
                )
        )
        (COMMAND "line" "" ini "")
        (SETVAR "blipmode" 1) (SETVAR "cmdecho" 1) (PRIN1)
)

Saludos

jademar

Mensajes : 25
Fecha de inscripción : 03/04/2016

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por robierzo Mar Jun 07, 2022 12:50 pm

Código:
;dibujar polilinea
  ;; mk_lwp    by Alan J Thompson                                              ;
;; Argument: pl, a point list                                                ;
;;  Returns: Object and creates LWPOLYLINE at elevation 0.                    ;
;;                                                                            ;

(defun mk_lwp (pl)
    (vlax-ename->vla-object
      (entmakex
        (append
            (list '(0 . "LWPOLYLINE")
                  '(100 . "AcDbEntity")
                  '(100 . "AcDbPolyline")
                  (cons 90 (length pl))
                ; '(70 . 0);abierta
     '(70 . 1);cerrada
            )
            (mapcar '(lambda (p) (cons 10 (trans (list (car p) (cadr p)) 1 0))) pl)
        )
      )
    )
)

;calcula poligonal
;por robierzo
;se considera origen de la poligonal el punto de X=0 e Y=0
;se considera el ángulo del primer punto como el ángulo de salida.

(defun c:dp()
  ;lista con nº punto, distancia y ángulo interior en radianes
  (setq lista_datos '((1 181.91 0.00)(2 230.26 1.484572214)(3 79.44 3.002165087)(4 147.86 2.811589677)(5 278.74 0.759848482)(6 159.8 2.998650188)))
 
  (setq lista_puntos (list '(0.0 0.0)))
  (setq origen '(0.0 0.0))
  (setq angulo_ant (last (car lista_datos)))
 
  (foreach elem lista_datos
    (setq radianes (caddr elem))
    (setq angulo (+ angulo_ant (- (* 2 pi) radianes)))
    (setq punto_n (polar origen angulo (cadr elem)))
    (setq lista_puntos (cons punto_n lista_puntos))
    (setq origen punto_n)
    (setq angulo_ant (+ angulo pi))
    (if (>= angulo_ant (* 2 pi)) (setq angulo_ant (- angulo_ant (* 2 pi))))
  )
  (setq lista_puntos (reverse lista_puntos))
  (mk_lwp lista_puntos)
  (princ)
)
robierzo
robierzo

Mensajes : 102
Fecha de inscripción : 17/03/2016
Localización : La Coruña

http://www.selmotopografia.es

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por devitg Miér Jun 08, 2022 1:23 am

Gracias a todo por sus aportes . Voy a tratar de implementarlos a mis trabajos.

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por Luis Alberto Benitez Vie Jul 15, 2022 2:18 pm

Que tal Amigos del Foro me sumo modificando el lisp para grados sexagesimal colocando grados minutos y segundos pero se produce un error al colocar grados negativos si alguien
puede corregir el error, agradecido. Gracias
Código:
(DEFUN c:poo (/ control dis1 dis2 angant1 angant2 ang1 ang2 ang3 pto)
        (GRAPHSCR)
        (SETVAR "blipmode" 0) (SETVAR "cmdecho" 0)
        (SETQ ini (GETPOINT "Indique punto de inicio del Poligono: ")) (TERPRI)
        (SETQ dis (GETREAL "Distancia: "))
        ;(SETQ rum (GETANGLE "Angulo Sexagecimal: "))
        (SETVAR "OSMODE" 0)
        (command "'ORTO""DES")
        (setvar "cmdecho" 0)
        (command "-UNIDADES""2""4""2""5""0""s")
        (setq g (getreal"\GRADOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (setq m(getreal"\MINUTOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (setq s (getreal"\SEGUNDOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (SETVAR "OSMODE" 0)
        (setvar "cmdecho" 1)
        (setq m-g (/ m 60))
        (setq s-m-g (/ (/ s 60) 60))
        (setq a (+ g m-g s-m-g))

        (SETQ rum (* PI (/ a 180.0)));de Angulo Sexagesimal a Radianes


        (SETQ dist (RTOS dis 2 2))
        (SETQ rumb (ANGTOS rum 1 4))
        (SETQ pto (STRCAT "@" dist "<" rumb))
        (COMMAND "_line" ini pto "")
        (SETQ control T)
        (WHILE control
                (SETQ angant1 (GETVAR "lastangle"))
                (SETQ dis1 (GETREAL "Distancia: "))
                ;(SETQ ang1 (GETANGLE "Angulo interno: "))
      

(setq g1 (getreal"\GRADOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (setq m1 (getreal"\MINUTOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (setq s1 (getreal"\SEGUNDOS Sentido Horario(+);Antihorario(-):"))
        (terpri)
        (SETVAR "OSMODE" 0)
        (setvar "cmdecho" 1)
        (setq m-g1 (/ m1 60))
        (setq s-m-g1 (/ (/ s 60) 60))
        (setq a1 (+ g1 m-g1 s-m-g1))
        (SETQ ang1 (* PI (/ a1 180.0)));de Angulo Sexagesimal a Radianes
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ dis2 (RTOS dis1 2 2))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang2 (+ angant1 (- ang1 PI)))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang3 (ANGTOS ang2 1 4))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ pto (STRCAT "@" dis2 "<" ang3))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (COMMAND "_line" "" pto "")
                        (SETQ control nil)
                )
        )
        (COMMAND "_line" "" ini "")
        (SETVAR "blipmode" 1) (SETVAR "cmdecho" 1) (PRIN1)
)
(prompt "\n*** nuevo comando poo definido ***")
(prin1)

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por Luis Alberto Benitez Lun Jul 18, 2022 12:54 am

Solucionado de la siguiente manera:
Código:
(DEFUN c:poo (/ control dis1 dis2 angant1 angant2 ang1 ang2 ang3 pto)
        (GRAPHSCR)
        (SETVAR "blipmode" 0) (SETVAR "cmdecho" 1)
        ;Controla si AutoCAD muestra solicitudes y entradas
        ;de datos durante la función command de AutoLISP:
        ;0  Desactiva la visualización,1  Activa la visualización
        (SETQ ini (GETPOINT "Indique punto de inicio del Polígono: ")) (TERPRI)
        (SETQ dis (GETREAL "Distancia: "))
        (SETVAR "OSMODE" 0)
        (command "'ORTO""DES")
        (setvar "cmdecho" 0)
        (command "-UNIDADES""2""6""2""5""0""N")-;S es en sentido Horario, N es en sentido Antihorario
  (setq n (getreal"\Sentido Horario(+1),Antihorario(-1):"))
        (setq g (getreal"\GRADOS:"))
        (terpri)
        (setq m (getreal"\MINUTOS:"))
        (terpri)
        (setq s (getreal"\SEGUNDOS:"))
        (terpri)
        (SETVAR "OSMODE" 0)
        (setvar "cmdecho" 1)
        (setq m-g (/ m 60))
        (setq s-m-g (/ (/ s 60) 60))
        (setq a (+ g m-g s-m-g))
        (SETQ rum (* n (* PI (/ a 180.0))));de Angulo Sexagesimal a Radianes
        (SETQ dist (RTOS dis 2 2))
        (SETQ rumb (ANGTOS rum 1 6))
        (SETQ pto (STRCAT "@" dist "<" rumb))
        (COMMAND "_line" ini pto "")
        (SETQ control T)
        (WHILE control
                (SETQ angant1 (GETVAR "lastangle"))
                (SETQ dis1 (GETREAL "Distancia: "))
 (setq n1 (getreal"\Sentido Horario(+1),Antihorario(-1):"))
        (setq g1 (getreal"\GRADOS:"))
        (terpri)
        (terpri)
        (setq m1 (getreal"\MINUTOS:"))
        (terpri)
        (setq s1 (getreal"\SEGUNDOS:"))
        (terpri)
        (SETVAR "OSMODE" 0)
        (setvar "cmdecho" 1)
        (setq m-g1 (/ m1 60))
        (setq s-m-g1 (/ (/ s 60) 60))
        (setq a1 (+ g1 m-g1 s-m-g1))
        (SETQ ang1 (* n1 (* PI (/ a1 180.0))));de Angulo Sexagesimal a Radianes
    
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ dis2 (RTOS dis1 2 2))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang2 (+ angant1 (- ang1 PI)))
                        
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ ang3 (ANGTOS ang2 1 6))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (SETQ pto (STRCAT "@" dis2 "<" ang3))
                )
                (IF (AND (/= dis1 nil) (/= ang1 nil))
                        (COMMAND "_line" "" pto "")
                        (SETQ control nil)
                )
        )
        (COMMAND "_line" "" ini "")
        (SETVAR "blipmode" 1) (SETVAR "cmdecho" 1) (PRIN1)
)
(prompt "\n*** nuevo comando poo definido ***")
(prin1)

Luis Alberto Benitez

Mensajes : 112
Fecha de inscripción : 29/03/2016

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por jamescalabut Vie Ago 05, 2022 11:33 pm

Si lo que tienes es la tabla de datos en excel, con esta rutina se dibuja el polígono que describen esas distancias y esos ángulos:

Código:
(defun c:plan()
(setq distances (list 181.91 230.26 79.44 147.86 278.74 159.8) angles (list 0 1.4846 3.0022 2.8116 0.7598 2.9987))
(setq angles2 angles distances2 distances)
(setq bear (list 0) angles2 (cdr angles2)  distances2 (cdr distances2) points (list (list 0 0)))


(setq points (cons (polar (car points) (car bear) (car distances)) points))


(command "_line" (car points) (cadr points) "")
(Repeat (- (length distances) 2)
(progn
(setq bear (cons (+ pi (- (car bear) (car angles2))) bear))
(setq points (cons (polar (car points) (car bear) (car distances2)) points))
(command "_line" (cadr points) (car points) "")
(setq angles2 (cdr angles2))
(setq distances2 (cdr distances2))
)
)
(command "_line" (car points) (list 0 0) "")

)

Pero si está en excel, más fácil es calcular las coordenadas de los vértices e importarlos a autocad.
Si quieres, te envío el fichero.
Saludos,

jamescalabut

Mensajes : 7
Fecha de inscripción : 27/07/2018

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por devitg Sáb Ago 06, 2022 12:28 am

Hola , jamescalabut , anda perfecto . Muchas Gracias

Con gusto recibiré el xls que mencionas .
mi correo devitg@gmail.com

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por jamescalabut Sáb Ago 06, 2022 1:20 pm

Hola Devitg,

Me alegro que te haya funcionado.

Ya te he enviado el xls.

Saludos,

jamescalabut

Mensajes : 7
Fecha de inscripción : 27/07/2018

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por devitg Sáb Ago 06, 2022 2:08 pm

Gracias

devitg
Admin

Mensajes : 257
Fecha de inscripción : 16/03/2016
Edad : 75
Localización : CORDOBA ARGENTINA

https://acadhispano.foroargentina.net

Volver arriba Ir abajo

como dibujar lotes con datos de una imagen Empty Re: como dibujar lotes con datos de una imagen

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.