Categorias
Notícias

Por dentro do arquivo IFC

No Solare, sempre recomendamos aos arquitetos e arquitetas que utilizem softwares livres para desenvolver seus projetos e preferencialmente escolham formatos baseados em texto puro para salvar seus trabalhos. Essa prática garante não só a acessibilidade futura dos projetos, mesmo se o software ou formato original deixar de existir ou ser suportado, mas também permite interações diversas com esses arquivos, como a utilização de Python ou outras linguagens de script.

Para projetos que empregam BIM, o formato mais recomendado é o IFC (Industry Foundation Classes). O IFC é para a construção civil o que o HTML é para páginas web, armazenando informações essenciais do projeto. A vantagem do IFC é que ele é baseado em texto, facilitando sua manipulação e compatibilidade com diferentes softwares.

Para ilustrar como é simples a estrutura de um arquivo IFC, vejamos um exemplo: um arquivo que descreve uma parede de 5 metros de comprimento, 2.9 metros de altura e 15 centímetros de espessura.

ISO-10303-21;
HEADER;
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('parede.ifc','2023-11-10T16:49:18',('',''),(''),'IfcOpenShell 0.6.0b0','IfcOpenShell 0.6.0b0','');
FILE_SCHEMA(('IFC4'));
ENDSEC;
DATA;
#1=IFCPERSON($,$,'',$,$,$,$,$);
#2=IFCORGANIZATION($,'',$,$,$);
#3=IFCPERSONANDORGANIZATION(#1,#2,$);
#4=IFCAPPLICATION(#2,'0.20 build 2','FreeCAD','118df2cf_ed21_438e_a41');
#5=IFCOWNERHISTORY(#3,#4,$,.ADDED.,1699634958,#3,#4,1699634958);
#6=IFCDIRECTION((1.,0.,0.));
#7=IFCDIRECTION((0.,0.,1.));
#8=IFCCARTESIANPOINT((0.,0.,0.));
#9=IFCAXIS2PLACEMENT3D(#8,#7,#6);
#10=IFCDIRECTION((0.,1.,0.));
#12=IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#13=IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#14=IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#15=IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#16=IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#17=IFCMEASUREWITHUNIT(IFCPLANEANGLEMEASURE(0.017453292519943295),#16);
#18=IFCCONVERSIONBASEDUNIT(#12,.PLANEANGLEUNIT.,'DEGREE',#17);
#19=IFCUNITASSIGNMENT((#13,#14,#15,#18));
#20=IFCDIRECTION((0.,1.));
#21=IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-05,#9,#20);
#22=IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#21,$,.MODEL_VIEW.,$);
#23=IFCPROJECT('2OwStELvjC19bGWiF_j0NS',#5,'Unnamed',$,$,$,$,(#21),#19);
#24=IFCDIRECTION((1.,0.));
#25=IFCCARTESIANPOINT((4.01154803819637E-18,1.62630325872826E-19));
#26=IFCAXIS2PLACEMENT2D(#25,#24);
#27=IFCRECTANGLEPROFILEDEF(.AREA.,'rectangular',#26,5,0.15);
#28=IFCEXTRUDEDAREASOLID(#27,#9,#7,2.9);
#29=IFCCOLOURRGB($,1.,1.,1.);
#30=IFCSURFACESTYLERENDERING(#29,$,$,$,$,$,$,$,.FLAT.);
#31=IFCSURFACESTYLE($,.BOTH.,(#30));
#32=IFCPRESENTATIONSTYLEASSIGNMENT((#31));
#33=IFCSTYLEDITEM(#28,(#32),$);
#34=IFCLOCALPLACEMENT($,#9);
#35=IFCSHAPEREPRESENTATION(#22,'Body','SweptSolid',(#28));
#36=IFCPRODUCTDEFINITIONSHAPE($,$,(#35));
#37=IFCWALL('2$9GOAtCH6owDYwTccAW0S',#5,'Wall','',$,#34,#36,$,.MOVABLE.);
#38=IFCSITE('2wpTdUHmvC99qjTiFKOlgv',#5,'Default Site','',$,$,$,$,.ELEMENT.,$,$,$,$,$);
#39=IFCRELAGGREGATES('30WV3isEj3bx_ugZ9O$K0f',#5,'ProjectLink','',#23,(#38));
#40=IFCBUILDING('1hKfKBAFvFGO5AKJSfL5GE',#5,'Default Building','',$,$,$,$,.ELEMENT.,$,$,$);
#41=IFCRELAGGREGATES('2DFtjzXMXEvesTm7iwherY',#5,'SiteLink','',#38,(#40));
#42=IFCBUILDINGSTOREY('0Hu0idqD15k8gkDoewqLOz',#5,'Default Storey','',$,$,$,$,.ELEMENT.,$);
#43=IFCRELAGGREGATES('0qAbhjE4bFjw75qHv3fLww',#5,'DefaultStoreyLink','',#40,(#42));
#44=IFCRELCONTAINEDINSPATIALSTRUCTURE('3lZowqaQ11LBzG3dq$zw01',#5,'UnassignedObjectsLink','',(#37),#42);
ENDSEC;
END-ISO-10303-21;

Este texto, quando copiado e colado em um bloco de notas e salvo com a extensão .ifc, pode ser importado em softwares como Revit, Blender BIM ou FreeCAD, demonstrando a versatilidade e acessibilidade do formato.

Observe que as dimensões da parede são descritas nessas linhas:

  • #27=IFCRECTANGLEPROFILEDEF(.AREA.,’rectangular’,#26,5,0.15)
  • #28=IFCEXTRUDEDAREASOLID(#27,#9,#7,2.9)

No final de cada linha temos comprimento e espessura das linhas 5 e 0.15. A última linha tem a altura de 2.9 metros.

Embora na prática não se digite um projeto inteiro em um bloco de notas, a simplicidade do formato IFC é seu grande destaque. O formato é simples de acessar, mas complexo para gerar com base em texto. Softwares como FreeCAD e Blender BIM podem ser usados para a modelagem 3D de elementos arquitetônicos, salvando-os em formato IFC. No Solare, inclusive, oferecemos um curso específico sobre FreeCAD, focando em como modelar em 3D para arquitetura e salvar os projetos em IFC.

Atualmente, os mais populares editores de arquivos IFC são FreeCAD e Blender BIM. Ambos utilizam o módulo Python ifcOpenShell, uma biblioteca especializada na criação deste tipo de texto. Este módulo converte modelos 3D em texto no formato IFC, mostrando como um arquivo IFC, mesmo de uma parede simples com as dimensões citadas, pode ser facilmente gerado e manipulado.

Deixe uma resposta

Descubra mais sobre Solare

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo