Extender Sample Lines

Sabe aquelas horas que voce precisa "extender" uma sample line até algum lugar, para que a seção mostre tudo o que voce quer?

Já reparou como pode ficar lento estrechar uma a uma na mão?

É... Eu também reparei... Bom, vamos tentar agilizar isso com o programinha abaixo:

(defun C:EXTENDSECTION (/ e1 e2 ss pt p2 d dmax align
            sta offset vertex v fun
)
  (
tbn:error-init nil)
  (
prompt "\nSelecione a polilinha até onde extender")
  (
setq e1 (vlax-ename->vla-object
         (ssname (ssget ":S" '((0 . "LWPOLYLINE")))
             0)))
  (
prompt "\nSelecione as sample lines")
  (
setq    ss (ssget '((0 . "AECC_SAMPLE_LINE"))))
  (
repeat (sslength ss)
    (
setq e2    (vlax-ename->vla-object (ssname ss 0))
      align (vlax-get-property
          (vlax-get-property e2 "Parent")
          "Parent")
      pt    (vlax-safearray->list
              (vlax-variant-value
               (vla-IntersectWith
            e1
            e2

            acExtendOtherEntity)))
      pt    (list (car pt) (cadr pt) 0.0)
      dmax 0)
    (
vlax-invoke-method align
      "StationOffset" (car pt) (cadr pt) 'sta 'offset)
    (
setq fun (if (> offset 0) > <)
      vertex nil)
     
   
    (
vlax-for v (vlax-get-property e2 "vertices")
      (
setq off (vlax-get-property v "stationoffset"))
      (
if (fun off dmax) (setq vertex v dmax off)))
     
    (
if vertex
      (vlax-put-property vertex "location"
    (vlax-3d-point pt)))
   
    (
ssdel (ssname ss 0) ss)
    )
  (
tbn:error-restore))


 

Link(s) da(s) subrotina(s) usada(s):
tbn:error-init, tbn:error-restore


Pra usar é simples:

Tenha um alinhamento com sample lines (é claro)
desenhe uma polilinha que servirá como referencia para esticar as sample lines

chame o comando ( após carregar a lisp, certo? ) EXTENDSECTION

ele irá pedir para selecionar essa polilinha, depois as seções.

Pronto.

Se você testou e gostou, deixe um comentário!!!
Se não gostou, deixe mesmo assim

Se você não sabe o que é a sample line, bem... leia os tutoriais de seções, hehehe

LinkWithin

Related Posts Plugin for WordPress, Blogger...