Você está aqui: Revit C# ::: Dicas & Truques ::: Paredes - Walls |
Como criar paredes no Revit usando a função Create() da classe Wall da Revit C# APIQuantidade de visualizações: 465 vezes |
|
Nesta dica mostrarei como podemos criar uma nova parede no Revit usando a API C# do Revit. Para isso usaremos a função Create() da classe Wall e forneceremos uma referência ao documento atual, a linha geométrica, o id do nível no qual a nova parede será inserida e informaremos se a parede será do tipo parede estrutural. Em outras dicas no site eu mostrei como podemos pesquisar um nível no documento Revit e retornar o seu id. Revise estas dicas caso tiver dúvidas a respeito disso. Nesse exemplo eu coloquei o id do nível como um inteiro fixo e o usei para criar um novo ElementId. A linha geométrica para posicionar a parede foi criada a partir de dois elementos XYZ, com suas coordenadas x, y e z. Finalmente, após a criação da nova parede nós exibiremos o seu id. Se a parede não puder ser criada o id -1 (ElementId.InvalidElementId) é retornado para nos avisar de que a operação não foi bem sucedida. A versão da função Create() da classe Wall que usei neste exemplo vai usar o tipo padrão de parede, a saber, o Parede básica Generic - 200mm. Veja o código Revit C# completo para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.DB.Structure;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
namespace Estudos {
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.
TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("ED8EC6C4-9489-48F7-B04E-B45B5D1BEB12")]
public partial class ThisApplication {
private void Module_Startup(object sender, EventArgs e) {
// vamos obter uma referência ao Document ativo
Document doc = this.ActiveUIDocument.Document;
// o primeiro passo é obter o id do nível no qual a parede
// vai ser colocada
ElementId id_nivel = new ElementId(694);
// agora criamos a linha geométrica na qual a parede será
// alinhada
XYZ ponto_a = new XYZ(0, 0, 0);
XYZ ponto_b = new XYZ(50, 0, 0);
// criamos a linha
Curve linha = Line.CreateBound(ponto_a, ponto_b) as Curve;
// iniciamos a transação
Transaction transacao = new Transaction(doc);
transacao.Start("Criação de paredes no Revit");
// finalmente criamos a parede usando o tipo de
// parede padrão
Wall parede = Wall.Create(doc, linha, id_nivel, false);
// fazemos o commit da transação
transacao.Commit();
// a parede foi criada com sucesso?
if (parede.Id != ElementId.InvalidElementId) {
TaskDialog.Show("Aviso", "A nova parede foi criada com o ID " +
parede.Id.ToString());
}
else {
TaskDialog.Show("Aviso", "Não foi possível criar a parede");
}
}
private void Module_Shutdown(object sender, EventArgs e) {
// para fazer alguma limpeza de memória ou algo assim
}
#region Revit Macros generated code
private void InternalStartup() {
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
}
}
Ao executar este código Revit C# API nós teremos o seguinte resultado: [Uma nova parede é desenhada nas coordenadas indicadas] A nova parede foi criada com o ID 5281 |
|
|
Veja mais Dicas e truques de Revit C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






