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

MEDICION de ANGULOS

3 participantes

Ir abajo

MEDICION de ANGULOS Empty MEDICION de ANGULOS

Mensaje por Dominguez Lun Mar 25, 2024 1:16 pm

Esta rutina sirve para medicion de angulos, recibiendo el resultado en tres formas diferentes.
espero que os sea de vuestro agrado.

DTinfo_Angu.lsp
Código:
; Medicion de angulos,  con (grados minutos y segundos) (Grados y decimales) y (radianes).
 ; Luis Dominguez Gómez  :copyright: 2006 (luisfuentef@gmail.com)
;;;================================================================================================
(defun crear_dialog ()
  (setq file (vl-filename-mktemp nil nil ".dcl"))
  (setq indi (open file "W"))
  (foreach str ;
               (list "temp:dialog{key="rotulo";width=40;" ;
                     "  :edit_box{label="Sexagesimal";" ;
                     "    key="sex";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "  }" ;
                     "  :edit_box{label="Decimal";" ;
                     "    key="cen";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "  }" ;
                     "  :edit_box{label="Radianes";" ;
                     "    key="radi";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "}" ;
                     "  ok_only;" ;
                     "  :boxed_column{label=" Luis Dominguez Gómez  :copyright: 2015 ";" ;
                     "    :text{key="fecha";alignment=centered;}" ;
                     "  }" ;
                     "}"
                    )
    (write-line str indi)
  )
  (close indi)
)
;;;================================================================================================
(defun old_var ()
  (setq blk (getvar 'dimblk))
  (setq sah (getvar 'dimsah))
  (setq dtih (getvar 'dimtih))
  (setq clrd (getvar 'dimclrd))
  (setq clrt (getvar 'dimclrt))
  (setq mexe (getvar 'dimexe))
  (setq dms1 (getvar 'dimse1))
  (setq dms2 (getvar 'dimse2))
)
;;;================================================================================================
(defun c:dtinfo_angu (/ file blk sah dtih clrd clrt mexe dms1 dms2 radi dim_sex num dim_cen indi)
  (vl-load-com)
  (setvar 'cmdecho 0)
  (old_var)
  (mapcar 'setvar
          (list 'dimsah 'dimblk 'dimclrd 'dimclrt 'dimexe 'dimtih 'dimse1 'dimse2)
          '(0 "_none" 40 250 0 0 0 0)
  )
  (prompt "\nDesignar dos Lineas..... ")
  (vl-cmdf "_dimangular" "\" "\" "\")
  (setq radi (cdr (assoc 42 (entget (entlast)))))
  (entdel (entlast))
  (redraw)
  (setq dim_sex (angtos radi 1 4))
  (setq num (strlen (itoa (fix (atof (angtos radi 0 3))))))
  (setq dim_sex (strcat (substr dim_sex 1 num) (chr 176) (substr dim_sex (+ num 2))))
  (setq dim_cen (strcat (angtos radi 0 5) (chr 176)))
  (setq radi (strcat (rtos radi 2 5) " r"))
  (crear_dialog)
  (setq indi (load_dialog file))
  (new_dialog "temp" indi)
  (action_tile "accept" "(done_dialog 1)")
  (mapcar 'set_tile
          (list "rotulo" "sex" "cen" "radi" "fecha")
          (list (strcat "Medicion de Angulos  :copyright:" (substr (rtos (getvar 'cdate) 2 4) 1 4))
                dim_sex
                dim_cen
                radi
                (menucmd "M=$(edtime, $(getvar,date),DDDD"" DD MONTH YYYY - HH:MM) h")
          )
  )
  (vl-file-delete file)
  (start_dialog)
  (unload_dialog indi)
  (mapcar 'setvar
          (list 'dimsah 'dimtih 'dimblk 'dimclrd 'dimclrt 'dimexe 'dimse1 'dimse2)
          (list sah dtih blk clrd clrt mexe dms1 dms2)
  )
  (prin1)
)
;;;================================================================================================

Un saludo
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

A robierzo le gusta esta publicaciòn

Volver arriba Ir abajo

MEDICION de ANGULOS Empty Re: MEDICION de ANGULOS

Mensaje por Luis Alberto Benitez Lun Mar 25, 2024 11:49 pm

Maestro Me acusa el siguiente error: Comando: ; error: cadena formada incorrectamente en entrada

Luis Alberto Benitez

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

Volver arriba Ir abajo

MEDICION de ANGULOS Empty Re: MEDICION de ANGULOS

Mensaje por Dominguez Mar Mar 26, 2024 5:36 pm

Luis Alberto Benitez escribió:Maestro Me acusa el siguiente error: Comando: ; error: cadena formada incorrectamente en entrada
Lo siento, pero no encuentro ningun error en la rutina, a mi me funciona de maravilla, uso AutoCad 2018.
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

MEDICION de ANGULOS Empty Re: MEDICION de ANGULOS

Mensaje por Gerardo Calvo Vie Mar 29, 2024 5:28 am

Hola, si hay un detallito que no deja que la rutina funcione.
Parece que al copiar y pegar el texto para publicar se te han perdido los '\' antes de " o de otro \ cuando estos van dentro de cadenas. Esto afecta tanto la creación del dcl, las pausas en el comando dimangular y el parámetro en el DIESEL

Con tu permiso Dominguez, aquí la copio de nuevo habiendo agregado todos los backslashs

Código:
; Medicion de angulos,  con (grados minutos y segundos) (Grados y decimales) y (radianes).
; Luis Dominguez Gómez  :copyright: 2006 (luisfuentef@gmail.com)
;;;================================================================================================(defun crear_dialog ()
  (setq file (vl-filename-mktemp nil nil ".dcl"))
  (setq indi (open file "W"))
  (foreach str ;
               (list "temp:dialog{key="rotulo";width=40;" ;
                     "  :edit_box{label="Sexagesimal";" ;
                     "    key="sex";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "  }" ;
                     "  :edit_box{label="Decimal";" ;
                     "    key="cen";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "  }" ;
                     "  :edit_box{label="Radianes";" ;
                     "    key="radi";" ;
                     "    fixed_width_font=true;" ;
                     "    edit_width=10;" ;
                     "}" ;
                     "  ok_only;" ;
                     "  :boxed_column{label=" Luis Dominguez Gómez  :copyright: 2015 ";" ;
                     "    :text{key="fecha";alignment=centered;}" ;
                     "  }" ;
                     "}"
                    )
    (write-line str indi)
  )
  (close indi)
)
;;;================================================================================================
(defun old_var ()
  (setq blk (getvar 'dimblk))
  (setq sah (getvar 'dimsah))
  (setq dtih (getvar 'dimtih))
  (setq clrd (getvar 'dimclrd))
  (setq clrt (getvar 'dimclrt))
  (setq mexe (getvar 'dimexe))
  (setq dms1 (getvar 'dimse1))
  (setq dms2 (getvar 'dimse2))
)
;;;================================================================================================
(defun c:dtinfo_angu (/ file blk sah dtih clrd clrt mexe dms1 dms2 radi dim_sex num dim_cen indi)
  (vl-load-com)
  (setvar 'cmdecho 0)
  (old_var)
  (mapcar 'setvar
          (list 'dimsah 'dimblk 'dimclrd 'dimclrt 'dimexe 'dimtih 'dimse1 'dimse2)
          '(0 "_none" 40 250 0 0 0 0)
  )
  (prompt "\nDesignar dos Lineas..... ")
  (vl-cmdf "_dimangular" "" "" "")
  (setq radi (cdr (assoc 42 (entget (entlast)))))
  (entdel (entlast))
  (redraw)
  (setq dim_sex (angtos radi 1 4))
  (setq num (strlen (itoa (fix (atof (angtos radi 0 3))))))
  (setq dim_sex (strcat (substr dim_sex 1 num) (chr 176) (substr dim_sex (+ num 2))))
  (setq dim_cen (strcat (angtos radi 0 5) (chr 176)))
  (setq radi (strcat (rtos radi 2 5) " r"))
  (crear_dialog)
  (setq indi (load_dialog file))
  (new_dialog "temp" indi)
  (action_tile "accept" "(done_dialog 1)")
  (mapcar 'set_tile
          (list "rotulo" "sex" "cen" "radi" "fecha")
          (list (strcat "Medicion de Angulos  :copyright:" (substr (rtos (getvar 'cdate) 2 4) 1 4))
                dim_sex
                dim_cen
                radi
                (menucmd "M=$(edtime, $(getvar,date),DDDD"" DD MONTH YYYY - HH:MM) h")
          )
  )
  (vl-file-delete file)
  (start_dialog)
  (unload_dialog indi)
  (mapcar 'setvar
          (list 'dimsah 'dimtih 'dimblk 'dimclrd 'dimclrt 'dimexe 'dimse1 'dimse2)
          (list sah dtih blk clrd clrt mexe dms1 dms2)
  )
  (prin1)
)
;;;================================================================================================

Gerardo Calvo

Mensajes : 46
Fecha de inscripción : 29/10/2019

A robierzo le gusta esta publicaciòn

Volver arriba Ir abajo

MEDICION de ANGULOS Empty Re: MEDICION de ANGULOS

Mensaje por Dominguez Vie Mar 29, 2024 6:57 pm

Gracias Gerardo, no me habia dado cuenta, que podria ser eso.
Dominguez
Dominguez

Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)

Volver arriba Ir abajo

MEDICION de ANGULOS Empty Re: MEDICION de ANGULOS

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.