AutoCad - Ayuda con ssget

 
Vista:
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Ayuda con ssget

Publicado por Juanma (148 intervenciones) el 05/07/2022 20:40:29
Hola,

Tengo una rutina muy muy simple, que me pide seleccionar con ssget los en sólidos que yo quiera, para luego aplicarle el comando SOLPERFIL.
Básicamente, la utilidad es evitar las preguntas de confirmación (ya establecidas en "si").

Ahora, me sería muy útil que en lugar de aplicarle comando SOLPERFIL a todos los en sólidos a la vez, lo hiciera por cada uno de los sólidos.

Pero no soy capaz de extraer un sólido de la selección para aplicarle SOLPERFIL.

He intentado con los típicos sslengh, ssname y luego con entget, (osea, dime longitud de selección, dame el nombre del objeto número tal, y dale el objeto de nombre tal).
Pero no hay manera de que le aplique el SOLPERFIL a esa entidad (aunque ahora se me está ocurriendo que lo mismo un simple(setq que solido (lista (car selección)))me daría una lista de un solo sólido,para aplicarle (command "SOLPERFIL" sólido "" "" "")

Resumiendo mi problema es que no se recuperar un sólido seleccionado con ssget, para aplicarle el comando en cuestión
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

Ayuda con ssget

Publicado por Gerardo (1000 intervenciones) el 06/07/2022 19:25:30
Hola
Lo que te sobra es el entget, que sería para obtener la lista de definición del objeto. En este caso el nombre de objeto, que te devuelve ssname es el que se le pasa al comando solperfil, seguido de un intro ("") para indicar que ya se terminó de seleccionar

1
2
3
4
5
6
7
8
9
10
11
(if
	(setq ind	0
			sset	(ssget)
	)
	(repeat	(sslength sset)
		(setq	ename	(ssname sset ind)
				ind	(1+ ind)
		)
		(command "_solprof" ename "" "" "" "")
	)
)
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 Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Ayuda con ssget

Publicado por Juanma (148 intervenciones) el 06/07/2022 21:39:24
Muchas gracias, vaya lío tengo con los métodos de selección . Con eso será mucho más fácil montar los planos de despiece,
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
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

Ayuda con ssget

Publicado por Gerardo (1000 intervenciones) el 07/07/2022 21:34:33
jeje

No es tan dificil
Lo mejor es aprender que hace cada función y que tipo de datos devuelve, para armar tus procedimientos a medida en vez de copiar procedimientos aprendidos que no siempre se van a ajustar a cada necesidad

ssget te devuelve un objeto de tipo "selection set" o "conjunto de selección". Es un grupo de nombres de entidad pero no una lista, así que para acceder a los nombres de entidad debes usar si o si ssname.

entsel te devuelve una lista cuyo primer elemento es el nombre de entidad. Con (car (entsel)) ya tienes ese nombre

A los comandos les puedes pasar ambos tipos de cosas. Conjuntos de selección (siempre y cuando sean comandos que reciban selección múltiple) o nombres de entidad
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
Imágen de perfil de Juanma
Val: 171
Bronce
Ha mantenido su posición en AutoCad (en relación al último mes)
Gráfica de AutoCad

Ayuda con ssget

Publicado por Juanma (148 intervenciones) el 09/07/2022 12:34:53
Pues tienes razón, pero es difícil encontrar la información al respecto. Bien del input necesario (ssname, entget, etc) o bien, del output que te devuelve cada función.

para mí todos son "el/los objetos seleccionados" . A veces intento buscar manuales de autolisp, pero muchos se quedan en los temas de suma, resta, crea lista, y te nombran de pasada las cosas mas complicadas, que son las que necesitan mas explicación.

estaría genial tener un prontuario de funciones autolisp y comandos autocad, del tipo:

ssget: se programa así:........... devuelve lo siguiente:................. sirve para seleccionar........... por ejemplo con este comando:...........

solperfil: requiere de solidos, y en autolisp, id de objetos, por ejemplo, ssname,( o algo así).

también ayudaría mucho un ide mas interactivo, pero eso es obvio que ni de coña (gracias que no descontinuan el que hay).

en fin, con todo y con eso, las lisp simples que tengo me solucionan mucho el trabajo. sobre todo la de pesar solidos, la de imprimir desde el espacio modelo segun formatos, y dos o tres mas, las uso a diario.
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