AutoCad - Polilínea con nombre

 
Vista:
sin imagen de perfil

Polilínea con nombre

Publicado por miguel angel (5 intervenciones) el 11/06/2021 13:46:07
Buenas me gustaría crear en autocad en el autolist una polilínea a la cual se le pueda poner un nombre para que a la hora de extraer datos al mismo tiempo que me da la longitud, capa, grosor, tipo de lineal etc. también me de el nombre que yo le ponga a la polilínea y que cuando yo pinche la polilínea y le de a propiedades y igual que me salen longitud, capa, grosor, tipo de lineal etc. y puedo cambiar el valor o el tipo..., que pueda también cambiarle el nombre a la polilínea.

Alguien me puede ayudar???
muchas 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

Polilínea con nombre

Publicado por Gerardo (986 intervenciones) el 11/06/2021 20:34:12
Hola
Dices lo que quieres crear pero no indicas en que exactamente necesitas ayuda.

Si es en autolisp puedes usar xdata o diccionarios. Creo que lo primero es más sencillo.

Tambien puedes trabajar la xdata sin rutina, con los comandos XDATA y XDLIST de las express tools de Autocad.
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

Polilínea con nombre

Publicado por MIGUEL ANGEL (5 intervenciones) el 22/06/2021 13:32:29
Hola Gerardo, he visto en el foro el código para crear una polilínea que te daba el área y la multiplicaba por una altura, mi intención era a partir de ese código que creo q fuiste tu el que lo colgaste, hacer una polilínea abierta a la cual una vez dibujada me pida ponerle un nombre y después me pida ponerle una descripción, para que luego cuando le de a extraer datos y saque un excel pueda identificar cada polilínea por su nombre.
gracias
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

Polilínea con nombre

Publicado por Gerardo (986 intervenciones) el 22/06/2021 22:56:55
Ya veo.

Agregarle propiedades a una entidad que sean leíbles con una rutina es mucho menos complejo que crear esas propiedades para que sean leidas por la propia interfaz de autocad (por ejemplo que se muestren en la paleta de propiedades) Por esta explicación que me das creo que lo primero sería suficiente para ti

Hay dos formas de agregar información adicional a una entidad: con xdata o con diccionarios. La xdata es "como un espacio libre dentro de la definición del objeto" donde escribimos lo que queramos. Los diccionarios son una estructura de datos (tipo arbol) dentro de los dwgs, y que a los objetos se les puede poner un vinculo a algun nodo o ramificacion de ese arbol. Por ejemplo en CAD las propiedades sobrescritas (overrides) de las cotas se guardan como xdata y los vinculos entre bloques dinamicos modificados y su definición original como diccionarios de extension vinculados a las inserciones.

Para crear XData ni siquiera se requiere programar, se puede hacer con los comandos XDATA y XDLIST de las express tools. El primero para anexar datos a entidades y el segundo para leerlos. Aunque claro que programando es mejor porque luego con un par de comandos todo se hace automaticamente.
Aqui explican muy bien lo que es la xdata: https://www.afralisp.net/autolisp/tutorials/extended-entity-data-part-1.php

Puedes irlo viendo y en estos dias si me queda un rato te dejo por aqui unos ejemplos de codigo para resolverlo (cuando el comando xdata te pregunte por aplicacion ponle cualquier cadena de texto que igual funcionará, creo que en el sitio de afralisp explican lo de la aplicacion, sino luego te lo explico.)
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

Polilínea con nombre

Publicado por MIGUEL ANGEL (5 intervenciones) el 23/06/2021 12:18:39
muchas gracias Gerardo por tu tiempo en contestarme.
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

Polilínea con nombre

Publicado por MIGUEL ANGEL (5 intervenciones) el 24/06/2021 12:59:35
Buenas Gerardo, me gustaría hacerte unas preguntas que no se si se puede hacer en autocad:
- a la paleta de propiedades se la puede configurar para introducir una nueva casilla???
ej: Propiedades consta de varios apartados: Genera, visualización 3D, Estilo de trazado, Ver, Varios y dentro de estos apartados tiene diferentes casilla..., al apartado General le puedo añadir una casilla nueva????

-si lo anterior no se puede, se puede cambiar el interface de la paleta de propiedades e introducir un apartado nuevo???
ej:

_$ (vlax-dump-object myline)
; IAcadLine: AutoCAD Line Interface
; Property values:
; Angle (RO) = 0.371971
; Application (RO) = #<VLA-OBJECT IAcadApplication 00adc088>
; Color = 256
; Delta (RO) = (275.587 107.515 0.0)
; Document (RO) = #<VLA-OBJECT IAcadDocument 00b94e14>
; EndPoint = (503.866 538.358 0.0)
; Handle (RO) = "958"
; HasExtensionDictionary (RO) = 0
; Hyperlinks (RO) = #<VLA-OBJECT IAcadHyperlinks 01e84564>
; Layer = "7"
; Length (RO) = 295.817
; Linetype = "BYLAYER"
; LinetypeScale = 1.0
; Lineweight = -1
; Normal = (0.0 0.0 1.0)
; ObjectID (RO) = 25187840
; ObjectName (RO) = "AcDbLine"
; OwnerID (RO) = 25186496
; PlotStyleName = "ByLayer"
; StartPoint = (228.279 430.843 0.0)
; Thickness = 0.0
; Visible = -1
; NUEVO APARTADO = xxxxx

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

Polilínea con nombre

Publicado por Gerardo (986 intervenciones) el 24/06/2021 22:23:39
Hola

Poder? si. Todo se puede. Recordando que el Autocad es codigo abierto se puede modificar cualquier objeto de su interfaz. De hecho si ves el Civil3D, Map3D, Arquitetura o Mep son desarrollos de terceros que hacen ese tipo de modificaciones sobre la programación básica del AutoCad
Como se hace? Hasta donde yo sé la unica forma es mediante ARX. Para eso tienes que saber programar en C++ o .Net y estudiarte un poco el mapa de clases del programa para heredar una nueva clase de polilinea con la nueva propiedad y una nueva clase de paleta de propiedades que la muestre.

Yo no estoy muy familiarizado con el tema porque hasta ahora el autolisp me es suficiente y el arx tiene el problema de que se debe compilar una versión de la rutina para cada version de autocad, pero si que es la API más poderosa porque nos permite crear nuestros propios objetos, asi como el civil tiene objeto superficie o perfil, y el arquitectura tiene objetos puerta o pared, tu rutina puede tener objeto planta, camino, esquema, lineadecorte, etc, etc...

Que pasa si no estamos para liarnos con algo tan complejo?

Pues de repente si necesitas que el objeto sea polilinea pero no necesariamente ver la propiedad en la paleta, podrias crear la propiedad adicional con xdata o diccionarios como te dije antes y en vez de modificar la paleta de propiedades crear tu propio diálogo que la muestre por ahí en la pantalla. O en vez de un diálogo se puede hacer un reactor que al seleccionar una polilinea muestre esa propiedad en la línea de estado a través de la variabe "modemacro"

Y si de pronto si te conviene mucho ver la propiedad dentro de la paleta de acad, pero no es requisito que el objeto sea una polilinea, puedes tratar la poly como un bloque, y generarle un atributo (visible o invisible) que guarde la propiedad. Los atributos de los bloques si que salen en la paleta nombrados por su etiqueta.

Como ves pueden haber muchas aristas, de las que quizás alguna te satisfaga sin liarte demasiado. Aunque si quieres entrarle en serio al ARX podrías aprender a manipular el CAD como te de la gana, después del costo de aprendizaje que eso lleva.
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

Polilínea con nombre

Publicado por Gerardo (986 intervenciones) el 25/06/2021 01:26:30
Te adjunto un ejemplo de crear el bloque con el atributo

el comando Test1 lo crea invisible y Test2 visible

El detalle es que la poly se convierte en bloque, pero igual sigue estando ahí para trabajar con ella y el valor del atributo lo puedes ver en la paleta de propiedades
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

Polilínea con nombre

Publicado por Gerardo (986 intervenciones) el 25/06/2021 03:01:09
Y aqui un ejemplo de anexar xdata a la polilinea

test3 agrega el dato a la poly y test4 mientras vayas seleccionando polilineas muestra el dato en un cuadrito flotante y en la barra de estado con modemacro
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

Polilínea con nombre

Publicado por MIGUEL ANGEL (5 intervenciones) el 13/08/2021 14:15:50
muchísimas gracias Gerardo por tus dos ejemplos y perdona la tardanza en mi contestación. (he estado de viaje)
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

Polilínea con nombre

Publicado por Cristina (1 intervención) el 21/12/2021 15:23:02
Hola, he conseguido con el test3 agregar el dato a la polilinea, pero no consigo que me salga ese dato cuando utilizao el comando EXTRACDAT. ¿Qué puedo hacer? Mi idea es que en un excel me salga la polilinea, la capa en la que está, la longitud y el campo que he creado nuevo gracias a tu ejemplo.
Muchas gracias
Un saludo
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