IFC-testimuunnin

Ideoita ohjelman jatkokehitykseen
Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

IFC-testimuunnin

Viesti Kirjoittaja mikko » 28 Maalis 2019, 18:10

3D-Test versiossa 6.5.1.7 (viewtopic.php?f=10&t=445) on mukana alustava IFC-lukumuunnin. Kyseessä on hyvin yksinkertainen prototyyppiversio, jolla on tarkoitus hieman kartoittaa mitä noista IFC-tiedostoista haluttaisiin saada irti. Muunnin perustuu tällä hetkellä avoimeen IfcPlusPlus-kirjastoon (https://github.com/ifcquery/ifcplusplus), mutta tämä saattaa jatkossa muuttua. Se missä muodossa muunnin viralliseen 3D-Winiin tulee, jos tulee, on vielä täysin auki.

Koska maanrakennuspuolella IFC-tiedostot ovat käytännössä kaikki jonkinlaisia siltoja, muunninta ei juuri muilla ole testattu. IFC:n tulevien versioiden ja laajennosten (geometriat, infra) käsittelyyn ei ole vielä olemassa mitään suunnitelmia.

Muunnin toimii kuin mikä tahansa formaatinmuunnin. Se lisätään vektorimuunninlistaan funktiolla IfcTest. Muunninkohtaisia asetuksia sillä ei toistaiseksi ole, mutta yleiset muunninasetukset toimivat kuten muissa vektorimuuntimissa. Kirjoitusmuunninta ei ole, eikä todennäköisesti ikinä tule olemaankaan.

Muunnin lukee IFC-tiedoston kohteista muodostetun mallin kolmiot kolmen pisteen taiteviivoiksi. Viivan koodiksi tulee alkuperäisen IFC-kohteen nimi (esim. KANSILAATTA tai SUOJAPUTKI) ja numeroksi alkuperäisen kohteen tunnus. Kaikki samaan kohteeseen kuuluvat viivat saavat siis saman viivanumeron. Tätä voidaan hyödyntää myöhemmin tulkkauksessa.

Kaikki kohteeseen kuuluvat viivat saavat myös alkuperäisen kohteen ominaisuustiedot. Näitä ei toistaiseksi käytetä mihinkään, mutta ne näkyvät viivojen editoinnissa. Koodeissa ja ominaisuuksissa olevien skandimerkkien käsittelyssä on tällä hetkellä jotain häiriötä. IfcPlusPlus-kirjaston nykyisessä versiossa peräkkäiset skandimerkit muuttuvat joksikin yhdeksi erikoismerkiksi. Tämä siis on jo tiedossa ja selvitys työn alla.

Koska IFC-tiedostot ovat yleensä aika isoja, tiedoston luvun jälkeen sieltä kannattaa ensimmäisenä poistaa tarpeettomat kohteet. Nämä riippuvat hieman käyttötarkoituksesta, mutta usein esimerkiksi betoniraudoituksia ei tarvita. Tiedosto kannattaa jakaa osiin 3D-Winin elementtilistaan koodin T3 mukaan toiminnolla Tiedosto / Elementit / Jaa osiin. Sen jälkeen voi aineistoa tutkia taso kerrallaan ja poistaa turhat elementit.

IFC-tiedostoja voi katsella 3D-malli-ikkunassa. Tätä varten ikkuna on käynnistettävä valikon toiminnolla Ikkuna / 3D asetukset. Sieltä valitaan kohta Pintatasot ja painetaan suorita. Mallia voi katsella eri suunnista, mutta muuta toiminnallisuutta siellä ei vielä ole.

Tässä muodossa IFC-tiedostoista ei vielä ole paljon iloa, mutta aputoiminnoilla niistä voidaan tulkata viivoja. Tästä lisää seuraavassa viestissä.

Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

IFC-tiedostojen tulkkaus

Viesti Kirjoittaja mikko » 28 Maalis 2019, 18:12

3D-Test version 6.5.1.7 aputoimintolistassa (Työkalut / Aputoiminnot) on kaksi uutta toimintoa: Putkien keskilinjat ja Palkkien reunaviivat. Näillä voidaan 3D-malleista hakea pyöreiden kohteiden keskilinjoja ja vierekkäisten palkkien yhteisiä reunalinjoja.

Toiminnot on tehty IFC-mallien tulkkausta varten, mutta ne toimivat myös muilla formaateilla luettuihin kohteisiin. Esimerkiksi CAD-tiedostoissa voi olla 3D-mallinnettuja putkia, josta tarvitaan keskilinja.

Putkien keskilinjat

Toiminto hakee pyöreiden kohteiden keskilinjat. Kohteen tyypillä ei ole merkitystä, vaan se voi olla putki, kaivo, pilari, porareikä tai mikä tahansa muu putkimainen pyöreä kohde. Vaatimuksena on, että kaikilla saman kohteen viivoilla on sama viivanumero.

Toiminto kysyy ensin parametrina putken leveyden ja pituuden välisen suhdeluvun. Tällä suodatetaan kohteesta ensin pois lyhyet poikittaiset viivat. Jäljelle jääneet pitkittäiset viivat ryhmitellään kulkusuunnan mukaan ja jos samansuuntaisia vierekkäisiä viivoja on enemmän kuin 12, niiden keskilinja lasketaan keskiarvona. Systeemi ei ole täysin aukoton, mutta suurin osa perustapauksista toimii, mukaan lukien taitteiksi pätkityt kaarevat putket.

Lasketut keskilinjat saavat kenttään T1 arvon "center", jonka perusteella ne voidaan hakea. Laittamalla pisteryhmällä niiden piirtotietoon sopivat arvot ne erottuvat putkien keskellä:

Kuva

Toiminto ei ei automaattisesti yhdistä peräkkäisiä keskilinjoja, mutta sen voi tehdä viivatyökalulla Yhdistä viivat (Editointi / Viivat / Työkalut).

Palkkien reunaviivat

Toiminto hakee vierekkäisten kohteiden yhteiset reunalinjat ja toimii esimerkiksi palkkien ja pintamallien kanssa. Vaatimuksen kohteilla on oltava sama koodi T3.

Ensin kysytään vierekkäisten kohteiden välinen maksimietäisyys. Yhdistäminen tapahtuu, jos kahden viivan päiden välinen etäisyys on pienempi kuin annettu raja ja viivojen kulkusuunta sama riittävällä tarkkuudella (tällä hetkellä noin 8 astetta). Tämä toleranssi mahdollistaa hieman kaareutuvien pintamallien reunojen löytämisen.

Lasketut linjat saavat kenttään T1 arvon "edge", jolla ne voidaan hakea ryhmään ja visualisoida piirtotiedolla:

Kuva

Usein kohteisiin muodostuu myös tarpeettomia poikittaisia yhdistelmäviivoja, mutta ne voidaan jälkeen päin poistaa esimerkiksi viivan pituuden perusteella.

Yleistä

Nämä toiminnot ovat alustavia testiversioita ja niitä saa kokeilla omalla vastuulla. Mitään virallista tukea ei tarjota, mutta kehitysehdotuksia ja vikailmoituksia voi lähettää tähän viestiketjuun.

Jos on välttämätöntä lahettää jokin testiaineisto, niin älkää missään tapauksessa lähettäkö jotain satojen megatavujen kokoista IFC-tiedostoa, vaan irroittakaan siitä se oleellinen ongelmakohta. Mitä pienempi sitä parempi. Mitään nopeaa korjausta ongelmiin ei luvata, mutta koetetaan jalostaa toimintoja paremmaksi sitä mukaan kun ehditään.

Vastaa Viestiin