Tbn2NET - Novos Comandos

Mais 2 novos comandos implementados no programa tbn2.net

Um o DTAL2 já é conhecido neste post, claro que com umas coisinhas a mais!!!
Se você ainda não testou o DTAL, experimente!! É um ótimo desenhador de convenção de taludes.


O outro comando serve para criar polilinhas 3d apartir de outras linhas simples, como line, polyline, spline etc... com a vantagem de fazer "join" nas linhas
Vai ser útil para gerar modelos de terreno (MDT) por linhas obrigatórias.

Outras inclusões:
EXPGE2, versão melhorada do já conhecido EXPGE, agora consegue exportar blocos como eles são, isto é, não apenas o converte num marked point como antes. Também inclui suporte a entidades do civil 3d, como pontos, alinhamentos e corredores, alem de conseguir desenhar os padrões de hachura do autocad (já me pediram isso várias vezes!!!). Sua velocidade é absurdamente superior a versão anterior, que era feita em lisp.

No SHEET2 foi adicionado UNDO e REDO. Nem sei porque não coloquei isso nas primeiras versões.... Tá curioso pra sabr o que ele faz? Digamos que ele facilita a edição de atributos de carimbos em múltiplos desenhos alem de facilitar a configuração da ploter em todos eles...

Adicionei ainda um outro comando ainda nãodocumentado porque é de uso muito esporádico: ListeDwgsLayers.
Ele faz o seguinte: Ao chamar o comando, ele pede para que uma pasta seja selecionada, então o programa busca nesta pasta e em todas as suas subpastas todos os dwgs contido ali, em cada um deles lista todos os layers de cada dwg e salva isso num arquivo de texto
Pra que serve isso?? Bom, se você trabalha para empresas grandes, sabe que a padronização faz parte do escopo do trabalho e não pode sair distribuindo nomes a esmo nos layers... essa é uma forma de saber se os seus desenhistas estão fazendo a coisa certa, hehehehe.... Imagine ter que abrir 200 desenhos só pra ver se os nomes dos layers estão corretos...

Bom, só faltou o link pra: download (civil 3d e autocad 2011)
Ah, aguardo sugestões!!!

Civil 3D - Tutoriais - Pipes - 12.03 Interference Check

Você já está fera em lançar redes de tubos no civil 3d... parabéns!!!
Já testou o meu programa, o C3DRENESG2 Já calcula, aplica os valores e tals, mesmo usando o eca!!! hidraflow do civil.... Mas as vezes tem uma situação como essa:


Perceba que há redes se cruzando, sendo uma de esgoto e uma de drenagem.
Bom, como se trata de um projeto novo, podemos alterar as cotas como desejarmos.

Agora imagine que calculamos uma das redes, deu tudo OK, todos os limites e "Rules" passam e clicamos para aplicar ao desenho o nosso cálculo.

Em seguida vamos calcular a outra rede, mesmo procedimento.

Na hora de executar os tubos se interceptam:

Legal descobrir isso na hora de executar.... hehehe

O Civil 3D conta com as "Interference Check", onde ele calcula os pontos de conflito entre 2 redes. Para usar ele chame o comando CREATEINTERFERENCECHECK:

Aí, ele pede pra selecionar a primeira rede, depois a outra e depois mostra a tela a seguir:

E pronto. Ele irá calcular e poderá mostrar esta tela:


Bonito mesmo é ver na planta, olha a bolona verde ali:

E se a minha rede se auto interceptar? Pode usar isso? pode...

E se a minha rede cruzar com outras redes? Bom, vai ter de fazer um interference check com cada uma das outras rede....

O que eu faço se aparecer essas interferências? Muda as cotas dos tubos ou estruturas, claro!!!

E se eu mudar alguma coisa, vou ter de recalcular a rede? Mas é claro!!! Que pergunta!!!

Se eu recalcular as redes, as interferências se recalculam? Beeeeemmmmm...... Não...
Você terá de clicar para o programa recalcular:


É, eu sei.. legal, mas meio massante.... O inconveniente é lembrar de criar elas, depois calcular todas as redes e mandar verificar, se alguma der problema, voltamos na rede editamos e calculamos.

Bom, agora pra VOCÊ que usa o C3DRENESG2, ao abrir a planilha, o C3DRENESG2 já sabe quais tubos podem ter problema e já irá mostrar em planta:


E no perfil:


Ah, mencionei que estas duas telas estão na planilha de cálculo? hidraflow, toma essa!!!, não? Veja:


Note que destaquei na planilha, planta e perfil a interferência. Ah, se você esquecer de criar o interference check, não tem problema, o C3DRENESG2 procura por você...

No fim é so aplicar e veja:

Tudo resolvido!!

Opa, peraí, você ainda não baixou o C3DRENESG2?? Então baixa ele aqui: download

Civil 3D - Point Group para todas as descrições

Volta e meia você precisa criar point group para as descrições dos pontos, certo? Seja porque você não gosta do "Description Key Sets", seja porque você nem saiba o que é isso, hehehe

A idéia basicamente é que cada point group contenha somente os pontos de uma determinada descrição, o que facilita na hora de criar estilos e na hora de fazer as superfícies.

Por exemplo, se criamos um point group chamado árvore, podemos definir o estilo deste com um bloquinho que seja uma árvore. O mesmo com postes por exemplo, já imaginou que bacana? Isso simplifica bastante o acabamento do desenho...

Também facilita no mdt, porque nossa superfície pode não precisar de alguns pontos, por exemplo, os de fundo de boca de lobo...

O duro é criar todos esses point groups....

Que tal um lispezinho pra isso? Veja:

;funcao que devolve um item da colecao, cria se necessario
;byref_is_new é passado por referencia, diz se é novo
(defun get_or_create (collection name byref_is_new / obj)
  (
VLAX-FOR O   COLLECTION
    (IF (=  (VLA-GET-NAME O) NAME)
      (
sETQ OBJ O)
    ))

  (
IF OBJ (set byref_is_new nil)
    (
progn (setq obj (vla-add collection name))
       (
set byref_is_new t)
    ))


  

  obj
)

;funcao principal
;escaneia os pontos do desenho e cria point groups com estilos
;para cada descricao de pontodiferente
;autor: neyton luiz dalle molle
;http://tbn2.blogspot.com
;requer inivars.lsp

(defun c:pgforall (/ p desc QueryBuilder pointstyle pointgroup novo)
  ;inicializa o controle de erros
  (tbn:error-init nil)
  ;em todos os pontos do desenho faça
  (vlax-for p (cvlp-get-points aec-adoc)
    (
setq desc (cvlp-get-rawdescription p))
    ;se adescricao esta setada, faça
    (if    (/= desc "")
      (
progn
    ;verifica se existe o pointgroup com este nome
    (setq pointgroup
           (GET_OR_CREATE
         (cvlp-get-pointgroups aec-adoc)
         desc
         'novo))
    ;se for criado um novo, entao
    (if novo
      (progn
        ;constroi o filtro e o estilo
        (setq QueryBuilder (cvlp-get-QueryBuilder pointgroup)
          pointstyle   (GET_OR_CREATE
                 (cvlp-get-pointstyles aec-adoc)
                 desc
                 'novo ))
        ;define as propriedades do novo pointgroup
        

        (cvlp-put-IncludeRawDescriptions QueryBuilder desc)
        (
cvlp-put-pointstyle pointgroup pointstyle)
        (
cvlp-put-MarkerSize pointstyle 0.0003)
      
        (
prompt (strcat "\n" desc))
      )
    )
      )
    )
  )

  ;finaliza ocontrole de erros
  (tbn:error-restore)
)




Link(s) da(s) subrotina(s) usada(s):
tbn:error-init
tbn:error-restore
funções cvl*


Para rodar, primeiro copie o código fonte acima, bem como aqueles indicados nos links das subrotinas, colando tudo num mesmo arquivo de texto. Use o bloco de notas do windows....
Salve com a extensão .LSP.

Agora carregue no Civil 3D, para isso use o comando APPLOAD. Selecione a lisp que você salvou.

Agora é só chamar na linha de comando: PGFORALL

Note que alem do point group, o programa já cria um estilo correspondente.
Se você não quer o estilo, basta remover essa parte do código... Fica como exercício pra você descobrir como!!!