AutoCad - Problemillas en lisp para imprimir desde espacio modelo

 
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 07/01/2022 15:54:30
Buenos días,

Tengo una lisp que uso para imprimir todos los planos que necesite del espacio modelo.
En teoría funciona bien, pero me hace cosas raras, como no imprimir cosas que si están, o descuadarme la ventana de impresión.

Todo esto me lo hace en autocad 2018, que uso en el trabajo, pero he intentado recrearlo en el archivo que adjunto, y no me dá ni un fallo (ley de murfy, supongo) en casa uso el autocad 2019. ¿pudiera ser una pulga en el 2018?

los fallos aparecen cuando trabajo en 3d en un archivo, para luego sacar vistas, y planos varios de fabricacion, despiece etc... de manera que tengo que copiar los planos y objetos 2d a un archivo limpio para poder usar esta rutina sin fallos (a veces incluso así da algún fallo)

la verdad es que copiar a un segundo archivo limpio no es mucho trabajo para el que me ahorra, pero me gustaría dejar la rutina totalmente funcional, si se puede arreglar eso.

os paso la rutina, y un archivo de muestra, ya que necesita los bloques con los formatos para funcionar

aclaraciónes:
- antes de usarla hay que cambiar la ruta de los estilos de ploteo en la rutina (C:\\Users\\...........\\Plot Styles), para poner la que tenga cada quien en su pc
- los formatos se pueden escalar, pero no rotar ni deformar, ya que la rutina usa la escala, y el punto de aplicación del formato.

saludos.
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 08/01/2022 00:29:41
Hola amigo

Es difícil saber de donde puedan salir los errores sin tener un archivo que esté fallando, pero te doy un par de ideas a ver si te sirven

"no imprimir cosas que si están"

Si eso te pasa cuando trabajas en 3d es posible que tenga que ver con el estilo visual (y menos posible, pero habria que revisar, el plano de trabajo)
Cuando ocurra este error revisa el comando "_shademode" y asegúrate de asignar "_2D Wireframe" (no se como se llama en español, pero es la primera opcion que sale cuando lo invocas como comando)

Logicamente que si tienes una lámina armada que quieres imprimir con un modo de sombreado diferente, pues este ajuste no viene al caso. Si detectas que por ahí viene el fallo tendrias que diferenciar impresiones en un modo y en el otro, porque es una limitante de armar láminas en espacio modelo. Solo puedes tener un modo de sombreado, contrario en layout que puedes tener uno diferente en cada ventana gráfica.

o descuadarme la ventana de impresión

esto podría ser por la configuración del osnap (referencias a objeto)
Cuando utilizas command con coordenadas como tus variables st_point y st_point2 estas son sensibles a los modos magnéticos activos y entonces dependiendo del zoom y rastreos puede ubicar coordenadas diferentes a las que tenias en la variable,
¿Como saberlo? Cuando te pase en un archivo dale al F3 para desactivar osnaps y trata de repetir el proceso en identicas condiciones (zoom) a ver si esta vez se corrige.

Suerte
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 10/01/2022 11:57:37
Te adjunto dos archivos, donde uno son los planos despues de haber trabajado en 3d, y el otro son los planos copiados y pegados en un archivo nuevo.

en ambos archivos ( y siempre) imprimo con scp universal, vista superior, y estructura alámbrica 2d.
.
He borrado todo excepto los formatos, y les he puesto un numero dentro para identificar el plano.
Al archivo que está "malo" le he puesto una matriz de números y unas rayas por fuera, para que se pueda identificar, que zona de la pantalla está imprimiendo.

Adjunto también muestras de los últimos 4 planos de cada archivo impresos, donde se ve que el problema es que "desplaza" la ventana de impresión.

El otro error que comete, aunque solo a veces, es que no imprime algunas lineas o capas, pero igual, al pegarlo todo en uno nuevo, ya deja de hacerlo.

He probado a limpiar el archivo con "ayuda al dibujo" y no funciona, tiene que ser pegado en uno nuevo.
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 10/01/2022 12:34:37
pues me acabo de dar cuenta de que sí que estaba cambiando el scp, al cambiar la vista de trabajo, y puede ser eso lo que me descuadra la impresión, ains.... con la de vueltas que le he dado... y metiendo un
1
(command "_ucs" "")
queda listo...
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 08/01/2022 00:45:36
otra cosa.

No me pude resistir a reprogramar tu codigo desde otros enfoques. El tuyo funciona muy bien, solo se me ocurrieron otras formas, así que te lo dejo por aquí por un tema meramente didáctico.

Pensé en una lista de papeles de la forma
1
2
3
4
5
'(	("A1" 841 594)
	("A2" 594 420)
	("A3" 420 297)
	("A4" 297 210)
)
de la cual salgan el nombre del papel y el encuadre de impresión, por un tema de mantenimiento. Si luego quieres agregar otros tamaños basta con agregarle más líneas a esa lista y no tienes que ir buscando por el códdigo para agregarlo en cada sección. Eso si, si agregaras por ejemplo hojas "B" u otra convención de nombres habría que modificar la construccion de la cadena del nombre, pero me sigue pareciendo más claro.

Agregué el _non antes de los puntos en el command para suprimir el posible error con el osnap del que te hablé en la otra respuesta

El control de errores porque toqué la variable filedia. Creo que no era necesario, porque command fuerza a que los nombres de archivos se pidan por linea de comandos, pero en todo caso lo dejé, eso porque cuando estoy haciendo pruebas con el comando si que me dispara el dialogo para poner el nombre del pdf

El command está en inglés porque es la versión de cad que tengo, pero como lleva los '_' antes de los comados y opciones, puede correr en cualquier versión.

Cambie algunos valores por variables del sistema. ROAMABLEROOTPREFIX ayuda a que no tengas que estar cambiando la ruta de impresoras de un equipo a otro, CTAB hace que si en vez del model estas en algún layout funcione igual

A ver de todo eso que te sirve

Ah, y la función "seleccion" es muy sencilla pero creo que te va a gustar y te será útil en otras rutinas. Es un regalo de año nuevo. XD
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 09/01/2022 13:25:03
Muchísimas gracias por tu respuesta y por las mejoras.
Voy a probarlas a ver que tal.
Mañana, desde el trabajo intentaré enviar un archivo de los que fallan.

Saludos.
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 09/01/2022 14:50:45
Pues he estado trasteando, y veo que no solo has mejorado, sino que has rehecho la rutina entera.

Lo de la lista de selección aun no se bien como funciona totalmente como para poder usarla yo en otras rutinas, pero me encanta!!!

He desactivado la selección de impresora, ya que no tiene mucho sentido, puesto que soló 2 o 3 impresoras tienen los tipos de papel usados, y el resto da error. así que prefiero dejarlo fijo, ya que es para crear pdf. ( no lo he borrado del codigo, sólo anulado con ";"). Y de paso doy menos clicks.

una GRAN MEJORA sería que los imprimiese en orden de izquierda a derecha, por cada rectangulo de selección, ya que suelo colocar los planos en linea, de izquierda a derecha, ó en varias líneas, si son muchos, siempre, de izquierda a derecha y de arriba a abajo.
y siempre intento que el numero del nombre coincida con el número del plano.

Ojo, que para mí sería un buen puñado de horas programando, ya que como ves programo por "la cuenta de la vieja" pero si tienes alguna función que haga eso (al seleccionar varios, ordenar de izquierda a derecha) o si para tí es rápido, ese sería otro gran regalo de año nuevo.

En cualquier caso, muchas gracias.

Y feliz año nuevo!!!
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
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 09/01/2022 19:34:21
Que bueno que te sirviera
Reescribí partes del código para mostrarte otras formas de hacer lo mismo, pero la lógica base del algoritmo sigue siendo la tuya

La funcion de selección lo que hace es solo cargar un diálogo (archivo dcl) con una lista y un botón de ok y devolver el valor seleccionado. Lo que tiene de particular es que el dcl no lo creamos nosotros sino la misma rutina como un archivo temporal que la misma rutina borra al terminar de usarlo.
Entonces para reutilizarlo solo debes incluir esa funcion (defun seleccion (..... )) dentro de (o junto a) cualquier otra rutina y llamarla de la forma como lo hicimos en esta (seleccion una_lista un_valor_por_defecto un_titulo) donde el valor por defecto puede ser nil y se tomará el primer elemento de la lista
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 09/01/2022 19:53:46
sobre lo de ordenar, es muy fácil

Primero no podemos procesar en un solo bucle, como está actualmente que se van extrayendo listas de entidad y propiedades de cada hoja desde la seleccion y de una vez se van nombrando e imprimiendo. En este caso se requieren dos bucles. El primero solo debe extraer los datos de los bloques, así tendrás una lista que conoce el punto de inserción de cada uno, luego ordenamos la lista con la función vl-sort y luego vamos imprimiendo cada hoja desde esa lista ordenada

El primero puede ser solo esto:

1
2
3
4
5
6
(repeat (sslength seleccion)
	(setq	entge2   	(entget (ssname seleccion contador))
			listahojas	(cons entge2 listahojas)
			contador 	(1+ contador)
	)
)

y el segundo puede empezar así

1
2
(foreach entge2 listahojas
	(if	(setq	enti			(cdr (assoc 2 entge2))

lógicamente en el segundo nos saltamos el entge y el contador que fue lo que pasamos al primero y obtenemos entge directamente de la lista ordenada. Entonces, ¿como funciona lo de ordenar que debe ir intemredio entre ambos bucles?:

1
2
3
4
5
6
(vl-sort
	tulista
	'(lambda (A B)
		criterio de comparacion entre A y B, devolviendo T si A va antes que B o nil si B va antes que A
	)
)

y ahí puedes hacer tu funcion lambda de mil formas.

Por ejemplo si solo se va a ordenar de izquierda a derecha lo que se mete en el lambda es (< X1 X2) o si quieres ordenar desde el más grande hasta el mas pequeño pones (> escala1 escala2)

Como la lista la arme con entge que son listas de definicion dxf entonces para comparar X1 y X2 sería:
1
(< (cadr (assoc 10 A)) (cadr (assoc 10 B)))

o para comparar escalas de hoja sería
1
(> (cdr (assoc 41 A)) (cdr (assoc 41 B)))

En esta que te paso lo he puesto así:
1
2
3
4
5
6
7
8
(if	(equal
			(setq YA	(caddr (assoc 10 A)))
			(setq YB	(caddr (assoc 10 B)))
			10.
		)
	(< (cadr (assoc 10 A)) (cadr (assoc 10 B)))
	(> YA YB)
)
Entonces fíjate que mientras los bloques estén alineados verticalmente (hasta con 10 mm de diferencia se consideran alineados) los tomará como una fila y los ordenará de izquierda a derecha. pero si ya hay diferencias verticales de más de 10mm entonces lo considera una fila aparte y ordena esa otra fila antes o después de la fila anterior

Te lo explico así para que puedas crear tu función de ordenamiento según como acomodes los archivos y te advierto que no probé el código por lo que puede tener algún error, pero esa es la lógica
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 09/01/2022 22:11:11
Pues ya está probado, y funciona genial!!!

He cambiado la precisión a 1000mm, ya que me interesa que considere que están en fila siempre que "parezca que lo están " y uso escalas de entre 10 y 50 por lo general para los formatos ( ya me cuidaré de que las filas tengan mas de 1000 mm de separación).

También he desactivado el aviso de que ya existe el archivo ya que me interesa no tener que cambiar de nombre o de carpeta si pretendo reimprimir. Peeeeeeroooo...... lo dejo ahí por si acaso, que seguro que alguna vez me sirve.

Y esto ha quedado genial.

Por ejemplo, el miércoles terminé unos planos (35) a las 14:30 (a las 15 termino la jornada) y tenia que imprimirlos para entregarlos, y dejarlos en pdf, por sii querían copias; total, que los imprimí todos de golpe, pa combinarlos en uno y lanzarlos a la impresora física, y luego tuve que volverlo a hacer, seleccionando uno por uno, para que se nombraran correctamente, por si tenían que sacar copias, no tuvieran que buscarlos uno a uno.

Muchísimas gracias otra vez por tu gran ayuda!!!
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
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 10/01/2022 21:56:17
Genial.

Saludos
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Gerardo (987 intervenciones) el 09/01/2022 20:05:46
Por cierto, importante que listahojas está declarada como variable local en el encabezado. porque como la estamos construyendo con CONS sin haberla establecido como nula, si fuera de ambito global una segunda ejecucion de la rutina en un archivo añadiría los bloques seleccionados a la lista de la ejecucion anterior de la rutina.

Con este mismo criterio fue que antes no inclui la variable contadorx en las declaraciones pero en todo caso siempre vuelve a ofrecer el valor inicial de 1

Pero si por ejemplo en vez de
1
2
3
(setq contadorx		(cond	((getint "\nComenzar numeración en <1>"))
						 			(1)
							)
pusieramos
1
2
3
4
(if (null contadorx)(setq contadorx 1))
(setq contadorx		(cond	((getint (strcat "\nComenzar numeración en <" (itoa contadorx) ">"))
						 			(contadorx)
							)

como la variable es global si ejecutas la rutina en un archivo que imprime 'n' hojas la variable queda guardada en 'n+1' y si llamas a la rutina de nuevo en la misma sesión de dibujo ese es el valor se ofrecerá en el siguiente después de las impresiones antes realizadas.
Eso podría ser util si la función de ordenamiento no te ayuda en algún dibujo y quisieras ejecutar varias veces la rutina seleccionando por filas o por columnas cada vez.
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Juanma (140 intervenciones) el 09/01/2022 22:21:33
Si, esto si que lo he usado alguna vez, aunque de momento, lo dejo que comience siempre por 1, ya que es mas cómodo reimprimir desde el 1º plano y que los reemplace, tengan cambios o no ( así no me dejo sin actualizar ninguno) sobre todo ahora que puedo seleccionarlos de una vez, ya todos ordenaditos... jejeje.

si ya me era de ayuda esta rutina, no veas el tiempo que me ahorrará ahora. no es lo mismo imprimir por ventana, cambiando la ventana, que usar mi rutina, y dar solo un click por plano, y menos aún será ahora, que puedo seleccionarlos todos de golpe y que salgan bien ordenados.

mañana probaré con tus consejos, a ver si encuentro por qué a veces falla, pero si no, ya como está, simplemente copiando los planos a un archivo nuevo puedo imprimirlos todos a la vez.
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

Problemillas en lisp para imprimir desde espacio modelo

Publicado por Jose (1 intervención) el 01/05/2023 05:34:56
Amigo, baje la rutina, me podrias indicar la manera de usarla? Por favor.
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

Configurar lisp

Publicado por Jose (4 intervenciones) el 01/05/2023 18:05:39
Quisiera configurar la rutina para poder imprimir en doble carta.
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

Configurar lisp

Publicado por Gerardo (987 intervenciones) el 01/05/2023 22:21:53
Hola José

Esa rutina le pide al usuario el tamaño del papel, sin embargo como podrás ver las opciones que da son de tamaños ISO, y la doble carta es un estandar ANSI.

La rutina arma el nombre del papel en la variable papelusado y esta variable es la que le pasa al comando plot. Pero si quieres imprimir en un tamaño de papel fijo, lo más sencillo es que vayas al final donde está la llamada al comando "plot" y cambies la variable papelusado por una cadena que contenga el nombre del papel que quieres usar. Por ejemplo:

1
(command "_plot" "_yes" (getvar "CTAB") impresorausada "ANSI expand B (17.00x 11.00 Inches) ..."

o

1
(command "_plot" "_yes" (getvar "CTAB") impresorausada "Mi papel doble carta" ...

Solo asegúrate de escribir el nombre del papel exactamente tal cual lo tienes en la lista de papeles para la impresora que estás usando
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

Configurar lisp

Publicado por Gerardo (987 intervenciones) el 01/05/2023 23:17:13
Algo más que se me escapaba. La ventana de ploteo está definida entre st_point1 que es la esq inf. izq. y st_point2 que es la sup. der. Se supone que la inf. izq. sea siempre el punto de inserción del bloque de la lámina, entonces st_point1 sale solo al seleccionar el bloque pero si los valores ancho y alto si debes ajustarlos para tu doble carta.

Por ejemplo, como la doble carta es de 431.8 x 279.4mm, en vez de
1
st_point2	(list 	(+ (car st_point) (* ancho esca-enti))  (+ (cadr st_point) (* alto esca-enti)))
puedes poner
1
st_point2	(list 	(+ (car st_point) (* 431.8 esca-enti))  (+ (cadr st_point) (* 279.4 esca-enti)))
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

Configurar lisp

Publicado por Jose fausto (4 intervenciones) el 02/05/2023 04:11:27
Sinceramente no estoy muy familiarizado con la programacion lisp, te agradeceria mucho si pudieras ayudarme a configurarlo para mis trabajos, adjunto planos y datos de impresora.
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

Configurar lisp

Publicado por Gerardo (987 intervenciones) el 02/05/2023 09:10:48
Pues mira, yo veo 3 complicaciones.

1- es que la rutina que está en este hilo hace algo totalmente distinto y bastante más complejo a lo que tu necesitas. Al punto que es más fácil empezar otra rutina desde cero que modificar esa. En realidad lo tuyo es mucho más sencillo. Esa rutina calcula escalas y tu ploteas "to fit", esta localiza impresora virtual y nombra los pdfs y tu mandas a una impresora física, esa determina papeles y tu ya tienes una doblecarta definida, esta asume el punto de inserción en una esquina del papel y tu lo tienes en una esquina del pie de hoja, y muchos etcéteras.

2-Otra posible complicación es que justo este tipo de tareas con comandos complejos como "plot" a veces requiere liarse un rato en el propio equipo en el que tienes la impresora., por lo que puede ser que tengas que entender el código para ajustarlo. Pero bueno, para eso solo empezando nos daremos cuenta

3-Hay un paso adicional en tu requerimento que no es muy simple de resolver. El hecho de que el bloque sea dinámico y justo la orientación sea una característica dinámica. Los que subiste de ejemplo son todos horizontales y podemos arrancar asumiendo que siempre será así, pero en el momento en que haya uno vertical, pues hay que programar una buena función adicional algo compleja que verifique la orientación. Tanto así que por ahora inicia con horizontales y si hay verticales mejor crear unasegunda rutina llamada "ploteovertical" que ya lleve invertidos los valores

Dicho lo anterior vamos al código.

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
32
33
34
35
(defun c:autoplot (/ i ss lent)
	(if (setq i	0
				 ss (ssget '((0 . "INSERT")))
		)
		(repeat (sslength ss)
			(setq lent (entget (ssname ss i))
					i	(1+ i)
			)
			(command
				"_plot"
				"_yes"
				"Model"
				"L14150 Series(Red) (Copiar 1).pc3"
				"11 x 17 pulg."
				"Inches"
				"_Landscape"
				"_No"
				"_Window"
				"_non"
				(mapcar '- (cdr (assoc 10 lent)) '(21200. 475.))
				"_non"
				(mapcar '+ (cdr (assoc 10 lent)) '(300. 13525.))
				"Fit"
				"_Center"
				"_Yes"
				"acad.ctb"
				"_Yes"
				"As Displayed"
				"_No"
				"_No"
				"_Yes"
			)
		)
	)
)

Esa rutina en teoría te pide seleccionar los bloques de láminas a imprimir. En este caso no puede ser por ventana o con un simple "all" como la otra rutina, ya que tus bloques son anónimos (por tener características dinámicas modificadas). Pero bien, seleccionas los 5 bloques y le das intro. (lógicamente para las pruebas inciiales selecciona solo uno)

Si el comando plot te acepta todos esos parámetros que puse se imprime y estás salvado. Si se pega en un valor te tocará localizar cual es el que no aceptó y detrminar porque no lo hizo. Por ejemplo, si no acepta el nombre de impresora como lo puse, revisa bien que esté escrito igual o prueba sin el .pc3...

Si determinas que se queda en algún valor y no distingues que está mal, pues comentalo por aquí para ver como te ayudamos

Así que dale y nos cuentas
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

Configurar lisp

Publicado por jose (4 intervenciones) el 03/05/2023 05:34:20
Lo pruebo y te comento, efetivamente es un bloque dinamico, pero el 98% de mis planos son horizontales asi que si funciona tal como me la enviastes creo estara perfecto. Y si efetivamente este condigo es mas sencillo.
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

Configurar lisp

Publicado por Jose fausto (4 intervenciones) el 06/05/2023 05:55:56
No logre que funcionara amigo, adjunto errores y ejemplo como con la rutina de escalas si logro imprimir pero no en el tamaño deseado.
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