Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Revit Python Shell ::: Dicas & Truques ::: Selection, Seleção

Como pedir para o usuário selecionar somente um elemento no Revit usando a função PickObject() do objeto Selection do Revit Python Shell

Quantidade de visualizações: 273 vezes
Nesta dica mostrarei como podemos usar a função PickObject() do objeto Selection do Revit Python Shell para pedir para o usuário selecionar somente um elemento na área de desenho do Revit. Note que o objeto Selection é obtido a partir do objeto uidoc, carregado automaticamente pelo Revit Python Shell.

Depois que o usuário seleciona o elemento, nós usamos a função doc.GetElement() para receber a referência ao elemento e convertê-la para um elemento real. Então, para finalizar, nós acessamos a propriedade Id do elemento e a exibimos na tela.

Veja o código Revit Python Shell completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType

# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()
 
# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um elemento")
 
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente
__window__.Show()
__window__.Topmost = True
 
# obtemos o elemento a partir de sua referência usando a função
# GetElement() do objeto Document
elemento = doc.GetElement(selecionado)
 
# e mostramos o resultado
print("O id do elemento selecionado é: {0}".format(elemento.Id))

Ao executar este código Revit Python Shell nós teremos o seguinte resultado:

O id do elemento selecionado é: 359410

Veja como usei as funções __window__.Hide(), __window__.Show() e __window__.Topmost = True para ocultar a janela do Revit Python Shell e exibí-la novamente depois que o usuário fizer a seleção do elemento. Sem essas funções essa operação não pode ser realizada.

Link para compartilhar na Internet ou com seus amigos:

Revit Python Shell ::: Dicas & Truques ::: Grupos - Groups

Como copiar grupos no Revit usando a função Create.PlaceGroup() e o Revit Python Shell

Quantidade de visualizações: 255 vezes
O código que apresento nesta dica mostra como podemos pedir para o usuário selecionar um grupo na área de desenho do Revit e, em seguida, usando a API do Revit e o Revit Python Shell, criar uma cópia do grupo escolhido e posicioná-la em um ponto escolhido pelo usuário.

Em realidade, este código é o mesmo apresentado no tutorial "Como criar seu primeiro plug-in no Revit usando a Revit C# API" da documentação oficial fornecida pela Autodesk. O que fiz foi modificar o código para usar Revit Python Shell em vez de C#, como mostrado no tutorial.

O primeiro passo é importar o objeto ObjectType a partir do módulo Autodesk.Revit.UI.Selection. Em seguida nós usamos __window__.Hide() para que o foco vá para a janela do Revit. Isso é necessário para que o usuário possa selecionar um grupo usando uidoc.Selection.PickObject. Note que coloquei uma mensagem TaskDialog.Show() chamando a atenção do usuário para esta tarefa.

Como a função PickObject() retorna um objeto Reference, nós precisamos fornecer essa referência para a função doc.GetElement() e assim obter o elemento real que queremos manipular. Então, o passo seguinte é pedir para o usuário indicar um ponto na tela de desenho do Revit usando a função uidoc.Selection.PickPoint(). Esta função vai nos retornar um objeto da classe XYZ da API do Revit.

Depois que o usuário selecionar o grupo e o ponto, nós criamos uma nova transação usando Transaction(doc, "Copiar grupo") e a iniciamos com uma chamada à sua função Start(). Então, para concluir, basta uma chamada à doc.Create.PlaceGroup(ponto, grupo.GroupType) e verificar o resultado na tela de desenho do Revit.

Veja o código Revit Python Shell completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda para ajustar o código abaixo de acordo com as
suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar)

Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar
a manter o site livre de anúncios. Ficaremos eternamente gratos ;-)
Nosso PIX é: osmar@arquivodecodigos.com.br 
----------------------------------------------------------------------

# faz o import necessário
from Autodesk.Revit.UI.Selection import ObjectType

# precisamos ocultar a janela do Revit Python Shell
__window__.Hide()

# agora fazemos uma chamada à função PickObject() do objeto Selection e retornamos
# uma Reference
TaskDialog.Show("Aviso", "Selecione um grupo")
selecionado = uidoc.Selection.PickObject(ObjectType.Element, "Selecione um grupo")
# obtemos o grupo a partir de sua referência usando a função
# GetElement() do objeto Document
grupo = doc.GetElement(selecionado)
# vamos pedir para o usuário selecionar um ponto na área de
# desenho do Revit
TaskDialog.Show("Aviso", "Selecione um ponto")
ponto = uidoc.Selection.PickPoint("Selecione um ponto para posicionar o grupo")
 
# criamos uma nova transação e posicionamos a cópia do
# grupo nas coordenadas indicadas pelo usuário
transacao = Transaction(doc, "Copiar grupo")
# iniciamos a transação
transacao.Start()
# copiamos o grupo selecionado pelo usuário e o colocamos no
# ponto indicado
doc.Create.PlaceGroup(ponto, grupo.GroupType)
# fechamos a transação
transacao.Commit()
 
# e mostramos o resultado
TaskDialog.Show("Aviso", "O grupo foi copiado com sucesso") 
  
# depois que o usuário fizer a seleção nós mostramos a janela do
# Revit Python Shell novamente 
__window__.Show() 
__window__.Topmost = True



Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

Raio Hidráulico

Ano: 2019 Banca: Instituto Consulplan Órgão: Prefeitura de Pitangueiras - SP Prova: Instituto Consulplan - 2019 - Prefeitura de Pitangueiras - SP - Engenheiro Civil

O Raio Hidráulico é a relação entre a área molhada e o perímetro molhado, sendo parâmetro importante no dimensionamento de canais, tubos, dutos e outros componentes das obras hidráulicas. Sua unidade no SI é o metro (m2/m = m). Na figura é ilustrado um canal trapezoidal aberto (figura A), e à sua direita (figura B) as dimensões de sua seção transversal em um determinado trecho do seu percurso.



Para a seção transversal do canal, assinale, a seguir, o valor do raio hidráulico.

A) 0,26 m.

B) 0,47 m.

C) 1,26 m.

D) 2,12 m.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de águas pluviais

Normalmente, o projeto de calha é feito em duas etapas: primeiramente, estima-se o escoamento superficial a partir do método racional e, em sequência, consulta-se uma calha com capacidade hidráulica satisfatória. Em alguns casos, o projetista deve estar apto a calcular a seção necessária, fazendo, assim, a aplicação dos conhecimentos obtidos.

Uma calha em aço galvanizado com coeficiente de rugosidade n = 0,011 deverá ser instalada com declividade 0,5%. Sabendo que a seção adotada é retangular com base de 10cm e altura de 20cm, qual a capacidade hidráulica dessa calha em L/s?

A) 132,45L/s.

B) 165,25L/s.

C) 150,40L/s.

D) 180,61L/s.

E) 194,27L/s.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Princípios específicos do Direito do Consumidor

(Exame de ordem 2013). Maria e Manoel, casados, pais dos gêmeos Gabriel e Thiago, que têm apenas três meses de vida, residem há seis meses no Condomínio Vila Feliz. O fornecimento do serviço de energia elétrica na cidade onde moram é prestado por uma única concessionária, a Companhia de Eletricidade Luz S.A. Há uma semana, o casal vem sofrendo com as contínuas e injustificadas interrupções na prestação do serviço pela concessionária, o que já acarretou a queima do aparelho de televisão e da geladeira, com a perda de todos os alimentos nela contidos. O casal pretende ser indenizado. Nesse caso, à luz do princípio da vulnerabilidade previsto no Código de Proteção e Defesa do Consumidor, assinale a afirmativa que esteja de acordo.

A) Prevalece o entendimento jurisprudencial no sentido de que a vulnerabilidade no Código do Consumidor é sempre presumida, tanto para o consumidor pessoa física, Maria e Manoel, quanto para a pessoa jurídica, no caso, o Condomínio Vila Feliz, tendo ambos direitos básicos à indenização e à inversão judicial automática do ônus da prova.

B) A doutrina consumerista dominante considera a vulnerabilidade um conceito jurídico indeterminado, plurissignificativo, sendo correto afirmar que, no caso em questão, está configurada a vulnerabilidade fática do casal diante da concessionária, havendo direito básico à indenização pela interrupção imotivada do serviço público essencial.

C) É dominante o entendimento no sentido de que a vulnerabilidade nas relações de consumo é sinônimo exato de hipossuficiência econômica do consumidor. Logo, basta ao casal Maria e Manoel demonstrá-la para receber a integral proteção das normas consumeristas e o consequente direito básico à inversão automática do ônus da prova e à ampla indenização pelos danos sofridos.

D) A vulnerabilidade nas relações de consumo se divide em apenas duas espécies: a jurídica ou a científica e a técnica. Aquela representa a falta de conhecimentos jurídicos ou outros pertinentes à contabilidade e à economia, e esta, à ausência de conhecimentos específicos sobre o serviço oferecido, sendo que sua verificação é requisito legal para inversão do ônus da prova a favor do casal e do consequente direito à indenização.

E) No sistema das relações de consumo reguladas pelo Código de Defesa do Consumidor, a identificação de que existe um elo mais fraco na relação traduz o reconhecimento da transparência.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

O aço no edifício

A estrutura de estabilização da moldura estrutural da edificação da figura a seguir, que é formada por paredes rígidas, feitas de aço, concreto ou alvenaria de concreto armado, pode ser chamada de:



A) Estrutura contraventada.

B) Moldura amarrada excentricamente.

C) Moldura resistente a momentos.

D) Paredes de cisalhamento.

E) Nenhuma das alternativas anteriores.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Estrutura e propriedade dos materiais

O carbono é um elemento que existe em várias formas polimórficas e também no estado amorfo.

A figura a seguir representa, respectivamente, quais estruturas desse elemento?



A) Uma célula unitária para a estrutura cristalina da grafita e a estrutura do diamante.

B) Uma estrutura de um sólido cristalino de carbono simples e a estrutura do diamante.

C) Uma célula unitária para a estrutura cúbica do diamante e a estrutura da grafita.

D) A estrutura de uma célula de carbono da grafita e a estrutura cristalina do diamante.

E) A estrutura da grafita e uma célula unitária para a estrutura cristalina cúbica do diamante.
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Revit Python Shell

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 24 usuários muito felizes estudando em nosso site.