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: 

Renomear Atributos de um Bloco Sequencialmente no AutoCAD

5 RESPOSTAS 5
SOLUCIONADO
Responder
Mensagem 1 de 6
silvestre_salles
452 Exibições, 5 Respostas

Renomear Atributos de um Bloco Sequencialmente no AutoCAD

Imagine que você tenha vários blocos em um desenho, como Tanques, e cada um desses blocos pode ter diferentes configurações (visibilits), como tamanhos (por exemplo, 300x300, 300x250, 300x400). Cada configuração representa um tanque diferente. Agora, você deseja automatizar a atribuição de nomes a esses blocos usando um programa Lisp.

Você deseja que o Lisp comece a percorrer o desenho e, para cada bloco, atribua um nome com base em um prefixo (por exemplo, "TANQ") e um sufixo numérico (por exemplo, "001"). No entanto, o Lisp precisa ser inteligente o suficiente para reconhecer se dois blocos são o mesmo e, se forem, verificar se há alguma diferença específica, como tamanho ou outras configurações de um bloco dinâmico.

Se todas as configurações forem iguais, o Lisp manterá o mesmo nome. Se houver diferenças, ele incrementará o sufixo numérico diferente. Além disso, você gostaria de ter a opção de manter a diferenciação de nomes mesmo quando as configurações forem iguais, para alguns blocos específicos que você possa escolher.

Em resumo, desejo um programa Lisp que abra uma janela para que eu possa preencher sufixo e prefixo muito semelhante ao NUMINC, deverá ter uma opção de marcar para escolher ou não fazer a diferenciação onde quando for fazer a diferenciaçaõ seja capaz de nomear automaticamente os atributos dos blocos dinâmicos que eu selecionar em um desenho e conforme o preenchimento do sufixo e prefixo levando em consideração suas configurações (nome do bloco, visibilits, comprimentos...) mas quando eu escolher a opção de não fazer a diferenciação ele funcione como o lisp numerar_bloco ,  para decidir quando diferenciar ou não os nomes dos blocos. Vou deixar um dwg para testes... @melissacmancuzo@f_santana. @Anonymous: 

 

exemplo:

MARCANDO DIFERENCIAÇÃO

dou o comando, abre a tela, escolho sufixo ZSB prefixo 001 e marco diferenciar blocos. 

seleciono os blocos, e o lisp verifica se é o mesmo bloco, se sim ele verifica se alguma configuração do bloco dinâmico é diferente (visibilits, comprimentos, o que existir .... ), se todas as configurações e nome de bloco são iguais ele da o nome do atributo ZSB 001, Se alguma configuração for diferente ele da o nome do atributo ZSB 002  e assim faz para todos os blocos que selecionei. 

NÃO MARCANDO DIFERENCIAÇÃO

dou o comando, abre a tela, escolho sufixo ZSB prefixo 001 e marco diferenciar blocos. 

seleciono os blocos, renomeia o atributo ZSB 001, ZSB 002....

 

5 RESPOSTAS 5
Mensagem 2 de 6

@silvestre_salles Você poderia utilizar a seguinte autolisp do leemac

carlosramallho_1-1696800931451.png

O programa preenche automaticamente tags de atributos personalizados com o conteúdo dos blocos especificados com rótulos exclusivos do conjunto de blocos especificado ou lista multileader e renumera automaticamente os blocos quando eles são adicionados, copiados ou excluídos.

O programa usa reatores de objetos para monitorar eventos de modificação para todos os blocos especificados ou um conjunto de vários líderes cujos nomes de bloco correspondem a um padrão curinga ou a um nome de bloco especificado no código-fonte do programa.

Depois de modificar um bloco especificado ou seu multileader, o Command Reactor aciona o programa para renumerar automaticamente as tags de atributos específicos em todos os blocos especificados ou seus multileaders no layout ativo do desenho. As referências de bloco ou multileader são numeradas de acordo com a ordem em que são encontradas no banco de dados de desenho ativo (ou seja, a ordem em que os objetos foram criados).

O programa também permite especificar o prefixo e sufixo de numeração, o número para iniciar a numeração e o número de caracteres a serem usados ​​para numeração de comprimento fixo com zeros à esquerda. Ou seja, se o comprimento da numeração for definido como 2, o programa numerará os objetos de numeração 01,02,03, ...,10, 11,12).
Depois dessa introdução, vamos lá:

  • No local "meubloco" adicione o nome do seu bloco entre "" mesmo;
  • adicione o nome da sua tag criada no blockeditor;
  • especifique o prefixo ou o sufixo, caso queira deixa em branco ele irá ficar sem o prefixo/sufixo;
  • No start number, defina o valor de inicio de contagem;
  • Depois é só salvar a autolisp;
  • Carregar no AutoCAD com o comando APPLOAD
Se a resposta te ajudou a solucionar o seu problema clique em "ACEITAR SOLUÇÃO", isso ajuda os outros usuários a encontrar rapidamente uma resposta, se gostou clique em "CURTIR".
Mensagem 3 de 6

bom dia, eu ainda não entendi o lisp...confesso que ainda não consegui carregar... fiz o appload...mas qual atalho devo usar...??? , eu preciso colocar o nome dos blocos que quero alterar? 

Mensagem 4 de 6
Anonymous
em resposta a: silvestresallesjunior4

Olá @silvestresallesjunior4 !!

O ajuste do Incremental Numbering Suite do Lee-Mac para atender às suas necessidades é uma tarefa extremamente desafiadora. Sua solicitação envolve um nível de complexidade considerável e demandaria uma quantidade significativa de tempo. Infelizmente, não estou com tempo de oferecer assistência para essa tarefa específica.

No entanto, recomendo que você procure ajuda em outros profissionais, possivelmente considerando a contratação de um profissional especializado em serviços de terceirização para abordar essa demanda. Espero que você encontre a assistência necessária para alcançar seu objetivo.

Mensagem 5 de 6

@silvestre_salles  Modifiquei a tag do seu bloco para IDENTIFIC, e utilizei o próprio nome do seu bloco "11246 - TANQUE PARA ESCALDAGEM DE SUÍNOS MANUAL", na autolisp eu fui modificando os parâmetros. 

A autolisp não precisa de comandos, ela será executada quando você utilizar o appload. 

 

Se a resposta te ajudou a solucionar o seu problema clique em "ACEITAR SOLUÇÃO", isso ajuda os outros usuários a encontrar rapidamente uma resposta, se gostou clique em "CURTIR".
Mensagem 6 de 6

@carlos.ramallho  bom dia Carlos, obrigado pelo retorno, mas no meu caso tem algumas particuliariedades. 1 º eu não vou ter somente esse bloco no layout, imagina que terei diversos blocos, inclusive com nomes diferentes. E muitas vezes o mesmo bloco pode ter uma configuração diferente (caso dos blocos dinâmicos). Ai eu preciso que ao rodar o lisp apareça uma tela para que eu preencha PREFIXO(sigla ZSB ), SUFIXO (número sequencial). Deve ter um botão selecione blocos, quando clico fecha a janela e posso selecionar, ao dar entre ele deveria voltar para tela para que eu dê ok. Quando eu der ok, ele deverá 1º avaliar se o bloco é igual (mesmo nome), se sim ele deve avalaliar se existe aguma configuração de bloco dinâmico que é diferente. Se é diferente, ele deve dar outro nome (sufixo...), visto que o prefixo não muda. Se é igual ele deve manter o mesmo nome e assim por diante. Na imagem anexa você vai ver que ZSB 005 tem 2x. Pois ele é o mesmo bloco e tem a mesma configuração do bloco dinâmico(120 sh)... coloquei uma sugestão de como imagino que deveria funcionar...

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

Postar nos fóruns  

Autodesk Design & Make Report