AutoCad - Donde se guardan y como acceder a los puntos de Divide

 
Vista:
sin imagen de perfil
Val: 13
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Donde se guardan y como acceder a los puntos de Divide

Publicado por Antonio (15 intervenciones) el 16/05/2020 13:16:59
Buenas Días al foro en general:

Estoy pensando escribir una rutina que me divida una linea dada en varios segmentos iguales con el comando divide.

Después necesitaría acceder a esos puntos uno por uno, para trazar lineas a otros puntos.....

La pregunta es:

Una vez dividida la linea como puedo acceder a los puntos y gestionarlos para que me sirvan de punto de partida de otras lineas o como centros de otros círculos que tengo que crear...

Me podéis iluminar algo...?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.285
Oro
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Donde se guardan y como acceder a los puntos de Divide

Publicado por Gerardo (986 intervenciones) el 16/05/2020 18:52:47
Hola
Lo único que el comando divide hace es calcular las particiones y crear entidades tipo punto.

Lo mejor sería que tu calcules los puntos a lo interno de la rutina (sin usar el comando divide), y los guardes en una lista.

Pero suponiendo que eso no aplica y necesitamos capturar los puntos creados por divide, como la base de datos de autocad es ordenada cada elemento se crea después del último, entonces lo que hay que hacer es capturar la útima entidad creada antes de aplicar "divide", y luego de usar divide, iterear desde esa entidad capturada por cada siguiente entidad hasta la nueva última. Esos serán los puntos.

Aquí te dejo un ejemplo didáctico de ambas formas.

Sin usar divide:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
(defun c:test1 ( / nent objeto longitud partes puntos dista acumulado)
	;seleccionar la entidad a dividir
	(setq nent (car (entsel))
	;obtener el objeto curva y su longitud total.
			objeto (vlax-ename->vla-object nent)
			longitud (vla-get-length objeto)
	;;Consultar al usuario cuantas partes
			partes (getint "\nCantidad de segmentos")
			puntos (1- partes)
	;calcular distancia entre puntos
			dista	(/ longitud partes)
			acumulado dista
	)
	;iterar obteniendo los puntos
	(repeat puntos
		(setq pt (vlax-curve-getpointatdist objeto acumulado)
				coordenadas-ptos (cons pt coordenadas-ptos)
				acumulado (+ acumulado dista)
		)
	)
	;imprimir la lista de coordenadas
	(princ "\nPuntos capturados sin divide:\n------------------")
	(mapcar
		'(lambda (pt)
			(princ (strcat "\n--> " (vl-princ-to-string pt)))
		)
		coordenadas-ptos
	)
	(textpage)
	(princ)
)

Y usando divide:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(defun c:test2 ( / siguiente entidades-puntos pt coordenadas-ptos)
	;capturar la ultima entidad gráfica
	(setq siguiente (entlast))
	;dividir
	(command "divide" pause pause)
	;mientras que haya una siguiente entidad
	(while (setq siguiente (entnext siguiente))
		;agregar la entidad a la lista de entidades
		(setq entidades-puntos (cons siguiente entidades-puntos)
		;obtener las coordenadas del punto
				pt	(cdr (assoc 10 (entget siguiente)))
		;agregar las coordenadas a la lista de puntos
				coordenadas-ptos (cons pt coordenadas-ptos)
		)
	)
	;borrar las entidades de los puntos si ya no se ocupan
	(mapcar 'entdel entidades-puntos)
	;imprimir la lista de coordenadas
	(princ "\nPuntos capturados con divide:\n------------------")
	(mapcar
		'(lambda (pt)
			(princ (strcat "\n--> " (vl-princ-to-string pt)))
		)
		coordenadas-ptos
	)
	(textpage)
	(princ)
)

Si aplicas ambas funciones sobre el mismo trazo con igual cantidad de particiones verás que el resultado es exactamente el mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de jotanran
Val: 2
Ha disminuido su posición en 6 puestos en AutoCad (en relación al último mes)
Gráfica de AutoCad

Donde se guardan y como acceder a los puntos de Divide

Publicado por jotanran (1 intervención) el 03/06/2020 16:55:21
Oye amigo yo tengo el mismo problema y estuve buscando por varias partes y encontré algo en plan seo que me sirvió de algo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar