Comunidade
AutoCAD - Português
Bem vindo ao Forum de AutoCAD da Autodesk. Compartilhe seu conhecimento, faça perguntas e explore os tópicos mais populares de AutoCAD.
cancelar
Mostrando resultados para 
Mostrar  apenas  | Pesquisar então 
Você quer dizer: 

Contagem de textos

13 RESPOSTAS 13
Responder
Mensagem 1 de 14
rodrigoeleide
3726 Exibições, 13 Respostas

Contagem de textos

Por exemplo, tenho um desenho com vários textos isolados e alguns repetidos, por exemplo vários 36", 25", gostaria de uma lista de quantos 36" aparecem no desenho, 25" tb, e assim por diante.
Obrigado
13 RESPOSTAS 13
Mensagem 2 de 14
carlos.barbosa
em resposta a: rodrigoeleide

boas,
talvez o ideal será uma rotina de lisp, mas tive a "navegar" um pouco pelo cad... e eis uma sugestão:
- tem cuidado para n teres nada selecionado, depois:
- vais ao menu tools / quick select
- selecionas o tipo texto, onde poderas selecionar por cor, layer, etc, e content (conteudo), ai colocas o valor que pretendes "procurar"
- carregas OK, e TATAAAA, tens todos os textos com o valor que querias procurar selecionados, agora repara na lista de command em baixo.... "x item(s) selected." ....

espero que ajude
abraço,

CB
Mensagem 3 de 14
rodrigoeleide
em resposta a: rodrigoeleide

Carlos, não seria bem isso o que procuro, por esse seu método, uso o comando FIND e depois em SELECT.
Mas o que eu imaginava é o seguinte:
Tenhos vários textos no desenho, queria uma lista com o valor de cada texto e se fosse repetido, a quantidade.
Uma espécie de BCOUNT, só que ao invés de contar BLOCOS contaria TEXTOS.
Espero ter sido claro e obrigado pela atenção.
Mensagem 4 de 14
carlos.barbosa
em resposta a: rodrigoeleide

Tal como tinha dito, para isso só com uma rotina de lisp, e o meu lisp está muito escasso, de tal forma que não puderei ajudar :S
Mas sei que é possível, inclusive gravar a lista num ficheiro de texto, como uma medição.
Mensagem 5 de 14
rodrigoeleide
em resposta a: rodrigoeleide

De qualquer forma, obrigado.
Mensagem 6 de 14
KLUG-TICIANO
em resposta a: rodrigoeleide

Pessoal. Eu resolví este problema, dentre outros, utilizando Visual Basic. Extraio todos os textos, de uma pasta de arquivos, inclusive de blocos, listando os mesmos em uma planilha excel, identificando ao alto, por coluna, o nome do arquivo trabalhado. Para quem ainda necessitar posso enviar o arquivo dvb para tralbalhar em um único desenho aberto.

Terminei também um formulário para localizar texto, e direcionar para o ponto de localização do mesmo, permitindo trabalhar após localizado. Esta função "Zoomto" existia nas versões anteriores ao Autocad 2009, não existindo atualmente (ver comando FIND no 2009).

Até breve.
Mensagem 7 de 14
M4RCO5EN4
em resposta a: rodrigoeleide

Filter - 'fi

É muito simples.
Esse comando é muito antigo, foi meio que deixado de lado pela maioria dos usuários depois que criaram o properties (cad2000).

digite o comando list ,ou erase ou qualquer outro comando de seleção, depois digite 'FI ou 'FILTER ,a apóstrofre é a indicação de transparência sem ela o comando corta o anterior.

no quadro selecionte a opção "text value" e no campo X= digite o valor que vc procura, pressione ADD TO LIST e depois APPLY
selecione TUDO,ou digite ALL ele vai selecionar apenas os texto com o valor que vc procura.

Fácil não é?
Mensagem 8 de 14
ftrindad
em resposta a: rodrigoeleide

Caro KLUG-VBA

Estou precisando montar uma rotina para extrair textos de arquivos dwg, se puer me ajudar ficarei muito grato.

Obrigado
Fernando Trindade
Mensagem 9 de 14
KLUG-TICIANO
em resposta a: rodrigoeleide

Prezado Fernando Trindade

Saudações

Favor enviar-me o ID de seu computador(HD). Estarei enviando-lhe um arquivo dvb para trabalhar em um único documento dwg (na realidade o aplicativo pode trabalhar com pastas de 1000, 2000,... etc arquivos dwg), e na sua máquina. Serão extraídos os textos simples, múltiplos e de blocos e listados em planilha excel. Posteriormente você poderá fazer os filtros que achar conveniente, ou utilizar o VBA no excel.

Aproveito para enfatizar que desconheço as diversas soluções simples que o auto cad propicia.

Meu e-mail é klug@dtonline.com.br

Atenciosamente.

Ticiano
==================================================================================
Mensagem 10 de 14
ftrindad
em resposta a: rodrigoeleide

Esse é o ID do meu HD
A87852F3
fico no aguardo

Grato
Fernando Trindade
Mensagem 11 de 14
KLUG-TICIANO
em resposta a: rodrigoeleide

Em anexo, aplicativo para listagem em planilha Excel, de textos de doc. Auto-cad presentes em pasta definida. No anexo temos um texto em pdf para orientação de uso e um arquivo dvb para instalação.

Apesar da demora, penso que ainda pode ser útil a muitas pessoas. A totalização de textos semelhantes, através do próprio excel, não é difícel.

Atenciosamente.

Ticiano

Edited by: KLUG-VBA on Apr 2, 2010 11:41 PM Edited by: KLUG-VBA on Apr 2, 2010 11:45 PM
Mensagem 12 de 14
VSCOUTINHO
em resposta a: KLUG-TICIANO

Prezado bom dia, 

 

Sou novo por aqui e aprendendo a usar o CAD.

Tal ferramenta seria muito útil para mim mas não consigo instalá-la em minha máquina.

Quando faço: Localizar a pasta de arquivos anterior e selecionar o arquivo FÓRUM_CAD_LISTAR_01.dvb me deparo com o erro "Unable to unload the file". independente do local que eu deixo esse arquivo. Preciso saber quantas palavras um CAD possui para que possamos fazer uma cotação de tradução.

Minha necessidade é somente saber quantas palavras o CAD possui, pode me ajudar?

 

Muito grato, 

 

Coutinho

Mensagem 13 de 14
KLUG-TICIANO
em resposta a: VSCOUTINHO

Caros colegas

 

Abaixo aplicativo para contar objetos, entidades, no documento.

========================================================================

Sub CONTAR_OBJETOS()
Dim A(50, 2)
Dim OBJ As AcadObject
aux01 = 1
On Error Resume Next
For Each OBJ In ThisDrawing.Application.ActiveDocument.ModelSpace
        For I1 = 0 To aux01
        If A(I1, 0) = OBJ.ObjectName Then GoTo 100
        If A(I1, 0) <> "" Then GoTo 50
        A(I1, 0) = OBJ.ObjectName
        A(I1, 1) = A(I1, 1) + 1
        aux01 = aux01 + 1
        GoTo 200
50         Next I1
100 A(I1, 1) = A(I1, 1) + 1
200 Next
For i2 = 0 To aux01
    If Len(A(i2, 0)) <= 8 Then GoTo 300
    S1 = S1 & Chr(10) & A(i2, 0) & Chr(9) & A(i2, 1)
    GoTo 400
300      S1 = S1 & Chr(10) & A(i2, 0) & Chr(9) & Chr(9) & A(i2, 1)
400 Next
MsgBox S1
End Sub

========================================================================

VSCoutinho, Solicito-lhe relatar melhor a "dificuldade" que teve ao carregar o aplicativo "FORUM........dvb".

 

No momento faço dicionário de frases presentes em pastas de arquivo com 1000, 5000, 10000 documentos, e em quais documentos a mesma frase aparece, em bloco.

Na mesma planilha excel faço um dicionário de palavras retiradas das frases anteriores e em quais documentos a mesma palavra aparece, em bloco.

Após verificação destas palavras, palavras erradas são marcadas de "amarelo" - análise pessoal (interativo). Em seguida gera-se uma coluna com os documentos que possuem palavras amareladas e na coluna ao lado o grupo de palavras "erradas", de tal forma que ao abrir cada documento por "hyperlink" podemos corrigir os erros mais facilmente,, abrindo cada documento uma única vez.

Dependendo pode-se fazer a correção automaticamente, através do "handle" de cada palavra, de cada documento, o que já utilizao.

 

Talvez apenas a sub-rotina acima já atenda suas necessidades.

 

Sucesso!!

Mensagem 14 de 14
KLUG-TICIANO
em resposta a: KLUG-TICIANO

Caros colegas

Abaixo aplicativo com melhoria na caixa de mensagem, em relação ao enviado dia 28-03-12, para contar objetos, entidades, no documento.

==================================================​======================

Sub CONTAR_OBJETOS()

Dim A(50, 2)

Dim obj As AcadObject

AUX01 = 1

On Error Resume Next

For Each obj In ThisDrawing.Application.ActiveDocument.ModelSpace

        For I1 = 0 To AUX01

        If A(I1, 0) = obj.ObjectName Then GoTo 100

        If A(I1, 0) <> "" Then GoTo 50

        A(I1, 0) = obj.ObjectName

        A(I1, 1) = A(I1, 1) + 1

        AUX01 = AUX01 + 1

        GoTo 200

50         Next I1

100 A(I1, 1) = A(I1, 1) + 1

200 Next

S1 = "QUANT" & Chr(9) & "OBJETOS" & Chr(10)

For I2 = 0 To AUX01

    TOT = TOT + 1

    S1 = S1 & Chr(10) & A(I2, 1) & Chr(9) & A(I2, 0)

If TOT < 10 Then GoTo 400

MsgBox S1

S1 = "QUANT" & Chr(9) & "OBJETOS" & Chr(10)

TOT = 0

400 Next

MsgBox S1

1000 End Sub==================================================​======================

 

Com pequenas melhorias esta rotina pode ser útil para transferir as informações para planilha excel. Mas este não é o caso no momento.

 

No momento faço dicionário de frases presentes em pastas de arquivo com 1000, 5000, 10000 documentos, e em quais documentos a mesma frase aparece, em bloco, e quantas vezes aparece.

Na mesma planilha excel faço um dicionário de palavras retiradas das frases anteriores e em quais documentos a mesma palavra aparece em bloco, e quantas vezes aparece.

Após verificação destas palavras, palavras erradas são marcadas de "amarelo" - análise pessoal (interativo). Em seguida gera-se uma coluna com os documentos que possuem palavras amareladas, um doc em cada linha, e na coluna ao lado o grupo de palavras "erradas", de tal forma que ao abrir cada documento por "hyperlink" , que também é inserido em uma coluna, podemos corrigir os erros mais facilmente, abrindo cada documento uma única vez.

Dependendo pode-se fazer a correção automaticamente, através do "handle" de cada palavra, de cada documento, o que já utilizo. 

Talvez apenas a sub-rotina acima já atenda as necessidades de muitos usuários.

Sucesso!!

Klug@uai.com.br

Não encontrou o que está procurando? Pergunte à comunidade ou compartilhe seu conhecimento.

Postar nos fóruns  

Autodesk Design & Make Report