Trimble
PDF Export RSS - Latest News


Import av IFC med teksturer

Denne oppskriften viser hvordan man lager en konverteringsregel for IFC, der informasjon i fila brukes som nøkler i konverteringen, eller mappes til egenskaper, som materiale og tekstur. Vi kan konvertere alle egenskapene vi finner i fila og få de inn på objektene i modellen, men i dette eksempelet tar vi kun for oss materiale og tekstur.

<note tip> I konverteringen vil trolig ikke IFC-objekttype gi et godt nok skille på hva de forskjellige objektene representerer, men en IFC-fil inneholder mange andre klassifiseringer og egenskaper på objektene som kan brukes i konverteringen.

  • Vi bruker Name for å konvertere til en objekt
  • Vi bruker Material for å tilordne et materiale, og senere en tekstur

Et poeng her er å standarisere i hvert fall én eller to egenskaper i programmet man lager fila i, for å kunne gjenbruke konverteringsregelen. </note>

I eksempelet skal vi importere en IFC-fil (kan lastes ned for testing selv her) av en brukonstruksjon. Dersom man skal lage konverteringsregler for IFC, kan det være lurt å skaffe seg et program som fungerer som gratis viewer av IFC-filer, feks Solibri Model Viewer. Dette trenger vi for å få en oversikt over hvilke egenskaper de forskjellige objektene har.

Når vi lager konverteringsregelen skal vi sette opp en Regular Expression i konverteringen, som er en programerings-syntax som beskriver en eller flere strenger som passer når du søker i en tekst. Vi kan dermed søke etter alle objekter som har tekststrengen “Søyle” i navnet, og konvertere til objektet Søyle.

Start import-verktøyet på vanlig måte, og velg IFC-filen som skal leses inn.

Trykk på Velg regler.

I dialogen som kommer opp, trykk på Ny…, og fyll inn et navn i neste dialog, og sett Kilde kompabilitet = Eksakt.

Du kommer nå i dialogen for konverteringsregler. Trykk på Ny regel.

For dette eksempelet setter vi opp Kildens objekt = IfcObject, Objektets egenskap = nameValuePairList og Egenskapens sub-egenskap = Name. Under Verdi, trykk på * Edit Value….

Skriv inn Søyle under substring og trykk OK.

Det blir nå fylt ut en Regular Expression for tekststrengen “Søyle”. Sett også Resultat-objekt til Søyle. Det vil si at dersom tekststrengen “Søyle” finnes noe sted i IFC-navnet, så vil det bli mappet til objekt Søyle. I og med at IFC-navnet til søylen i fila er “Søyle Betong Sirkulær:ø1500:642773”, vil da dette “fanges opp”, og bli konvertert til Søyle.

I vårt eksterne IFC viewer-program, trykk så på de andre objektene, og se om du finner noe i navnet som kan brukes. Vi finner dette for rekkverksstolpe og fundament. Dermed bruker vi samme metode som over for disse.

For Landkar og Bjelke finner vi ingen egenskap vi kan bruke, hverken i Name, ei heller noen andre steder i egenskaper. Her må vi lese ut navnet spesifikt for disse objektene.

For de to bjelkene bruker vi hhv. tekststrengene “Generic Models 19” og “Generic Models 20”.

For de to landkarene bruker vi hhv. tekststrengene “Generic Models 36” og “Generic Models 37”.

Trykker vi på bruflaten, ser vi at vi ikke har noe vi kan bruke fra Name (selv om vi kan bruke “Generic Models 3”, slik som vi gjorde over). Trykker vi på Identity Data, finner vi Mark = Brubane Nord. Tekststrengen “Brubane” kan vi bruke for å konvertere til objektet Bruflate.

Samme med rekkverk. Trykker vi på Identity Data, finner vi feks Workset = 87220000_Kjøresterkt-rekkverk-i-stål. Tekststrengen “rekkverk” kan vi bruke for å konvertere til objektet Rekkverk.

Sett da opp slik:

Vi har satt opp en konvertering for alt fra IFC-filen til forskjellige objekter i modellen, og kan nå ta for oss å sette opp teksturer.

Informasjon om teksturer kan vi hente fra Constraints og ProsesskodeLag (kan evt hentes fra Identity Data og Workset).

Velg å vise Egenskapskonvertering pr objekt (markert med gult i bildet under).

Vi legger først til egenskapen constructionMaterial for Søyle, som vi henter fra navnet (nameValuePairList) under Constraints.ProsesskodeLag. Sett opp slik bildet under viser.

Trykk på kobling-knappen helt til høyre i raden for constructionMaterial. Vi setter så opp en mapping. Sett opp slik bildet viser, med Regular Expression du skriver inn selv (/.*xxxxx.*/i). I dette tilfellet, dersom “Betong” finnes et sted i lagnavnet, vil constructionMaterial settes opp som Betong[1].

Tilsvarende legger vi til egenskapen textureName for Søyle, som vi også henter fra navnet (nameValuePairList) under Constraints.ProsesskodeLag. Sett opp slik bildet under viser.

Trykk på kobling-knappen helt til høyre i raden for textureName. Vi setter så opp en mapping. Sett opp slik bildet viser, med Regular Expression du skriver inn selv (/.*xxxxx.*/i). I dette tilfellet, dersom “Betong” finnes et sted i ProsesskodeLag-navnet, vil textureName settes opp som T_Concrete01, osv…

Man kan også sette opp flere mappinger til teksturer her. Alle tilgjengelige teksturer som kan mappes, finnes under innstallasjonen:

C:\Program Files\Vianova\Novapoint\<versjon>\Configuration\Textures

Gjør så det samme for konvertering av Rekkverksstolpe. Her brukes egenskapene guardRailPostMaterial og textureName. Sett opp slik bildet under viser.

Fortsett og gjør samme mapping for resten av objektene. TextureName går igjen for alle objektene, men navnet på egenskapen for mapping av materiale vil variere noe avhengig av objekt. For Fundament heter det generalMaterialTypes, for Landkar og Bruflate heter det bridgeMaterial, mens Bjelke og Rekkverk har constructionMaterial, altså samme som vi satt opp for Søyle.

Trykk OK i konverteringsregel-dialogen, og velg så konverteringsregelen ved fullføring av importen.

Nå kan vi se å resultatet i 3D. Vi må velge tegneregelen Default, da denne støtter teksturering. Sluttresultatet blir slik:

no/np/base/faq/import_ifc_with_textures.txt · Last modified: 2017/10/16 09:51 by vn_no_jko