<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>tema Re: Lisp para igualar las coordenadas de dos objetos distintos en AutoCAD - Todos los productos - Foro en Español</title>
    <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939829#M849</link>
    <description>&lt;P&gt;Hola &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/69526"&gt;@Kent1Cooper&lt;/a&gt;&amp;nbsp;, gracias por la respuesta, aunque eso es lo que habitualmente hago, lo que sucede es que tengo que estar constantemente acercando o alejando con la rueda del ratón, además de seleccionar cada pinzamiento acercarme o alejarme, sé que no es una solución inmensamente superior a lo que comentas, pero me agilizaría el proceso ya que puedo clicar donde sea en cada objeto, sin que un pinzamiento me falle o hacer zoom o no.&lt;/P&gt;</description>
    <pubDate>Mon, 05 Aug 2024 13:05:02 GMT</pubDate>
    <dc:creator>osniel_vega</dc:creator>
    <dc:date>2024-08-05T13:05:02Z</dc:date>
    <item>
      <title>Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939674#M847</link>
      <description>&lt;P&gt;Hola, buenos días&lt;BR /&gt;&lt;BR /&gt;Existe algún lisp que iguale las coordenadas de dos objetos distintos? Digamos que tengo un bloque con un punto de inserción definido, siendo esas sus coordenadas y quiero que al seleccionar el bloque me dé la opción de seleccionar otro objeto para que tome las coordenadas de ese otro, digamos por ejemplo una línea.&lt;BR /&gt;&lt;BR /&gt;Aunque una línea suele tener dos puntos y normalmente las coordenadas suelen ser las del primero, pero esa sería otra solución a implementar para modificar el punto de inserción de las líneas y colocarlo en la parte superior de la línea que es donde me interesa que se coloque el bloque.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ya si existe un lisp que haga todo junto sería genial, o sea selecciono el primer objeto (el bloque) y luego al seleccionar el segundo objeto (la línea) el primero toma las coordenadas del segundo, pero del final de la línea, o sea la parte superior.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;En fin, agradezco cualquier información o ayuda al respecto.&lt;/P&gt;</description>
      <pubDate>Mon, 05 Aug 2024 10:59:27 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939674#M847</guid>
      <dc:creator>osniel_vega</dc:creator>
      <dc:date>2024-08-05T10:59:27Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939821#M848</link>
      <description>&lt;P&gt;That is probably possible, but if you need to select the Block and the Line anyway, can you simply have ENDpoint Object Snap among the modes that are running, pick the Block, grab its insertion-point grip and drag it to the desired Line endpoint?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But even if a custom command would save you one pick [2 steps -- pick the Block and the Line, instead of 3 steps -- pick the Block, grab its grip and pick the Line endpoint], &lt;EM&gt;not all Lines have an upper or top end&lt;/EM&gt;.&amp;nbsp; Are you working in such a specialized situation that you would never have a horizontal Line?&lt;/P&gt;</description>
      <pubDate>Mon, 05 Aug 2024 12:40:52 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939821#M848</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2024-08-05T12:40:52Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939829#M849</link>
      <description>&lt;P&gt;Hola &lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/69526"&gt;@Kent1Cooper&lt;/a&gt;&amp;nbsp;, gracias por la respuesta, aunque eso es lo que habitualmente hago, lo que sucede es que tengo que estar constantemente acercando o alejando con la rueda del ratón, además de seleccionar cada pinzamiento acercarme o alejarme, sé que no es una solución inmensamente superior a lo que comentas, pero me agilizaría el proceso ya que puedo clicar donde sea en cada objeto, sin que un pinzamiento me falle o hacer zoom o no.&lt;/P&gt;</description>
      <pubDate>Mon, 05 Aug 2024 13:05:02 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939829#M849</guid>
      <dc:creator>osniel_vega</dc:creator>
      <dc:date>2024-08-05T13:05:02Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939930#M850</link>
      <description>&lt;P&gt;Something like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;(defun C:BUEL ; = Block to Upper End of Line
  (/ Bsel Bdata blk Lsel Ldata e1 e2)
  (if
    (and
      (setq Bsel (entsel "\nSelect Block to relocate: "))
      (setq Bdata (entget (setq blk (car Bsel))))
      (member '(0 . "INSERT") Bdata)
      (setq Lsel (entsel "\nSelect Line to relocate Block to its Upper End: "))
      (setq Ldata (entget (car Lsel)))
      (member '(0 . "LINE") Ldata)
    ); and
    (progn ; then
      (setq e1 (cdr (assoc 10 Ldata)) e2 (cdr (assoc 11 Ldata)))
      (command "_.move" blk "" ; then
        "_non" (cdr (assoc 10 Bdata)); insertion point
        "_non" (if (&amp;gt; (cadr e2) (cadr e1)) e2 e1)
      ); command
    ); progn
    (prompt "\nYou did not select a Block and a Line."); else
  ); if
  (prin1)
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Change the command name to something that means more to you, and the prompts to Spanish, etc.&lt;/P&gt;
&lt;P&gt;If the Line is horizontal, the Block goes to its start point.&lt;/P&gt;</description>
      <pubDate>Mon, 05 Aug 2024 13:25:00 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12939930#M850</guid>
      <dc:creator>Kent1Cooper</dc:creator>
      <dc:date>2024-08-05T13:25:00Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12941455#M851</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/69526"&gt;@Kent1Cooper&lt;/a&gt;&amp;nbsp;funciona a la perfección, agradezco tu tiempo, pensé que existiría algo ya creado, no que lo harías, eres un crack.&lt;BR /&gt;&lt;BR /&gt;Sería grandioso que además de con bloques funcionara con otros objetos como texto, textoM, entre otros y que permitiera elegir entre punto inicial, medio o final de la línea o polilínea, pero eso ya es otro tema para desarrollar un lisp más completo y útil para otros casos.&lt;BR /&gt;&lt;BR /&gt;Lo cierto es que lo que estaba buscando, me lo has facilitado y lo otro queda como una propuesta a desarrollar si lo crees conveniente en algún momento.&lt;BR /&gt;&lt;BR /&gt;Muchas gracias.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 06 Aug 2024 07:01:29 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12941455#M851</guid>
      <dc:creator>osniel_vega</dc:creator>
      <dc:date>2024-08-06T07:01:29Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12943474#M852</link>
      <description>&lt;P&gt;Saludos&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/15607268"&gt;@osniel_vega&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Prueba este código, espero te sea de ayuda...&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;;;;___
(defun c:Mbl (/ s sn p ps pe pm lp I F M opc bd)
  (while (setq s (ssget '((0 . "insert,line"))))
    (setq sn (vl-remove-if 'listp (mapcar 'cadr (ssnamex s))))
    (foreach x sn
      (if (= (cdr (assoc 0 (entget x))) "INSERT")
        (setq bd (entget x)
              p  (cdr (assoc 10 bd))
        )
        (setq ps (cdar (vl-remove-if-not '(lambda (i) (= (car i) 10)) (entget x)))
              pe (cdar (vl-remove-if-not '(lambda (j) (= (car j) 11)) (entget x)))
              pm (mapcar '(lambda (m n) (/ (+ m n) 2.)) ps pe)
        )
      )
    )
    (setq lp (vl-sort (list ps pe) '(lambda (u w) (&amp;lt; (cadr u) (cadr w)))))
    (initget 1 "I F M")
    (setq opc
           (getkword
             "\nSeleccione Posicion de Pto. en la Linea para mover el Bloque [Inicio/Medio/Final]&amp;lt;I&amp;gt;:"
           )
    )
    (if (= opc "I")
      (setq bd (entmod (subst (cons 10 (car lp)) (assoc 10 bd) bd)))
    )
    (if (= opc "M")
      (setq bd (entmod (subst (cons 10 pm) (assoc 10 bd) bd)))
    )
    (if (= opc "F")
      (setq bd (entmod (subst (cons 10 (cadr lp)) (assoc 10 bd) bd)))
    )
  )
  (princ)
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Mueve Bloque al Pto. en Linea.gif" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1395086iD2CFAD04F1520224/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Mueve Bloque al Pto. en Linea.gif" alt="Mueve Bloque al Pto. en Linea.gif" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 04:29:42 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12943474#M852</guid>
      <dc:creator>calderg1000</dc:creator>
      <dc:date>2024-08-07T04:29:42Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12943977#M853</link>
      <description>&lt;P&gt;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/4920461"&gt;@calderg1000&lt;/a&gt;&amp;nbsp; funciona muy bien con bloques comunes, solo una cosa, por alguna razón con los bloques que tienen atributos termina desplazando los pinzamientos y no el contenido del bloque, te adjunto captura.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="osniel_vega_0-1723022759020.png" style="width: 600px;"&gt;&lt;img src="https://forums.autodesk.com/t5/image/serverpage/image-id/1395238i50F49BA17EC415B0/image-size/medium?v=v2&amp;amp;px=400" role="button" title="osniel_vega_0-1723022759020.png" alt="osniel_vega_0-1723022759020.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Ese bloque tiene 4 distintos atributos y a todos les desplazó los pinzamientos, en este caso al punto medio de la línea, como le ordené claramente utilizando el lisp.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Muchas gracias por tu tiempo, eres un crack.&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 09:28:59 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12943977#M853</guid>
      <dc:creator>osniel_vega</dc:creator>
      <dc:date>2024-08-07T09:28:59Z</dc:date>
    </item>
    <item>
      <title>Re: Lisp para igualar las coordenadas de dos objetos distintos</title>
      <link>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12945217#M854</link>
      <description>&lt;P&gt;Saludos&amp;nbsp;&lt;a href="https://forums.autodesk.com/t5/user/viewprofilepage/user-id/15607268"&gt;@osniel_vega&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Le adicione una líneas de código, para actualizar los bloques que contienen atributos.&lt;/P&gt;
&lt;P&gt;Espero que te sea de ayuda.&lt;/P&gt;
&lt;LI-CODE lang="general"&gt;;;;___
(defun c:Mbl (/ s sn p ps pe pm lp I F M opc bd)
  (while (setq s (ssget '((0 . "insert,line"))))
    (setq sn (vl-remove-if 'listp (mapcar 'cadr (ssnamex s))))
    (foreach x sn
      (if (= (cdr (assoc 0 (entget x))) "INSERT")
        (setq bd (entget x)
              p  (cdr (assoc 10 bd))
        )
        (setq ps (cdar (vl-remove-if-not '(lambda (i) (= (car i) 10)) (entget x)))
              pe (cdar (vl-remove-if-not '(lambda (j) (= (car j) 11)) (entget x)))
              pm (mapcar '(lambda (m n) (/ (+ m n) 2.)) ps pe)
        )
      )
    )
    (setq lp (vl-sort (list ps pe) '(lambda (u w) (&amp;lt; (cadr u) (cadr w)))))
    (initget 1 "I F M")
    (setq opc
           (getkword
             "\nSeleccione Posicion de Pto. en la Linea para mover el Bloque [Inicio/Medio/Final]&amp;lt;I&amp;gt;:"
           )
    )
    (if (= opc "I")
      (setq bd (entmod (subst (cons 10 (car lp)) (assoc 10 bd) bd)))
    )
    (if (= opc "M")
      (setq bd (entmod (subst (cons 10 pm) (assoc 10 bd) bd)))
    )
    (if (= opc "F")
      (setq bd (entmod (subst (cons 10 (cadr lp)) (assoc 10 bd) bd)))
    )
  (if (ssget "_X" '((0 . "insert") (66 . 1)))
  (command "ATTSYNC" "N" "*")
  )
)
  (princ)
)&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 07 Aug 2024 19:23:14 GMT</pubDate>
      <guid>https://forums.autodesk.com/t5/autocad-todos-los-productos-foro/lisp-para-igualar-las-coordenadas-de-dos-objetos-distintos/m-p/12945217#M854</guid>
      <dc:creator>calderg1000</dc:creator>
      <dc:date>2024-08-07T19:23:14Z</dc:date>
    </item>
  </channel>
</rss>

