Página 1 de 2
Area de polilineas
Publicado: Lun Jul 21, 2008 11:43 am
por anagr
Hay algun modo de modificar el area de una polilinea que no sea manualmente???
Si lo hay por dios decidmelo que me estoy volviendo loca modificandola vertice a vertice hasta que cuadre
Re: Area de polilineas
Publicado: Lun Jul 21, 2008 12:11 pm
por Chus
anagr escribió:Hay algun modo de modificar el area de una polilinea que no sea manualmente???
Si lo hay por dios decidmelo que me estoy volviendo loca modificandola vertice a vertice hasta que cuadre
Y para que se utiliza la polilinea en las áreas.
Si es para utilizar con macros, es practico..

Publicado: Lun Jul 21, 2008 1:29 pm
por luisgi
Hola.. existe la rutina DDAREAR del maestro Dominguez que con designar la polilínea te dice el área y escribe el texto.
http://www.hispacad.com/foro/viewtopic. ... a&start=45
Saludos.
Publicado: Lun Jul 21, 2008 1:42 pm
por Chus
Y todo esto es practico.. despues como dice anagr se modifica manualmente.. vertice a vertice.. pufff...

Publicado: Lun Jul 21, 2008 4:05 pm
por anagr
A ver que yo me entienda, la rutina que luisgi menciona yo ya la tengo (weno si no es esa es una igual pero me la pasaron con otro nombre) que para cuando tienes que superficiar muchas cosas si, pero no me sirve para modificar el area de la polilinea sin tener que hacerlo manualmente.
De verdad que no existe nada para no tener que hacer malabares cuadrando el area??????
Publicado: Lun Jul 21, 2008 4:20 pm
por Chus
No te puedo ayudar, se que hay unos comandos que calculan la superficie, seleccionando una polilinea. Pense que esto nadie lo utilizaba. No los veo nada utiles.
Por que cuando tienes que modificar una planta, creo que no interesa, por lo que tu dices, vértice a vértice o volver hacer la polilinea con la orden contorno. Puff que engorro.

Publicado: Lun Jul 21, 2008 5:25 pm
por luisgi
ahh, perdón por no haberte entendido.
Entonces ¿tú lo que quieres es modificar todos los textos de forma automática poniéndoles tú misma el valor que quieras?
Publicado: Lun Jul 21, 2008 5:30 pm
por anagr
No, a ver si me explico bien.
Yo tengo una polilinea de una parcela que tendria que medir por ejemplo 3410.35m, pero la polilinea no da esa superficie y lo que quiero es saber si hay algun metodo para cuadrar el area de la polilinea con la superficie que me han dado.
Publicado: Lun Jul 21, 2008 5:48 pm
por luisgi
Ya entiendo..
Y ¿qué lado o lados de la polilínea deberá modificar? porque me imagino que no serán polígonos regulares.
No sé si habrá algo, no entiendo de lisp, pero lo que pides creo que no es poco.
Mientras intentaré buscar por algún lado y si me entero de algo te lo digo.
Suerte.
Comentario
Publicado: Lun Jul 21, 2008 6:07 pm
por emercadotecnia2a
Hola, espero que esten muy bien todos los del blogs, la verdad es que escribo solo para comentar que recien estoy utilizando el autoCAD y me cuesta un poco, pero me imagino que pasa al comienzo solo espero superarme y cualquier duda ya se las dire.
Publicado: Lun Jul 21, 2008 6:20 pm
por Afga
anagr creo que la aplicación lisp que expongo a continuación y que encontré por internet te servirá para lo que necesitas, quizas no en todo, pero seguro que en parte.
La orden que la ejecuta es DIVAREA.
;;; DIVAREA.LSP Land division utility
;;; written by Yorgos Angelopoulos
;;; aggior@panafonet.gr
;;; ------------------------------------
;;; Traducci?n del c?digo original al espa?ol, por Miguel A. L?zaro Mar?n
;;; http://perso.wanadoo.es/lm2ark
;;;
;;; Suponga que usted tiene que dividir una parcela grande de terreno entre
;;; 2, 3, 4,...(?o incluso dividirla entre 5.014!); o bien se desea cortar
;;; una porci?n de 2345 m2 para segregarla de la parcela matriz u original.
;;;
;;; Todo lo que usted necesita es tener dibujada una "polil?nea optimizada"
;;; (entidad "LWPOLYLINE", inclu?da en AutoCAD a partir de su versi?n 14),
;;; que se encuentre CERRADA y que coincida con el per?metro del ?rea total
;;; de la parcela a dividir.
;;;
;;; Cargue la utilidad, despu?s de ponerla en un directorio apropiado, por
;;; ejemplo el C:\Archivos de programa\AutoCAD 2002 Esp\Support, bien sea
;;; invocando el comando _APPLOAD o bien mediante (LOAD "DIVAREA"), y tras
;;; la pertinente carga ejecut?mosla escribiendo DIVAREA en la l?nea de
;;; comandos.
;;;
;;; Conteste a las escasas preguntas que la rutina le ir? formulando y
;;; RECUERDE:
;;;
;;; Cuando le sea solicitado que indique los dos puntos de la l?nea de
;;; divisi?n aproximada inicial, tenga presente lo siguiente:
;;;
;;; 1. Esta L?NEA de DIVISI?N ser? trasladada (en paralelo a la inicial)
;;; o rotada (en funci?n de la opci?n elegida) durante la ejecuci?n de la
;;; rutina, de manera que sus puntos inicial y final que fueron se?alados
;;; para definirla y situarla al inicio deben marcarse teniendo en cuenta
;;; que, durante las aludidas traslaci?n o rotaci?n, no vayan a pasar hacia
;;; el interior del contorno definido por la LWPLYLINE (aunque debe resultar
;;; f?cil superar este inconveniente). Por tanto se aconseja se?alar dichos
;;; puntos iniciales tan LEJANOS HACIA FUERA del per?metro como sea posible
;;; sin exceder, por supuesto, el ?rea actual visible de pantalla.
;;;
;;; En cuanto al punto o polo FIJO, en caso de que se haya preferido la
;;; opci?n "F" en lugar de "P" (direcci?n PARALELA) como respuesta a la
;;; pregunta anterior sobre el modo de generaci?n de la l?nea divisoria,
;;; dicho punto tiene que residir o bien sobre la polil?nea o bien fuera
;;; de ella, nunca dentro de la superficie delimitada a dividir.
;;;
;;; 2. Al indicar el punto sobre la porci?n en donde se obtendr? el ?rea
;;; deseada, habr? que se?alarlo DENTRO de dicha porci?n y ALEJADA de la
;;; l?nea de divisi?n tanto como sea posible, de forma que ese punto no
;;; llegue a quedar fuera de la porci?n que se va obteniendo a medida que
;;; la l?nea divisoria se mueve durante su proceso de c?lculo.
;;;
;;; 3. Finalmente usted tendr? que indicar exactamente de la misma manera
;;; un punto de la porci?n restante: DENTRO de ella y ALEJADA de la l?nea
;;; de divisi?n.
;;;
;;; Si se desea mayor precisi?n de c?lculo en la divisi?n del ?rea, se
;;; pueden disminuir los valores de las variables locales: step1 y step2
;;; proporcionalmente.
;;;
;;;******************LA UTILIDAD COMIENZA AQUI***************************
(DEFUN prerr (s)
(IF (/= s "Function cancelled")
(PRINC (STRCAT "\nError: " s))
) ;end if
(SETQ *error* olderr)
(PRINC)
) ;close defun
(DEFUN C:DIVAREA (/ osm strpf strdc ex arxset arxlst arxon
k scl ok d p1 p2 pts ptb deln
ar par tem stp stp1 stp2
)
(SETQ olderr *error*
*error* prerr
)
(SETQ osm (GETVAR "osmode"))
(SETVAR "osmode" 0)
(SETVAR "cmdecho" 0)
(SETQ ex 0
stp 0.01
stp1 0.005
stp2 0.0005
)
(SETQ arxset (ENTSEL "\nSeleccione una LWPOLYLINE cerrada como perímetro del área a dividir: ") ;_"\nSelect closed LWPOLY to divide: "
arxlst (ENTGET (CAR arxset))
arxon (CDR (ASSOC -1 arxlst))
)
(IF (NOT (AND (EQUAL (CDR (ASSOC 0 arxlst)) "LWPOLYLINE")
(= (CDR (ASSOC 70 arxlst)) 1)
)
)
(PROGN
(PRINC "\nDISCULPE, SOLO SE PERMITEN LWPOLYLINES CERRADAS...") ;_"\nSORRY, ONLY CLOSED LWPOLYLINES ALLOWED..."
(SETQ ex 1)
)
)
(IF (= ex 0)
(PROGN
(COMMAND "_undo" "_m") ;_SI ALGO SALI? MAL, PERMITE DESHACER REGRESANDO AL INICIO - if something goes bad, you may return here
(COMMAND "_layer" "_m" "Area_Division" "")
(COMMAND "_area" "_o" arxon) ;_;;;(command "_area" "e" arxon)
(SETQ ar (GETVAR "area"))
(INITGET "Divide Corta")
(SETQ
strdc (GETKWORD "\nDIVIDE por número de partes o [CORTA una superficie conocida]? (D/C): ") ;_"\nDIVIDE by number or CUT a part ? (D/C) :"
)
(IF (= strdc "Divide")
(PROGN
(SETQ k
(GETREAL "\nIntroduzca número por el que dividir el total: ") ;_"\nEnter number to divide the whole part by : "
)
(SETQ tem (/ ar k))
)
)
(IF (= strdc "Corta")
(SETQ tem
(GETREAL "\nIntroduzca el área a cortar del total (m2): ") ;_"\nEnter area to cut from the whole part (m2) : "
)
)
(INITGET "Paralela Fijo")
(SETQ strpf (GETKWORD
"\nL?nea de corte PARALELA a una dirección o [por un polo FIJO]? (P/F) :" ;_"\nPARALLEL to a direction or FIXED side? (P/F) :"
)
)
(IF (= strpf "Fijo")
(fixpt)
)
(IF (= strpf "Paralela")
(parpt)
)
(ready)
)
(ready)
)
)
;;;******************************************************************************
(DEFUN fixpt ()
(SETVAR "osmode" osm)
(SETQ scl 0.05
p1 (GETPOINT "\nSeñale el polo fijo por el que pasará la línea de división: ") ;_"\nPick fixed point of the division line : "
p2 (GETPOINT "\nSeñale el segundo punto inicial de la línea de división: ") ;_"\nPick second point of division line: "
)
(SETVAR "osmode" 0)
(COMMAND "_line" p1 p2 "")
(SETQ deln (ENTLAST))
(SETQ pts
(GETPOINT
"\nEscoja un punto DENTRO de la porción a obtener y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into FIRST piece, FAR from division line: "
)
(SETQ ptb
(GETPOINT
"\nEscoja cualquier punto del RESTO del área y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into the REST of the piece, FAR from division line: "
)
(SETVAR "blipmode" 0)
(PRINC "\nPor favor, espere...") ;_"\nPlease wait..."
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
(SETQ ok -1)
(IF (< par tem)
(PROGN
(WHILE (< par tem)
(ENTDEL (ENTLAST))
(IF (< (- tem par) 50)
(SETQ scl stp)
)
(IF (< (- tem par) 10)
(SETQ scl stp2)
)
(COMMAND "_rotate" deln "" p1 (* scl ok))
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(IF (</color> par tem)
(ENTDEL (ENTLAST))
(IF (< (- par tem) 50)
(SETQ scl stp)
)
(IF (</color> (GETVAR "area") par)
(SETQ ok (* ok -1))
)
(SETQ par (GETVAR "area"))
) ;endwhile
(ENTDEL deln)
)
)
(COMMAND "_change" "_l" "" "_p" "_c" "_green" "")
(COMMAND "_boundary" ptb "")
(COMMAND "_change" "_l" "" "_p" "_c" "_red" "")
(ready)
)
;;;******************************************************************************
(DEFUN parpt ()
(SETVAR "osmode" osm)
(SETQ scl 0.25
p1 (GETPOINT
"\nSeñale un punto de la línea divisoria (alejado de la LWPOLYLINE): "
) ;_"\nPick one point of division line (far from lwpoly) : "
p2 (GETPOINT
"\nSeñale otro punto de la línea divisoria (alejado de la LWPOLYLINE): "
) ;_"\nPick other point of division line (far from lwpoly) : "
)
(SETVAR "osmode" 0)
(COMMAND "_line" p1 p2 "")
(SETQ deln (ENTLAST))
(SETQ pts
(GETPOINT
"\nEscoja un punto DENTRO de la porción a obtener y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into FIRST piece, FAR from division line: "
)
(SETQ ptb
(GETPOINT
"\nEscoja cualquier punto del RESTO del área y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into the REST of the piece, FAR from division line: "
)
(SETVAR "blipmode" 0)
(PRINC "\nPor favor, espere...") ;_"\nPlease wait..."
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
(IF (< par tem)
(PROGN
(WHILE (< par tem)
(ENTDEL (ENTLAST))
(IF (< (- tem par) 50)
(SETQ scl stp1)
)
(IF (</color> par tem)
(ENTDEL (ENTLAST))
(IF (< (- par tem) 50)
(SETQ scl stp1)
)
(IF (< (- par tem) 10)
(SETQ scl stp2)
)
(COMMAND "_offset" scl deln pts "") ;_
(ENTDEL deln)
(SETQ deln (ENTLAST))
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
)
(ENTDEL deln)
)
)
(COMMAND "_change" "_l" "" "_p" "_c" "_green" "")
(COMMAND "_boundary" ptb "")
(COMMAND "_change" "_l" "" "_p" "_c" "_red" "")
)
;;;******************************************************************************
(DEFUN ready ()
(PRINC scl)
(PRINC "\nObtenido : ")
(PRINC par)
(PRINC "\nDeb?a ser: ") ;_"\nMust be: "
(PRINC tem)
(SETQ *error* olderr)
(SETVAR "osmode" osm)
(SETVAR "cmdecho" 1)
(SETVAR "blipmode" 1)
(PRINC "\nGracias...") ;_"\nThanks..."
(PRINC)
) ;close defu
P.D.: emercadotecnia2a seas bienvenido, pero por favor leete las normas del foro, y no mezclemos los temas que se tratan, ni tratar de repertirlos. Puedes presentarte en el post de off topic como han hecho otros usuarios. Gracias y bienvenido nuevamente.

Publicado: Lun Jul 21, 2008 6:28 pm
por luisgi
Hola de nuevo..
encontré esto:
http://www.hispacad.com/foro/viewtopic. ... ficar+area
que creo que es más o menos lo que quieres, lo que pasa es que tienes que saber el factor de escala existente entre una superficie y otra, con saber esto, cargas la rutina, te pregunta el factor de escala, seleccionas la polilínea y te crea la nueva superficie.
Suerte.
Publicado: Lun Jul 21, 2008 6:35 pm
por anagr
Afga escribió:anagr creo que la aplicación lisp que expongo a continuación y que encontré por internet te servirá para lo que necesitas, quizas no en todo, pero seguro que en parte.
La orden que la ejecuta es DIVAREA.
;;; DIVAREA.LSP Land division utility
;;; written by Yorgos Angelopoulos
;;; aggior@panafonet.gr
;;; ------------------------------------
;;; Traducci?n del c?digo original al espa?ol, por Miguel A. L?zaro Mar?n
;;; http://perso.wanadoo.es/lm2ark
;;;
;;; Suponga que usted tiene que dividir una parcela grande de terreno entre
;;; 2, 3, 4,...(?o incluso dividirla entre 5.014!); o bien se desea cortar
;;; una porci?n de 2345 m2 para segregarla de la parcela matriz u original.
;;;
;;; Todo lo que usted necesita es tener dibujada una "polil?nea optimizada"
;;; (entidad "LWPOLYLINE", inclu?da en AutoCAD a partir de su versi?n 14),
;;; que se encuentre CERRADA y que coincida con el per?metro del ?rea total
;;; de la parcela a dividir.
;;;
;;; Cargue la utilidad, despu?s de ponerla en un directorio apropiado, por
;;; ejemplo el C:\Archivos de programa\AutoCAD 2002 Esp\Support, bien sea
;;; invocando el comando _APPLOAD o bien mediante (LOAD "DIVAREA"), y tras
;;; la pertinente carga ejecut?mosla escribiendo DIVAREA en la l?nea de
;;; comandos.
;;;
;;; Conteste a las escasas preguntas que la rutina le ir? formulando y
;;; RECUERDE:
;;;
;;; Cuando le sea solicitado que indique los dos puntos de la l?nea de
;;; divisi?n aproximada inicial, tenga presente lo siguiente:
;;;
;;; 1. Esta L?NEA de DIVISI?N ser? trasladada (en paralelo a la inicial)
;;; o rotada (en funci?n de la opci?n elegida) durante la ejecuci?n de la
;;; rutina, de manera que sus puntos inicial y final que fueron se?alados
;;; para definirla y situarla al inicio deben marcarse teniendo en cuenta
;;; que, durante las aludidas traslaci?n o rotaci?n, no vayan a pasar hacia
;;; el interior del contorno definido por la LWPLYLINE (aunque debe resultar
;;; f?cil superar este inconveniente). Por tanto se aconseja se?alar dichos
;;; puntos iniciales tan LEJANOS HACIA FUERA del per?metro como sea posible
;;; sin exceder, por supuesto, el ?rea actual visible de pantalla.
;;;
;;; En cuanto al punto o polo FIJO, en caso de que se haya preferido la
;;; opci?n "F" en lugar de "P" (direcci?n PARALELA) como respuesta a la
;;; pregunta anterior sobre el modo de generaci?n de la l?nea divisoria,
;;; dicho punto tiene que residir o bien sobre la polil?nea o bien fuera
;;; de ella, nunca dentro de la superficie delimitada a dividir.
;;;
;;; 2. Al indicar el punto sobre la porci?n en donde se obtendr? el ?rea
;;; deseada, habr? que se?alarlo DENTRO de dicha porci?n y ALEJADA de la
;;; l?nea de divisi?n tanto como sea posible, de forma que ese punto no
;;; llegue a quedar fuera de la porci?n que se va obteniendo a medida que
;;; la l?nea divisoria se mueve durante su proceso de c?lculo.
;;;
;;; 3. Finalmente usted tendr? que indicar exactamente de la misma manera
;;; un punto de la porci?n restante: DENTRO de ella y ALEJADA de la l?nea
;;; de divisi?n.
;;;
;;; Si se desea mayor precisi?n de c?lculo en la divisi?n del ?rea, se
;;; pueden disminuir los valores de las variables locales: step1 y step2
;;; proporcionalmente.
;;;
;;;******************LA UTILIDAD COMIENZA AQUI***************************
(DEFUN prerr (s)
(IF (/= s "Function cancelled")
(PRINC (STRCAT "\nError: " s))
) ;end if
(SETQ *error* olderr)
(PRINC)
) ;close defun
(DEFUN C:DIVAREA (/ osm strpf strdc ex arxset arxlst arxon
k scl ok d p1 p2 pts ptb deln
ar par tem stp stp1 stp2
)
(SETQ olderr *error*
*error* prerr
)
(SETQ osm (GETVAR "osmode"))
(SETVAR "osmode" 0)
(SETVAR "cmdecho" 0)
(SETQ ex 0
stp 0.01
stp1 0.005
stp2 0.0005
)
(SETQ arxset (ENTSEL "\nSeleccione una LWPOLYLINE cerrada como perímetro del área a dividir: ") ;_"\nSelect closed LWPOLY to divide: "
arxlst (ENTGET (CAR arxset))
arxon (CDR (ASSOC -1 arxlst))
)
(IF (NOT (AND (EQUAL (CDR (ASSOC 0 arxlst)) "LWPOLYLINE")
(= (CDR (ASSOC 70 arxlst)) 1)
)
)
(PROGN
(PRINC "\nDISCULPE, SOLO SE PERMITEN LWPOLYLINES CERRADAS...") ;_"\nSORRY, ONLY CLOSED LWPOLYLINES ALLOWED..."
(SETQ ex 1)
)
)
(IF (= ex 0)
(PROGN
(COMMAND "_undo" "_m") ;_SI ALGO SALI? MAL, PERMITE DESHACER REGRESANDO AL INICIO - if something goes bad, you may return here
(COMMAND "_layer" "_m" "Area_Division" "")
(COMMAND "_area" "_o" arxon) ;_;;;(command "_area" "e" arxon)
(SETQ ar (GETVAR "area"))
(INITGET "Divide Corta")
(SETQ
strdc (GETKWORD "\nDIVIDE por número de partes o [CORTA una superficie conocida]? (D/C): ") ;_"\nDIVIDE by number or CUT a part ? (D/C) :"
)
(IF (= strdc "Divide")
(PROGN
(SETQ k
(GETREAL "\nIntroduzca número por el que dividir el total: ") ;_"\nEnter number to divide the whole part by : "
)
(SETQ tem (/ ar k))
)
)
(IF (= strdc "Corta")
(SETQ tem
(GETREAL "\nIntroduzca el área a cortar del total (m2): ") ;_"\nEnter area to cut from the whole part (m2) : "
)
)
(INITGET "Paralela Fijo")
(SETQ strpf (GETKWORD
"\nL?nea de corte PARALELA a una dirección o [por un polo FIJO]? (P/F) :" ;_"\nPARALLEL to a direction or FIXED side? (P/F) :"
)
)
(IF (= strpf "Fijo")
(fixpt)
)
(IF (= strpf "Paralela")
(parpt)
)
(ready)
)
(ready)
)
)
;;;******************************************************************************
(DEFUN fixpt ()
(SETVAR "osmode" osm)
(SETQ scl 0.05
p1 (GETPOINT "\nSeñale el polo fijo por el que pasará la línea de división: ") ;_"\nPick fixed point of the division line : "
p2 (GETPOINT "\nSeñale el segundo punto inicial de la línea de división: ") ;_"\nPick second point of division line: "
)
(SETVAR "osmode" 0)
(COMMAND "_line" p1 p2 "")
(SETQ deln (ENTLAST))
(SETQ pts
(GETPOINT
"\nEscoja un punto DENTRO de la porción a obtener y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into FIRST piece, FAR from division line: "
)
(SETQ ptb
(GETPOINT
"\nEscoja cualquier punto del RESTO del área y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into the REST of the piece, FAR from division line: "
)
(SETVAR "blipmode" 0)
(PRINC "\nPor favor, espere...") ;_"\nPlease wait..."
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
(SETQ ok -1)
(IF (< par tem)
(PROGN
(WHILE (< par tem)
(ENTDEL (ENTLAST))
(IF (< (- tem par) 50)
(SETQ scl stp)
)
(IF (< (- tem par) 10)
(SETQ scl stp2)
)
(COMMAND "_rotate" deln "" p1 (* scl ok))
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(IF (</color> par tem)
(ENTDEL (ENTLAST))
(IF (< (- par tem) 50)
(SETQ scl stp)
)
(IF (</color> (GETVAR "area") par)
(SETQ ok (* ok -1))
)
(SETQ par (GETVAR "area"))
) ;endwhile
(ENTDEL deln)
)
)
(COMMAND "_change" "_l" "" "_p" "_c" "_green" "")
(COMMAND "_boundary" ptb "")
(COMMAND "_change" "_l" "" "_p" "_c" "_red" "")
(ready)
)
;;;******************************************************************************
(DEFUN parpt ()
(SETVAR "osmode" osm)
(SETQ scl 0.25
p1 (GETPOINT
"\nSeñale un punto de la línea divisoria (alejado de la LWPOLYLINE): "
) ;_"\nPick one point of division line (far from lwpoly) : "
p2 (GETPOINT
"\nSeñale otro punto de la línea divisoria (alejado de la LWPOLYLINE): "
) ;_"\nPick other point of division line (far from lwpoly) : "
)
(SETVAR "osmode" 0)
(COMMAND "_line" p1 p2 "")
(SETQ deln (ENTLAST))
(SETQ pts
(GETPOINT
"\nEscoja un punto DENTRO de la porción a obtener y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into FIRST piece, FAR from division line: "
)
(SETQ ptb
(GETPOINT
"\nEscoja cualquier punto del RESTO del área y ALEJADO de la línea divisoria: "
) ;_"\nPick any point into the REST of the piece, FAR from division line: "
)
(SETVAR "blipmode" 0)
(PRINC "\nPor favor, espere...") ;_"\nPlease wait..."
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
(IF (< par tem)
(PROGN
(WHILE (< par tem)
(ENTDEL (ENTLAST))
(IF (< (- tem par) 50)
(SETQ scl stp1)
)
(IF (</color> par tem)
(ENTDEL (ENTLAST))
(IF (< (- par tem) 50)
(SETQ scl stp1)
)
(IF (< (- par tem) 10)
(SETQ scl stp2)
)
(COMMAND "_offset" scl deln pts "") ;_
(ENTDEL deln)
(SETQ deln (ENTLAST))
(COMMAND "_boundary" pts "")
(COMMAND "_area" "_o" "_l") ;_;;;(command "_area" "e" "l")
(SETQ par (GETVAR "area"))
)
(ENTDEL deln)
)
)
(COMMAND "_change" "_l" "" "_p" "_c" "_green" "")
(COMMAND "_boundary" ptb "")
(COMMAND "_change" "_l" "" "_p" "_c" "_red" "")
)
;;;******************************************************************************
(DEFUN ready ()
(PRINC scl)
(PRINC "\nObtenido : ")
(PRINC par)
(PRINC "\nDeb?a ser: ") ;_"\nMust be: "
(PRINC tem)
(SETQ *error* olderr)
(SETVAR "osmode" osm)
(SETVAR "cmdecho" 1)
(SETVAR "blipmode" 1)
(PRINC "\nGracias...") ;_"\nThanks..."
(PRINC)
) ;close defu
P.D.: emercadotecnia2a seas bienvenido, pero por favor leete las normas del foro, y no mezclemos los temas que se tratan, ni tratar de repertirlos. Puedes presentarte en el post de off topic como han hecho otros usuarios. Gracias y bienvenido nuevamente.

Bueno, puede que parezca algo torpe (si es asi lo tengo asumido) pero ya puestos si me explicas que tengo que hacer con todo esto que has puesto ahi me haces una reina
Publicado: Lun Jul 21, 2008 6:42 pm
por Afga
Anagr, lo que he expuesto es una aplicación lisp, es decir, un pequeño programa para divir polilineas en areas y subdivisiones concretas.
Para usarla y ejecutarla, leete lo que ya se explico de como hacerlo en el siguiente enlace;
http://foro.delineacion.org/viewtopic.php?t=346
Saludos
Publicado: Lun Jul 21, 2008 6:46 pm
por anagr
Afga escribió:Anagr, lo que he expuesto es una aplicación lisp, es decir, un pequeño programa para divir polilineas en areas y subdivisiones concretas.
Para usarla y ejecutarla, leete lo que ya se explico de como hacerlo en el siguiente enlace;
http://foro.delineacion.org/viewtopic.php?t=346
Saludos
Muchas gracias. Me pongo con ello ahora y ya os comentare que tal me ha ido