Spanish Afrikaans Arabic Basque Belarusian Bulgarian Catalan Chinese (Simplified) Czech Danish Dutch English Finnish French Galician German Greek Hebrew Hungarian Italian Japanese Korean Lithuanian Norwegian Polish Portuguese Romanian Russian Swedish Turkish
Dibuje sus proyectos de arquitectura desde AutoCAD
Calcule la limitación de la demanda energética (CTE)
Obtenga la calificación energética del proyecto (CTE)
Más de 500 utilidades GRATIS para AutoCAD o BricsCAD
Traduzca automáticamente sus dibujos a cualquier idioma
Revise varios dibujos al mismo tiempo. Ahorre tiempo.
Genere todo tipo de cubiertas o tejados en 3D.
Genere secciones y alzados 2D desde su maqueta
Estructuras de madera para tejados y cubiertas inclinadas
Divida un terreno en parcelas iguales automáticamente
Envie sus dibujos para que nadie pueda mofificarlos
!No pierda su trabajo!. Copias de seguridad automáticas
Revise sus dibujos en tiempo real con una lupa.
Controle facilmente el tiempo invertido en cada dibujo
Bienvenido, Invitado
Nombre de Usuario Contraseña: Recordarme

Acotación de Polígonos con arcos y rectas
(1 viendo) (1) Invitado
  • Página:
  • 1

TEMA: Acotación de Polígonos con arcos y rectas

Acotación de Polígonos con arcos y rectas 05 Oct 2011 12:37 #1

  • mandino63
  • DESCONECTADO
  • Usuario Novel
  • Temas: 12
Hola, me gustaría sugerir un nuevo comando que acotara las dimensiones lineales de la lineas que componen una polilinea, en formato texto de una linea y que en el caso de que sean curvas acote también su radio en una linea de texto paralela a la perpendicular del centro del arco debajo de la dimensión de la linea entre los vértices o cuerda; ya tengo un programa que me acota en formato texto de una linea las distancias entre los vértices pero en el caso de que sea un arco no me acota el radio ya que no lo tiene en cuenta el programa es este.

(defun chgterr (s)
(princ "Error: ")(terpri)

(prin1)
)


(setq estilo (getvar "textstyle"))
(setq lent (tblsearch "style" estilo))
(if (= (cdr(assoc 40 lent)) 0)(progn(if (not h_txo)
(setq h_txo "2" h_txot h_txo h_txo(getstring (strcat"\nAltura de Texto<"h_txo">: ")))
(if (= h_txo "")(setq h_txo h_txot)))))

(if (not d_txo)(progn
(setq d_txo 0.5 d_txot d_txo d_txo (getreal (strcat "\nSeparacion del texto de la poligonal <"(rtos d_txo 2 2)"> : ")))
(if (= d_txo nil)(setq d_txo d_txot))
))

(setq p0 '(0 0))

(defun c:bp94()

(setq salida "n")

(while (/= salida "S")

(setvar "osmode" 0)(setvar "orthomode" 0)(setvar "blipmode" 0)(setvar "cmdecho" 0)

(setq olderr *error* *error* chgterr)
(if ,,()(232323))

(setq p1 (getpoint p0 "\n Insercion del lote : "))

(command "_bpoly" p1 "_A" "_X" "" )
(pl_cor)
(entdel (entlast) )

(setq lgg (strlen c_x))
(setq n_n 1 ktr t)

(c:q990)(setq pv1 (list (atof x) (atof y)))
(setq pv1 (trans pv1 0 1))
(setq pv3 pv1)

(while (< n_n lgg)
(c:q990)(setq pv2 (list (atof x) (atof y) ))
(setq pv2(trans pv2 0 1))

(setq p3 (polar pv1 (angle pv1 pv2) (/ (distance pv1 pv2) 2)))

(setq estilo (getvar "textstyle"))
(setq lent (tblsearch "style" estilo))

(if (= (cdr(assoc 40 lent)) 0)
(command "_text" "_mc" p3 h_txo (angtos(angle pv1 pv2)) (rtos (distance pv1 pv2) 2 2) )
(command "_text" "_mc" p3 (angtos(angle pv1 pv2)) (rtos (distance pv1 pv2) 2 2) )
)
(ps_fn)



; (command "_line" p0 p3 "")(getstring)(entdel (entlast))
(setq pv1 pv2)
);while

(prin1)

(setq salida(strcase (substr (getstring "Salir?Si/No\n") 1 1)))

)

);defun bp94

(defun c:q990()
(q980)(setq nt1 (+ nt1 1))
(setq x (substr c_x nt1 (- nt2 nt1)))
(q980)(setq nt1 (+ nt1 1))
(setq y (substr c_x nt1 (- nt2 nt1)))
)

(defun q980()
(setq ktr t)(while ktr (setq txt(substr c_x n_n 1))
(if (/= txt " ")(setq nt1 (1- n_n) ktr nil)(setq n_n (+ n_n 1)))
(if (< lgg n_n)(setq nt1 n_n ktr nil)))
(setq ktr t)(while ktr(setq txt (substr c_x n_n 1))
(if (= txt " ")(setq nt2 n_n ktr nil)(setq n_n (+ n_n 1)))
(if (< lgg n_n)(setq nt2 n_n ktr nil))))


(defun pl_cor()

(setq lent (entget (entlast)))

(setq m 0 ctr 0)
(while (/= ctr 10)
(setq vvv (nth m lent))
(setq ctr (car vvv))
(setq m (+ 1 m))
)
(setq pv1 (cdr vvv))
(setq pv1 (trans pv1 0 1))
(setq pv3 pv1)
(repeat 4
(setq vvv (nth m lent))
(setq m (+ 1 m))
)
(setq txxt (strcat (rtos (car pv1) 2 8)" "(rtos (cadr pv1) 2 8)" "))

(setq pv2 (cdr vvv))
(setq pv2 (trans pv2 0 1))
(setq ang (angle pv1 pv2))

(setq pv1 pv2)
(repeat 4
(setq vvv (nth m lent))
(setq m (+ 1 m))
)

(setq v "T")
(while v

(setq pv2 (cdr vvv))
(setq pv2 (trans pv2 0 1))
(setq ang2 (angle pv1 pv2))

(if (= (rtos ang 2 8) (rtos ang2 2 8))(progn
(setq pv1 pv2)
)(progn
(setq txxt (strcat txxt (rtos (car pv1) 2 8)" "(rtos (cadr pv1) 2 8)" "))
(setq ang ang2)
(setq pv1 pv2)
))

(repeat 4
(setq vvv (nth m lent))
(setq m (+ 1 m))
)
(if (= (car vvv) 210)(setq v nil))
);while

(setq txxt (strcat txxt (rtos (car pv2) 2 8)" "(rtos (cadr pv2) 2 8)" "))
(setq txxt (strcat txxt (rtos (car pv3) 2 8)" "(rtos (cadr pv3) 2 8)" "))

(setq c_x txxt)

);defun

(defun ps_fn()

;(initget "1 2 3 4")
;(setq posf(getint "\n Posicion final 1,2,3,4 :"))

(if
(or
(< (angle pv1 pv2) (* pi 0.55))
(< (*(/ pi 2)3) (angle pv1 pv2))
)
(setq posf 1)(setq posf 3)
)


;(getstring (rtos posf))


(if (= posf 1)(progn
(setq lent (entget (entlast)))(entmod (subst (cons 73 0) (assoc 73 lent) lent ))
(command "_move" (entlast) "" p3 (polar p3 (+ (angle pv1 pv2) (/ pi 2)) d_txo ))
))

(if (= posf 2)(progn
(setq lent (entget (entlast)))(entmod (subst (cons 73 3) (assoc 73 lent) lent ))
(command "_move" (entlast) "" p3 (polar p3 (- (angle pv1 pv2) (/ pi 2)) d_txo ))
))

(if (= posf 3)(progn
(command "_rotate" (entlast) "" p3 "180")
(setq lent (entget (entlast)))(entmod (subst (cons 73 3) (assoc 73 lent) lent ))
(command "_move" (entlast) "" p3 (polar p3 (+ (angle pv1 pv2) (/ pi 2)) d_txo ))
))

(if (= posf 4)(progn
(command "_rotate" (entlast) "" p3 "180")
(setq lent (entget (entlast)))(entmod (subst (cons 73 0) (assoc 73 lent) lent ))
(command "_move" (entlast) "" p3 (polar p3 (- (angle pv1 pv2) (/ pi 2)) d_txo ))
))

)


(c:bp94)

Re: Acotación de Polígonos con arcos y rectas 05 Oct 2011 14:53 #2

  • ARKITool
  • DESCONECTADO
  • Administrador
  • Temas: 1098
Hola,

Me gustaría que enviarás una imagen o un dibujo donde se vea el resultado que quieres obtener.

También me gustaría saber para que usas esta utilidad.

Saludos.
Un saludo.
Antonio García
Eq. Desarrollo ARKITool.
www.arkiplan.es

Re: Acotación de Polígonos con arcos y rectas 05 Oct 2011 14:58 #3

  • mandino63
  • DESCONECTADO
  • Usuario Novel
  • Temas: 12
proba el lisp que te envie copiandolo a un archivo lsp y cargalo en autocad, dibuja una polilinea cerrada cualquiera con lineas rectas y ejecutalo dentro y vas a ver el resultado, me toma mas tiempo enviarte el archivo con lo que ya hice.
Y lo Uso para acotacion de lotes en proyectos inmobiliarios pero en algunos casos uso polilineas con curvas y necesito dar la distancia entre los puntos y ademas el radio
Última Edición: 05 Oct 2011 14:58 Por mandino63.
  • Página:
  • 1
Moderadores: ARKITool
Página generada en 0.31 segundos

Acceso de usuarios