MEDICION de ANGULOS
3 participantes
Página 1 de 1.
MEDICION de ANGULOS
Esta rutina sirve para medicion de angulos, recibiendo el resultado en tres formas diferentes.
espero que os sea de vuestro agrado.
DTinfo_Angu.lsp
Un saludo
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- Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
A robierzo le gusta esta publicaciòn
Re: MEDICION de ANGULOS
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
Re: MEDICION de ANGULOS
Lo siento, pero no encuentro ningun error en la rutina, a mi me funciona de maravilla, uso AutoCad 2018.Luis Alberto Benitez escribió:Maestro Me acusa el siguiente error: Comando: ; error: cadena formada incorrectamente en entrada
Dominguez- Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Re: MEDICION de ANGULOS
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
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
Re: MEDICION de ANGULOS
Gracias Gerardo, no me habia dado cuenta, que podria ser eso.
Dominguez- Mensajes : 152
Fecha de inscripción : 20/03/2016
Edad : 74
Localización : Zaragoza (España)
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|