Separación constante en X o Y con array path

Separación constante en X o Y con array path

r.gomezYUM2P
Explorer Explorer
1.690 Vistas
7 Respuestas
Mensaje 1 de 8

Separación constante en X o Y con array path

r.gomezYUM2P
Explorer
Explorer

Buenos días,

Me gustaría saber si es posible mantener la distancia entre elementos constante en dirección X o Y cuando uso la función "Array path" (en el ejemplo que la distancia entre elementos siempre sea 7,5). O en otras palabras, me gustaría hacer un "Array rectangular" siguiendo una curva que es el límite del terreno. ¿Es posible?

rgomezYUM2P_0-1667221143186.png

 

0 Me gusta
Soluciones aceptadas (3)
1.691 Vistas
7 Respuestas
Respuestas (7)
Mensaje 2 de 8

Antonio.Torregrosa
Contributor
Contributor
Solución aceptada

Buenas tardes,

 

Yo no lo veo. La array path sigue un camino, que en este caso no es vertical, es inclinado. En el pantallazo adjunto vemos que en verde esta a 100 que es la distancia de separación. Las cotas en rojo vemos que no coincide ya que son medidas verticales, y no la longitud real del path.

Yo no sabria hacer lo que necesitas de esta manera. Supongo que seria algo más laborioso.

 

AntonioTorregrosa_0-1667224833512.png

 

Mensaje 3 de 8

ruiz.angel.86
Advisor
Advisor
Solución aceptada

Hola @r.gomezYUM2P a priori no se puede hacer porque el camino no es perpendicular. Cuando hayas creado la matriz, selecciónala y dirígete hacia  "Elementos" - Entre:

ruizangel86_1-1667225176943.png

Y desde ahí, le puedes dar un valor que se cumpla, pero lo hace a través del camino, no de la perpendicular:

ruizangel86_2-1667225252080.png

 


ACP Revit
LinkedIn

Ángel Ruiz

Mensaje 4 de 8

r.gomezYUM2P
Explorer
Explorer

Buenas tardes @Antonio.Torregrosa buenas tardes @ruiz.angel.86 

Muchas gracias por la respuesta. Ya había intentado todas las opciones y me temía que esa era la respuesta. Solo quería estar seguro compartiendo la duda acá en el foro antes de ponerme a hacer un array rectangular, luego un Explode y después ajustar manualmente los bloques a la linea. Muchas gracias.

Mensaje 5 de 8

calderg1000
Mentor
Mentor

Saludos @r.gomezYUM2P 

A simple vista no es posible hacerlo con Array path. Pero se puede mejorar el flujo de trabajo si luego de hacer el array rectangular, lo quieres pegar al terreno. Pero si los rectángulos son bloques se requiere saber cual es su punto de insercion. Si son polilineas no es necesario.

Estare atento a tu respuesta

 


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

Mensaje 6 de 8

calderg1000
Mentor
Mentor
Solución aceptada

Estimado @r.gomezYUM2P 

Aqui te alcanzo una rutina Autolisp que  he creado para mejorar en algo el flujo de trabajo para lo que requieres.

Adjunto también un video demostrativo de su funcionamiento.

Saludos.

;;;Rutina creada por Calderg1000 V01:09-11-22, para dar respuesta en el for de ACAD en español.
;;;Selecciona objetos polilineas y bloques(rectangulos) y los mueve horizontalmente
;;;desde su punto de insercion hasta su posicion final, definida por otra polilinea seleccionada
;;;---------------------------------------------------------------------------------------------
(defun c:mrp (/ s ph i sn snv p1 p2 pc)
  (princ "\nSeleccione Polilineas/Bloques a mover: ")
  (setq s  (ssget '((0 . "lwpolyline,Insert"))))
  (setq ph (car (entsel "\nSeleccione Path: "))
  )
  (repeat (setq i (sslength s))
    (setq sn (ssname s (setq i (1- i)))
          snv
          (vlax-ename->vla-object sn)
    )
    (vla-getboundingbox snv 'p1 'p2)
    (setq p1 (vlax-safearray->list p1)
          p2 (vlax-safearray->list p2)
    )
    (setq entl
           (entmakex (list '(0 . "line")
                           (cons 10 p1)
                           (cons 11 (polar p1 0 0.1))
                     )
           )
    )
    (setq phn   (vlax-ename->vla-object ph)
          entln (vlax-ename->vla-object entl)
    )
    (setq pc (vlax-invoke phn 'intersectwith entln 2))
    
(vla-move snv (vlax-3d-point p1) (vlax-3d-point pc))
    (vla-erase entln)
  )
  )

  


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

Mensaje 7 de 8

r.gomezYUM2P
Explorer
Explorer

@calderg1000 

 

Muchísimas gracias por la respuesta y el código. Había escuchado que era posible programar en AutoCAD pero no lo había intentado antes. Empezaré a explorar todas esas opciones de autoCAD.

Mensaje 8 de 8

calderg1000
Mentor
Mentor

Saludos @r.gomezYUM2P 

Me alegra haber ayudado en algo.

Con gusto cualquier consulta sobre programación en Auto Lisp, para Acad.


Carlos Calderon G
EESignature
>Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.