Langue de programmation d'un fichier .ifc
OzE
-
OzE -
OzE -
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
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
1 réponse
-
Bonjour,
Et quelles informations dois tu extraire ?
-
-
-
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 -
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 -
-