Cerrar arco

Un buen lugar donde debatir temas relacionados con este Soft.
Responder Tema anteriorTema siguiente
Avatar de Usuario

Autor del Tema
Fgs
Oficial 1º
Oficial 1º
Mensajes: 1753
Registrado: Lun Nov 23, 2009 21:20
Temas: 445
Programa: AUTOCAD
Agradecimiento recibido: 86 veces
Género:
Estado: Desconectado

Cerrar arco

#1

Mensaje por Fgs » Jue Sep 19, 2019 17:55

Hola, buenas tardes para los españoles, y buenos días para los que están al otro lado del charco.

A veces me gusta tocar Autocad. Y estoy haciendo un dibujo que me resulta sencillo pero que he querido hacer algo y no lo tengo. Tengo un arco y quiero convertirlo en circulo. Se que existe por ahí, en la web, una rutina que hace eso. y para saber como está hecha, me gustaría, si la tenéis, destriparla, y por lo tanto, en formato Autolisp.

De todos modos, voy a seguir buceando. Si la encuentra, la subo. Pero, si no lo hago cuando leáis esto y si la tenéis, por favor, hacerlo por mi.

Gracias.
La historia la escribes con tus actos.

Avatar de Usuario

Mondeo14
Webmaster
Webmaster
Mensajes: 9923
Registrado: Mar Nov 03, 2009 20:48
Temas: 534
Programa: INVENTOR
Ubicación: NAVARRA
Agradecido : 1906 veces
Agradecimiento recibido: 1299 veces
Género:
Zodíaco:
Edad: 58
Estado: Conectado

Re: Cerrar arco

#2

Mensaje por Mondeo14 » Jue Sep 19, 2019 19:10

Buenas tardes.
Siento ser un aguafiestas pero no te hace falta ninguna rutina.
Comando UNIR (_JOIN en inglés), seleccionas el arco, le das a INTRO y te la opción de cerrar el arco, en castellano es la E (de cErrar).

¿Que existe la rutina?, pues no te lo voy a negar, ni a afirmar, pero esto es lo que he encontrado antes que la rutina.
Un saludo

Nos leemos, Mondi Imagen

Imagen

Procesador: CPU Intel I7 Disco Duro: SSD 250 GB y 2 TB Memoria RAM: 14 GB-DDR3 1333 Tarjeta Gráfica: PNY nVIDIA Quadro 600 1GB GDDR3

Avatar de Usuario

Autor del Tema
Fgs
Oficial 1º
Oficial 1º
Mensajes: 1753
Registrado: Lun Nov 23, 2009 21:20
Temas: 445
Programa: AUTOCAD
Agradecimiento recibido: 86 veces
Género:
Estado: Desconectado

Re: Cerrar arco

#3

Mensaje por Fgs » Jue Sep 19, 2019 22:57

Pues, no pondría la mano en el fuego, por si me quemo, pero creo haberla visto alguna vez, pero tan solo creo.

Lo de cerrar el arco, ahora que lo he leído, creo que lo había leído en alguna parte pero no me acordaba. Quizás me he empecinado en la rutina. He estado a un clic de ponerme a repasar autolisp y hacerla yo mismo, pero ya que lo hace el propio programa, creo que no voy a molestarme en ello.

Gracias, ya no se me olvida. Espero que lo tenga la Release que utilizo yo.
La historia la escribes con tus actos.

Avatar de Usuario

Autor del Tema
Fgs
Oficial 1º
Oficial 1º
Mensajes: 1753
Registrado: Lun Nov 23, 2009 21:20
Temas: 445
Programa: AUTOCAD
Agradecimiento recibido: 86 veces
Género:
Estado: Desconectado

Re: Cerrar arco

#4

Mensaje por Fgs » Vie Sep 20, 2019 13:19

Bueno, no me quemaría, porque, despues de buscar una y otra vez, al fin la he encontrado. Eureka.

pongo el código aquí para que se vea que no tiene nada de malicioso. Lo digo porque la he probado, (funciona correctamente ) pero me sale un mensaje de advertencia.
 

Código: Seleccionar todo

[color=#16a085];*****************************************************************************
;                            ATC.LSP V1.0
;                           by Zoltan Toth
;    ZOTO Technologies,
;    23 Greenhills Dve,
;    Melton 3337.
;    E-MAIL: zoltan.toth@ains.net.au
;       WWW: http://www.ains.net.au/zoto/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;  This program takes any number of arcs and converts them into circles.
;  Each circle is a new object with all the properties of the arc it
;  replaces. Non-arc objects are ignored.
;
;*****************************************************************************
(defun C:ATC (/ CTR2 CTR3 D2 SS2 OBN2 OBD2 OBD3)
 (setq CTR2 0)                             ;initialize CTR2 for object counter
 (prompt "\nSelect arcs to convert to circles: ")
 (setq SS2 (ssget '((0 . "ARC"))))        ;create selection set with arcs only
 (repeat (sslength SS2)                                ;repeat for each object
  (setq OBN2 (ssname SS2 CTR2))                               ;get object name
  (setq OBD2 (entget OBN2))                             ;get object data lists
;substitute CIRCLE in assoc. 0
  (setq OBD2 (subst (cons 0 "CIRCLE")(assoc 0 OBD2) OBD2))
  (setq CTR3 (1- (length OBD2)))         ;set CTR3 to 1 less than size of OBD2
  (repeat (length OBD2)                          ;repeat for each list in OBD2
   (setq D2 (nth CTR3 OBD2))       ;set D2 to an association list from the arc
;;;;
;if association list is neither a start or end angle,
;copy the association list to OBD3
   (if (and (/= 50 (car D2))(/= 51 (car D2)))        ;check for assoc. 50 & 51
    (setq OBD3 (cons D2 OBD3))                       ;copy assoc. list to OBD3
   )
   (setq CTR3 (1- CTR3))                               ;decrement counter CTR3
  )                                                    ;end of second (repeat)
  (entdel OBN2)                                                    ;delete arc
  (entmake OBD3)                                                  ;make circle
  (setq OBD3 nil)                                           ;set OBD3 to (nil)
  (setq CTR2 (1+ CTR2))                              ;increment object counter
 )                                                      ;end of first (repeat)
 (princ)                                                         ;exit quietly
)[/color]

 
La historia la escribes con tus actos.

Avatar de Usuario

Mondeo14
Webmaster
Webmaster
Mensajes: 9923
Registrado: Mar Nov 03, 2009 20:48
Temas: 534
Programa: INVENTOR
Ubicación: NAVARRA
Agradecido : 1906 veces
Agradecimiento recibido: 1299 veces
Género:
Zodíaco:
Edad: 58
Estado: Conectado

Re: Cerrar arco

#5

Mensaje por Mondeo14 » Vie Sep 20, 2019 15:09

Excelente aportación, me alegra de que hayas insistido, otra rutina mas para la colección de todos.
Un saludo

Nos leemos, Mondi Imagen

Imagen

Procesador: CPU Intel I7 Disco Duro: SSD 250 GB y 2 TB Memoria RAM: 14 GB-DDR3 1333 Tarjeta Gráfica: PNY nVIDIA Quadro 600 1GB GDDR3

Responder Tema anteriorTema siguiente