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
Olá galera.
ResponderExcluirBem estou com a versão 2011 e nao me lembro de precisar fazer isso nas outras versões..kkk, mas na 2011 dá pra fazer da seguinte forma:
(Depois de fazer o alinhamento, definir as simples lines)
Selecione uma delas, clique botão direiro e escolha a opção "simple line group properties", na aba "simple line" vocês vão encontrar uma tabela com dotas as seções, ai faz o seguinte:
a)Selecione a primeira coluna da linha "left ofset", role a janela até o final e selecione "left ofset", de um clique em uma celula para edição, altere o valor e de um enter rsrsrs.
Para cancelar a seleção, só dar um clique com a seta pra cima ou pra baixi, aquelas setas que tem entre a barra de espaço e o teclado numerico..rsrs
Vocês podem fazer por intervalos também.
Abraço a todos que leram esse comentário.
ah, ta me gozando???
ResponderExcluirhehehehe caraca, nem tinha percebido isso !!!!!
muito boa a sua dica, gabaritou, hehehe