Langue de programmation d'un fichier .ifc

Fermé
OzE - Modifié par baladur13 le 27/09/2016 à 12:04
 OzE - 27 sept. 2016 à 11:01
Bonjour,
Je souhaiterai avoir des informations sur la méthode à utiliser pour décoder un fichier .ifc
J'ai un programme en C# à développer ou je dois extraire des informations, plus précisément des références d'un fichier .ifc
Pour information un fichier .ifc est un fichier de modélisation 3D lisible par exemple avec Tekla BIMSIGHT.
Quand j'utilise Notepad++ le contenu est compréhensible mais n'a aucun sens...

Petit extrait :
"
#11= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.E-005,#10,$);
#12= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#11,$,.MODEL_VIEW.,$);
#13= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#11,$,.GRAPH_VIEW.,$);
#14= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#15= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#16= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#17= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#18= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#19= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#20= IFCSIUNIT(*,.SOLIDANGLEUNIT.,$,.STERADIAN.);
#21= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.DEGREE_CELSIUS.);
#22= IFCSIUNIT(*,.LUMINOUSINTENSITYUNIT.,$,.LUMEN.);
#23= IFCUNITASSIGNMENT((#14,#15,#16,#17,#18,#19,#20,#21,#22));
#24= IFCPROJECT('0_ZltUQFLCnwYyOAl2YzH8',#5,'Nom société supprimé Modération CCM',$,$,$,$,(#11),#23);
#25= IFCLOCALPLACEMENT($,#10);
#26= IFCSITE('1NeOVRH8n8reTUjd4UdfVu',#5,'Undefined',$,$,#25,$,$,.ELEMENT.,$,$,0.,$,$);
#27= IFCPOSTALADDRESS($,$,$,$,('adresse supprimée Modération CCM '),$,$,$,$,$);
#28= IFCLOCALPLACEMENT(#25,#10);
#29= IFCBUILDING('1VumufuVbAeQkuhu2ZkF41',#5,'Undefined',$,$,#28,$,$,.ELEMENT.,$,$,#27);
#30= IFCLOCALPLACEMENT(#28,#10);
#31= IFCBUILDINGSTOREY('2H_XItf6j9PguFiZOl0TWf',#5,'Undefined',$,$,#30,$,$,.ELEMENT.,0.);
#32= IFCCARTESIANPOINT((-10046.3611343998,-3282.37715562454,-25514.9999999964));
#33= IFCDIRECTION((-0.0052082629990911,0.999986436906287,0.));
#34= IFCDIRECTION((0.999986436906288,0.00520826299904682,0.));
#35= IFCAXIS2PLACEMENT3D(#32,#33,#34);
#36= IFCLOCALPLACEMENT(#30,#35);
#37= IFCCOLOURRGB('Dark Red',0.698039215686274,0.2,0.301960784313725);
#38= IFCSURFACESTYLERENDERING(#37,0.,$,$,$,$,IFCNORMALISEDRATIOMEASURE(0.00390625),IFCSPECULAREXPONENT(10.),.NOTDEFINED.);
#39= IFCSURFACESTYLE('STEEL/S355JR',.POSITIVE.,(#38));
#40= IFCPRESENTATIONSTYLEASSIGNMENT((#39));
#41= IFCCARTESIANPOINT((5.93609001953155E-008,3.,-237.999999998754));
#42= IFCCARTESIANPOINT((5.93681761529297E-008,3.,238.000000001352));
#43= IFCCARTESIANPOINT((9730.00000008809,3.,238.00000000149));
#44= IFCCARTESIANPOINT((9730.00000008808,3.,-237.999999998616));
#45= IFCPOLYLOOP((#41,#42,#43,#44));
#46= IFCFACEOUTERBOUND(#45,.T.);
#47= IFCFACE((#46));
#48= IFCCARTESIANPOINT((5.93681761529297E-008,-3.,238.000000001352));
#49= IFCCARTESIANPOINT((9730.00000008809,-3.,238.00000000149));
#50= IFCPOLYLOOP((#42,#48,#49,#43));
#51= IFCFACEOUTERBOUND(#50,.T.);
#52= IFCFACE((#51));
#53= IFCCARTESIANPOINT((5.93609001953155E-008,-3.,-237.999999998754));
#54= IFCCARTESIANPOINT((9730.00000008808,-3.,-237.999999998616));
#55= IFCPOLYLOOP((#48,#53,#54,#49));
#56= IFCFACEOUTERBOUND(#55,.T.);
#57= IFCFACE((#56));
#58= IFCPOLYLOOP((#53,#41,#44,#54));
#59= IFCFACEOUTERBOUND(#58,.T.);
#60= IFCFACE((#59));
"
Merci à vous d'avance du coup de pouce

A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
27 sept. 2016 à 10:01
Bonjour,
Et quelles informations dois tu extraire ?

0
Le fichier contient l'implantation d'un bâtiment est je recherche les références des poutres à l'intérieur car une poutre contient entre 1 et 10 références de sous-assemblage
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > OzE
27 sept. 2016 à 10:26
Oui... mais... tu sais quels lignes dans ton fichier correspondent à ce que tu veux extraire ?
0
Non, malheureusement je n'ai aucune idée ou je peux trouver les références sinon je l'aurais déjà extraite :)
Je cherche justement à comprendre le code afin de retrouver les références. La difficultés c'est quelle ne sont pas écrite noir sur blanc quand on ouvre le fichier avec Notepad++. Mais je suis sur quelles sont dedans car en l'ouvrant avec un fichier de modélisation 3D elles apparaissent.

Info :
Le fichier fait environ 19000 lignes
Type de fichier ISO-10303 STEP model data
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > OzE
27 sept. 2016 à 10:39
Là il ne nous sera pas possible de t'aider à extraire des données en C#.. si tu ne sais pas lesquelles tu dois prendre....
Le fichier IFC est un fichier qu'on pourrait voir comme un fichier de "description".
Les références sont certainement "codées" en utilisant des références à des objets ..... le logiciel ayant surment une table de correspondance .... genre 1NeOVRH8n8reTUjd4UdfVu c'est la référence d'un site.......

http://www.unit.eu/cours/bim/u13/co/u13_060_13-1-4.html
0
La méthode pour extraire en C# je la maîtrise c'est la compréhension du fichier qu'il me manque pour faire l'extraction.
Pour le fichier description je suis plutôt d'accord. Le logiciel aurait les tables de correspondance en interne ?
0