InfaBIM - RAK koodimuunnos

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

InfaBIM - RAK koodimuunnos

Viesti Kirjoittaja mikko » 29 Marras 2018, 15:26

Versiossa 6.5.0 ohjelmaan tuli mukaan uusi ominaisuuksien muunnostiedosto, joka mahdollistaa erilaisten ominaisuusyhdistelmien pakkaamisen yhdeksi koodiksi ja purkamisen takaisin ominaisuuksiksi. Tätä voidaan käyttää muuntamaan InfraModel -tiedostojen ominaisuudet maastokäyttöön sopiviksi rakentajakoodeiksi (RAK).

Muunnostiedostoa voidaan 3D-Winissä käyttää suoraan valikon toiminnolla Editointi / Ominaisuudet / Kooditaulukko. Se voidaan myös automatisoida suorittettavaksi aina formaatinmuunnoksen yhteydessä. Asetus muunnostiedostolle löytyy muuntimen asetussivulta.

Muunnostiedoston dokumentointi löytyy wikistä: http://www.3d-system.net/wiki/index.php ... ostiedosto

Koodausjärjestelmät ja käytännöt eivät vielä ole vakiintuneet eli systeemi on kehitysvaiheessa. Alustava versio tukee vain putkiverkkoja, mutta sitä laajennetaan aina tarpeen mukaan. Jos ja kun muunnoksesta löytyy ongelmia, niin niistä voi ilmoittaa joko tähän viestiketjuun tai suoraan sähköpostilla minulle: mikko@3d-system.fi. Päivitän tiedostoa ja tätä vietiketjua sen mukaan.

Viimeisin versio on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... im_rak.exc

Tiedosto muuntaa vasemmalta oikealle InfraModel-ominaisuuksista RAK-koodeiksi ja oikealta vasemmalle toiseen suuntaan.

Rakentajakoodaus

RAK-koodaus on Liikenneviraston mittauskoodeihin ja InfraBIM-nimikkeistöön perustuva maastokoodaus, jossa joidenkin kohteiden ominaisuudet on pakattu maastossa helpommin käytettäviksi koodeiksi. Pakkaus koskee lähinnä putkia ja kaapeleita. Muiden kohteiden koodaus on enimmäkseen Liikenneviraston koodauksen mukaista.

3D-Win kooditiedosto on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... _v.2.3.dat

RAK-koodauksessa erotellaan suunnittelu- ja mittauskoodit. Koodit ovat muuten samoja, mutta suunnittelukoodin alussa on kirjain D. Esimerkkisi 121 = Tien keskilinja / D121 = Tien keskilinja(suunniteltu). Näiden välillä voidaan tarvittaessa vaihtaa seuraavalla yksinkertaisella muunnostiedostolla:

Koodi: Valitse kaikki

[rak-drak]
T3=1§,*;T3!=D*;T3>=120  T3=D&,D*
*,                      *,
Vasemmalta oikealla muunnos täsmää kaikkiin koodeihin, jotka eivät ala kirjaimella D ja ovat numeroarvoltaan vähintään 120. Näiden alkuun lisätään D. Toiseen suuntaan kaikista D-kirjaimella alkavista koodeista poistetaan ensimmäinen kirjain. Viimeinen rivi täsmää kaikkiin molemmissa suunnissa, eikä muunna mitään. Sen tarkoitus on vain eliminoida varoitukset koodeista, joita ei muunneta.

Muunnostiedosto on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... k_drak.exc

InfraModel

InfraModel-tiedostot ovat LandXML-muotoisia tiedostoja, joissa putkiverkot ovat PipeNetwork-osiossa. Kaivot kuvataan Struct-rakenteissa ja niiden väliset putket Pipe-rakenteissa. Kullakin kaivolla ja putkella on yksilöllinen nimi, joihin toiset rakenteet viittaavat. 3D-Win lukee kaivot pisteinä ja putket taiteviivoina, mutta ei muodosta keskinäisistä viitauksista alkuperäisen kaltaista topologiaa. Tästä johtuen luettua putkiverkkoa ei voida kirjoittaa takaisin LandXML-tiedostoon.

Koodi: Valitse kaikki

<PipeNetwork name="Hulevesi" pipeNetType="storm">
  <Structs>
    <Struct name="4" elevRim="13.50" elevSump="11.68" state="proposed">
      <Center>6671772.096 25482523.677</Center>
      <CircStruct diameter="0.800" desc="Hv 31" material="betoni"/> 
      <Invert refPipe="2" elev="11.70" flowDir="in"/>
      <Invert refPipe="120" elev="11.77" flowDir="in"/>
      <Invert refPipe="247" elev="11.96" flowDir="in"/>
      <Invert refPipe="365" elev="11.68" flowDir="out"/>
      <Feature code="IM_struct" source="inframodel">
        <Property label="structLabel" value="Hv 31"/>
        <Property label="rimDiameter" value="0.600"/>
      </Feature>
    </Struct>
    ... 
  </Structs>
  <Pipes>
    <Pipe name="2" refStart="3" refEnd="4" length="32.675 slope="8.6319">
      <CircPipe diameter="0.315" material="muovi" thickness="0.000"/>
      <Feature code="IM_pipe" source="inframodel">
        <Property label="elevType" value="vesijuoksu"/> 
        <Property label="pipeStart" value="6671778.820 25482491.417 14.510"/>
        <Property label="pipeEnd" value="6671772.178 25482523.285 11.700"/>
      </Feature>
    <Feature code="IM_coding" source="inframodel"/>
  </Pipe>
  ...
LandXML-rakenteiden mukaiset pisteiden ja viivojen ominaisuudet on nimetty yhdistämällä rakenteen ja yksittäisen ominaisuuden nimet. Esimerkiksi pyöreän kaivon halkaisija yhdistää rakenteen CircStruct ja ominaisuuden diameter pisteen ominaisuudeksi CircStructDiameter tai putken materiaali yhdistää rakenteen CircPipe ja ominaisuuden material viivan ominaisuudeksi CircPipeMaterial. InfraModel-määrityksen laajennokset ovat Property-rakenteessa ja ne saavat eteensä nimiavaruuden IM. Esimerkiksi kannen halkaisija rimDiameter muuttuu pisteen ominaisuudeksi IM:rimDiameter. Kaivojen kannen korkeus on ominaisuudessa StructElevRim, josta se voidaan siirtää Z-koordinaatiksi.

Tarkempi kuvaus muunnostiedostosta löytyy seuraavasta viestistä.

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

InfaBIM - RAK koodimuunnos 6.5.0

Viesti Kirjoittaja mikko » 29 Marras 2018, 15:28

Seuraavassa tarkempi kuvaus edellisessä viestissä esitellyn InfaBIM - RAK koodimuunnostiedoston toiminnasta. Tämä käsittelee muunnostiedoston vanhempaa versiota. Uudempi 3D-Win version 6.5.1 kanssa toimiva muunnostiedosto käsitellään seuraavassa viestissä.

3D-WIn version 6.5.0 kanssa toimiva versio on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... ak_650.exc

Muunnostiedosto koostuu useasta osasta. Ensimmäinen osio muuntaa kaivoille koodin 400 ja putkille koodin 409. Tarkempi tyyppi tallennetaan väliaikaiseen ominaisuuteen _TYPE.

Koodi: Valitse kaikki

[infra]
T3=311200,311???;#TYPE=POINT;_TYPE=             T3=400;_TYPE=J      ! jätevesikaivo
T3=IM_struct;StructPipeNetType=sanitary;_TYPE=  T3=400;_TYPE=J      ! jätevesikaivo
T3=311100,311???;#TYPE=LINE;_TYPE=              T3=409;_TYPE=J      ! jätevesiputki
T3=IM_pipe;PipePipeNetType=sanitary;_TYPE=      T3=409;_TYPE=J      ! jätevesiputki

T3=312200,312???;#TYPE=POINT;_TYPE=             T3=400;_TYPE=S      ! hulevesikaivo
T3=IM_struct;StructPipeNetType=storm;_TYPE=     T3=400;_TYPE=S      ! hulevesikaivo
T3=312100,312???;#TYPE=LINE;_TYPE=              T3=409;_TYPE=S      ! hulevesiputki
T3=IM_pipe;PipePipeNetType=storm;_TYPE=         T3=409;_TYPE=S      ! hulevesiputki

T3=313200,313???;#TYPE=POINT;_TYPE=             T3=400;_TYPE=V      ! vesijohtokaivo
T3=IM_struct;StructPipeNetType=water;_TYPE=     T3=400;_TYPE=V      ! vesijohtokaivo
T3=313100,313???;#TYPE=LINE;_TYPE=              T3=409;_TYPE=V      ! vesijohto
T3=IM_pipe;PipePipeNetType=water;_TYPE=         T3=409;_TYPE=V      ! vesijohto

T3=143200,143???;#TYPE=POINT;_TYPE=             T3=400;_TYPE=SO     ! salaojakaivo
StructPipeNetType=other;_TYPE=                  T3=400;_TYPE=SO     ! salaojakaivo
T3=143500,143400;#TYPE=LINE;_TYPE=              T3=409;_TYPE=R      ! rumpu
T3=143100,143???;#TYPE=LINE;_TYPE=              T3=409;_TYPE=SO     ! salaojaputki
PipePipeNetType=other;_TYPE=                    T3=409;_TYPE=SO     ! salaojaputki
*,                                              *,
Yleinen koodi selkeyttää käsittelyä myöhemmissä osioissa. Tyyppi haetaan ensisijaisesti InfraBIM-koodista (esim T3=311200) tai sen puuttuessa verkon tyypistä (esim. PipePipeNetType=sanitary).

Seuraavisssa osioissa asetetaan kaivon numero ja korkeus sekä kannen tyyppi. Tästä eteenpäin myös tarkistetaan koodit ja tehdään muunnokset vain koodeilla 400 ja 409.

Koodi: Valitse kaikki

[id]
IM:structLabel=$T4,*;T3=400                     T4=$IM:structLabel,*;T3=400
*,                                              *,

[rimheight]
StructElevRim=#Z,*;T3=400                       #Z=$StructElevRim,*;T3=400
*,                                              *,

[rimtype]
IM:rimType=$_RIM,*;T3=400;_RIM=,*               _RIM=$IM:rimType,*,;T3=400
*,                                              *,
Kaivon numero siirretään ominaisuudesta IM:structLabel kenttään T4 ja korkeus haetaan ominaisuudesta StructElevRim. Kannen typpi siirretään suoraan väliaikaiseen ominaisuuteen _RIM.

Seuraavaksi haetaan kohteiden halkaisijat ja materiaalit ominaisuuksiin DIAMETER ja MATERIAL. Materiaali haetaan InfraModel-ominaisuudesta ja InfraBIM-koodin mahdollisesti sisältämä materiaalitieto ohitetaan.

Koodi: Valitse kaikki

[material]
CircStructMaterial=$MATERIAL,*;T3=400           MATERIAL=$CircStructMaterial,*;T3=400
CircPipeMaterial=$MATERIAL,*;T3=409             MATERIAL=$CircPipeMaterial,*;T3=409
*,                                              *,

[diameter]
CircStructDiameter=$DIAMETER%e-3.3,*;T3=400     DIAMETER=$CircStructDiameter%e3.0,*;T3=400
CircPipeDiameter=$DIAMETER%e-3.3,*;T3=409       DIAMETER=$CircPipeDiameter%e3.0,*;T3=409
*,                                              *,
Alkuperäiset metriset halkaisijat muunnetaan tässä vaiheessa millimetreiksi.

Osioissa [rakpipemat] ja [rakpipe] muodostetaan putkien koodit. Aluksi muunnetaan materiaali väliaikaiseen ominaisuuteen _MAT ja sitten yhdistetään lopullinen koodi tyypin (_TYPE), halkaisijan (DIAMETER) ja materiaalin (_MAT) mukaan.

Koodi: Valitse kaikki

[rakpipemat]
MATERIAL=muovi,PVC,PEH;T3=409                   _MAT=M;T3=409
MATERIAL=betoni;T3=409                          _MAT=B;T3=409
MATERIAL=teräs,teras;T3=409                     _MAT=T;T3=409
MATERIAL=,*;T3=409                              _MAT=;T3=409
*,                                              *,

[rakpipe]
_TYPE=J;_MAT=;T3=409                                    T3=429;_TYPE=
_TYPE=S;_MAT=;T3=409                                    T3=439;_TYPE=
_TYPE=V;_MAT=;T3=409                                    T3=419;_TYPE=
_TYPE=*;DIAMETER=*;_MAT=*;T3=409                        T3=¤_TYPE;T3=&$DIAMETER;T3=&¤_MAT
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=$T3[-1:];T3=409   T3=J???,J????,J?????,S???,S????,S?????,V???,V????
_TYPE=$T3[:1];DIAMETER=;;_MAT=$T3[-1:]T3=409            T3=J?,S?,V?
*,                                                      *,
Erilaiset muovit (muovi, PVC, PEH) muuntuvat kaikki samaksi materiaaliksi M.

Viimeisessä osiossa muunnetaan kaivojen koodit tyypin (_TYPE) ja kannen (_RIM) mukaan.

Koodi: Valitse kaikki

[rakwell]
_TYPE=V;_RIM=umpi;T3=400                    T3=411;_TYPE=;_RIM=
_TYPE=V;T3=400                              T3=410;_TYPE=;_RIM=
_TYPE=J;_RIM=umpi;T3=400                    T3=421;_TYPE=;_RIM=
_TYPE=J;T3=400                              T3=420;_TYPE=;_RIM=
_TYPE=S;_RIM=umpi;T3=400                    T3=431;_TYPE=;_RIM=
_TYPE=S;T3=400                              T3=430;_TYPE=;_RIM=
_TYPE=SO;T3=400                             T3=461;_TYPE=;_RIM=
*,                                          *,
Muunnos toimii pääosin myös toiseen suuntaan. RAK-koodi palastellaan osiin ja osat muunnetaan takaisin InfraModel-ominaisuuksiksi. Lopputulos ei ole välttämättä sama kuin alkuperäinen, koska muunnoksessa joudutaan tekemään kompromisseja.

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

InfaBIM - RAK koodimuunnos 6.5.1

Viesti Kirjoittaja mikko » 21 Tammi 2019, 16:58

3d-Win versiossa 6.5.1 tuli koodimuunnostiedoston käsittelyyn joitain uusia ominaisuuksia. Tämä uusi InfaBIM - RAK -muunnostiedosto käyttää näitä ominaisuuksia ja tarvitsee siis vähintään version 6.5.1.

Muunnostiedoston uudessa versiossa mukaan tulivat InfraModel-määrittelyn uudet verkkotyypit: districtheating, districtcooling, gas ja waste transport piping. Lisäksi on parannettu eri materiaalien käsittelyä.

3D-WIn version 6.5.1 kanssa toimiva versio on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... ak_651.exc

Muunnostiedosto koostuu useasta osasta. Ensimmäinen osio muuntaa kaivoille koodin 400 ja putkille koodin 409. Putkiverkon tyyppi tallennetaan väliaikaiseen ominaisuuteen _TYPE.

Koodi: Valitse kaikki

[infrawell]
!@LeftRule:_TYPE=;#TYPE=POINT
!@RightRule:T3=400

T3=311200,311???;StructPipeNetType=sanitary,*                   _TYPE=J     ! jätevesikaivo
T3=312200,312???;StructPipeNetType=storm,*                      _TYPE=S     ! hulevesikaivo
T3=143200,143???;StructPipeNetType=storm,*                      _TYPE=SO    ! salaojakaivo
T3=313200,313???;StructPipeNetType=water,*                      _TYPE=V     ! vesijohtokaivo
T3=341400,3414??;StructPipeNetType=districtheating,*            _TYPE=L     ! kaukolämpökaivo
T3=342400,3424??;StructPipeNetType=districtcooling,*            _TYPE=A     ! kaukojäähdytyskaivo
T3=344400,3444??;StructPipeNetType=gas                          _TYPE=M     ! maakaasukaivo
T3=361200,3612??;StructPipeNetType="waste transport piping",*   _TYPE=IJ    ! imujätekaivo

StructPipeNetType=sanitary                      _TYPE=J     ! jätevesikaivo
StructPipeNetType=storm                         _TYPE=S     ! hulevesikaivo
StructPipeNetType=water                         _TYPE=V     ! vesijohtokaivo
StructPipeNetType=districtheating               _TYPE=L     ! kaukolämpökaivo
StructPipeNetType=districtcooling               _TYPE=A     ! kaukojäähdytyskaivo
StructPipeNetType=gas                           _TYPE=M     ! maakaasukaivo
StructPipeNetType="waste transport piping"      _TYPE=IJ    ! imujätekaivo
*,                                              *,

[infrapipe]
!@LeftRule:_TYPE=;#TYPE=LINE
!@RightRule:T3=409

T3=311100,311???;PipePipeNetType=sanitary,*                 _TYPE=J     ! jätevesiputki
T3=312100,312???;PipePipeNetType=storm,*                    _TYPE=S     ! hulevesiputki
T3=143500,143400;PipePipeNetType=storm,*                    _TYPE=R     ! rumpu
T3=143100,143???;PipePipeNetType=storm,*                    _TYPE=SO    ! salaojaputki
T3=313100,313???;PipePipeNetType=water,*                    _TYPE=V     ! vesijohto
T3=341100,3411??;PipePipeNetType=districtheating,*          _TYPE=L     ! kaukolämpöputki
T3=342100,3421??;PipePipeNetType=districtcooling,*          _TYPE=A     ! kaukojäähdytysputki
T3=344200,3442??;PipePipeNetType=gas,*                      _TYPE=M     ! maakaasuputki (jakelu)
T3=344000,344???;PipePipeNetType=gas,*                      _TYPE=MK    ! maakaasuputki
T3=361100,3611??;PipePipeNetType="waste transport piping",* _TYPE=IJ    ! imujäteputki

PipePipeNetType=sanitary                        _TYPE=J     ! jätevesiputki
PipePipeNetType=storm                           _TYPE=S     ! hulevesiputki
PipePipeNetType=water                           _TYPE=V     ! vesijohto
PipePipeNetType=districtheating                 _TYPE=L     ! kaukolämpöputki
PipePipeNetType=districtcooling                 _TYPE=A     ! kaukojäähdytysputki
PipePipeNetType=gas                             _TYPE=M     ! maakaasuputki
PipePipeNetType="waste transport piping"        _TYPE=IJ    ! imujäteputki
*,                                              *,
Yleinen koodi selkeyttää käsittelyä myöhemmissä osioissa. Tyyppi haetaan ensisijaisesti InfraBIM-koodista (esim T3=311200). Sen puuttuessa käytetään verkon tyyppiä (esim. PipePipeNetType=sanitary tai &lt;Property label="pipeNetworkType" value="gas"/&gt;).

Seuraavisssa osioissa asetetaan kaivon numero ja korkeus sekä kannen tyyppi. Tästä eteenpäin myös tarkistetaan koodit ja tehdään muunnokset vain koodeille 400 ja 409.

Koodi: Valitse kaikki

[id]
IM:structLabel=$T4,*;T3=400                     T4=$IM:structLabel,*;T3=400
*,                                              *,

[rimheight]
StructElevRim=#Z,*;T3=400                       #Z=$StructElevRim,*;T3=400
*,                                              *,

[rimtype]
IM:rimType=$_RIM,*;T3=400;_RIM=,*               _RIM=$IM:rimType,*,;T3=400
*,                                              *,

[elevtype]
*,                                              !*,
IM:elevType="crown level";T3=409                _TYPE=L,A,M,MK;T3=409
IM:elevType="invert level";T3=409               T3=409
*,                                              *,
Kaivon numero siirretään ominaisuudesta IM:structLabel kenttään T4 ja korkeus haetaan ominaisuudesta StructElevRim. Kannen typpi siirretään suoraan väliaikaiseen ominaisuuteen _RIM. Putkien kartoituskorkeuden IM:elevType oletusarvo asetetaan muunnettaessa oikealta vasemmalle RAK-koodeista InfraModel-muotoon.

Seuraavaksi haetaan kohteiden paksuudet, halkaisijat ja materiaalit ominaisuuksiin THICKNESS, DIAMETER ja MATERIAL. Materiaali haetaan InfraModel-ominaisuudesta ja InfraBIM-koodin mahdollisesti sisältämä materiaalitieto ohitetaan.

Koodi: Valitse kaikki

[thickness]
CircPipeThickness=$THICKNESS%e-3.4,*;T3=409     THICKNESS=$CircPipeThickness%e3.1,*;T3=409
*,                                              *,

[material]
CircStructMaterial=$MATERIAL,*;T3=400           MATERIAL=$CircStructMaterial,*;T3=400
CircPipeMaterial=$MATERIAL,*;T3=409             MATERIAL=$CircPipeMaterial,*;T3=409
*,                                              *,

[diameter]
CircStructDiameter=$DIAMETER%e-3.3,*;T3=400     DIAMETER=$CircStructDiameter%e3.0,*;T3=400
CircPipeDiameter=$DIAMETER%e-3.3,*;T3=409       DIAMETER=$CircPipeDiameter%e3.0,*;T3=409
*,                                              *,
Alkuperäiset metriset halkaisijat muunnetaan tässä vaiheessa millimetreiksi. Paksuus ei vaikuta RAK-koodaukseen.

Osioissa [rakpipemat] ja [rakpipe] muodostetaan putkien koodit. Aluksi muunnetaan materiaali väliaikaiseen ominaisuuteen _MAT ja sitten yhdistetään lopullinen koodi tyypin (_TYPE), halkaisijan (DIAMETER) ja materiaalin (_MAT) mukaan.

Koodi: Valitse kaikki

[rakpipemat]
!@ConvertRule:T3=409

MATERIAL=muovi,PVC,PEH                          _MAT=M
MATERIAL=betoni                                 _MAT=B
MATERIAL=teräs,teras                            _MAT=T
MATERIAL=other,*                                _MAT=X,*,
*,                                              *,

[rakpipe]
!@LeftRule:T3=409
!@RightRule:_TYPE=;_MAT=

_TYPE=J;_MAT=                                   T3=429
_TYPE=S;_MAT=                                   T3=439
_TYPE=V;_MAT=                                   T3=419
_TYPE=V;DIAMETER=*,;_MAT=*                      T3=V;T3=&$DIAMETER;T3=&M
_TYPE=L;_MAT=                                   T3=449
_TYPE=L;DIAMETER=*;_MAT=*                       T3=L;T3=&$DIAMETER;T3=&L
_TYPE=A;_MAT=                                   T3=459
_TYPE=A;DIAMETER=*;_MAT=*                       T3=A;T3=&$DIAMETER;T3=&L
_TYPE=MK                                        T3=MK
_TYPE=M;DIAMETER=                               T3=MKJ
_TYPE=M;DIAMETER=*                              T3=M;T3=&$DIAMETER;T3=&J
_TYPE=IJ;DIAMETER=                              T3=IJ
_TYPE=*;DIAMETER=;_MAT=*                        T3=$_TYPE;T3=&$_MAT
_TYPE=*;DIAMETER=*;_MAT=*                       T3=$_TYPE;T3=&$DIAMETER;T3=&$_MAT
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=$T3[-1:]  T3=J???,J????,J?????,S???,S????,S?????,V???,V????
_TYPE=$T3[:2];DIAMETER=$T3[2:-1];_MAT=$T3[-1:]  T3=IJ????
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=T         T3=L???,L????,L?????,A???,A????,A?????,M???,M????
_TYPE=$T3[:1];DIAMETER=;_MAT=$T3[-1:]           T3=J?,S?,V?
*,                                              *,
Erilaiset muovit (muovi, PVC, PEH) muuntuvat kaikki samaksi materiaaliksi M. Joissain putkityypeissä (esim. vesi ja kaukolämpö) ei RAK-koodissa ole mukana materiaalia, vaan koodin lopussa on jokin vakiokirjain. Muissa tyypeissä tuntemattomat materiaalit muuttuvat kirjaimeksi X, jota ei RAK-koodauksessa virallisesti ole.

Viimeisessä osiossa muunnetaan kaivojen koodit tyypin (_TYPE) ja kannen (_RIM) mukaan.

Koodi: Valitse kaikki

[rakwell]
!@LeftRule:T3=400
!@RightRule:_TYPE=;_RIM=

_TYPE=V;_RIM="solid cover",umpi                 T3=411
_TYPE=V                                         T3=410
_TYPE=J;_RIM="solid cover",umpi                 T3=421
_TYPE=J                                         T3=420
_TYPE=S;_RIM="solid cover",umpi                 T3=431
_TYPE=S                                         T3=430
_TYPE=L                                         T3=441
_TYPE=A                                         T3=451
_TYPE=IJ                                        T3=455
_TYPE=SO                                        T3=461
*,                                              *,
Muunnos toimii pääosin myös toiseen suuntaan. RAK-koodi palastellaan osiin ja osat muunnetaan takaisin InfraModel-ominaisuuksiksi. Lopputulos ei ole välttämättä sama kuin alkuperäinen, koska muunnoksessa joudutaan tekemään kompromisseja.

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

InfaBIM - RAK koodimuunnos 6.5.1

Viesti Kirjoittaja mikko » 15 Maalis 2019, 18:04

Laitetaanpa tästä muunnostiedostosta uusi versio jakoon, kun siihen on kertynyt enemmänkin muutoksia.

3D-WIn version 6.5.1 kanssa toimiva versio on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... ak_651.exc

Alkuperäinen InfraBIM koodi kopioidaan alussa InfraBIM-nimiseen ominaisuuteen:

Koodi: Valitse kaikki

[infrabim]
T3=*,                                           InfraBIM=$T3,*,                 !! alkuperäinen koodi
Rummuiksi tunnistetaan sekä 1435?? että 1434??, kun näitä molempia näyttää aineistoissa olevan:

Koodi: Valitse kaikki

[infrawell]
T3=143500,1435??;StructPipeNetType=storm,*                      _TYPE=R         !! rumpu
T3=143400,1434??;StructPipeNetType=storm,*                      _TYPE=R         !! rumpu (väärä koodi?)
Pelkkään putkiverkon tyyppiin perustuvat muunnokset on nyt kommentoitu pois:

Koodi: Valitse kaikki

[infrawell]
!! tunnistus verkon tyypin mukaan ilman InfraBIM-koodausta
!! StructPipeNetType=sanitary                                   _TYPE=J         !! jätevesikaivo
!! StructPipeNetType=storm                                      _TYPE=S         !! hulevesikaivo
!! StructPipeNetType=water                                      _TYPE=V         !! vesijohtokaivo
!! StructPipeNetType=districtheating                            _TYPE=L         !! kaukolämpökaivo
!! StructPipeNetType=districtcooling                            _TYPE=A         !! kaukojäähdytyskaivo
!! StructPipeNetType=gas                                        _TYPE=M         !! maakaasukaivo
!! StructPipeNetType="waste transport piping"                   _TYPE=IJ        !! imujätekaivo

[infrapipe]
!! tunnistus verkon tyypin mukaan ilman InfraBIM-koodausta
!! PipePipeNetType=sanitary                                     _TYPE=J         !! jätevesiputki
!! PipePipeNetType=storm                                        _TYPE=S         !! hulevesiputki
!! PipePipeNetType=water                                        _TYPE=V         !! vesijohto
!! PipePipeNetType=districtheating                              _TYPE=L         !! kaukolämpöputki
!! PipePipeNetType=districtcooling                              _TYPE=A         !! kaukojäähdytysputki
!! PipePipeNetType=gas                                          _TYPE=M         !! maakaasuputki
!! PipePipeNetType="waste transport piping"                     _TYPE=IJ        !! imujäteputki
Jätin nuo sinne varmuuden vuoksi, jos joskus tulee vastaan putkivekkoja jollain muulla koodauksella.

Lisätty putken numeron haku pipeLabel-ominaisuudesta:

Koodi: Valitse kaikki

[id]
IM:structLabel=$T4,*;T3=400                     T4=$IM:structLabel,*;T3=400     !! kaivon tunnus
IM:pipeLabel=$T2,*;T3=409                       T2=$IM:pipeLabel,*;T3=409       !! putken tunnus
Lisätty kaivon materiaali ja paksuus:

Koodi: Valitse kaikki

[thickness]
CircStructThickness=$THICKNESS%e-3.4,*;T3=400   THICKNESS=$CircStructThickness%e3.1,*;T3=400    !! kaivon materiaalin paksuus
CircPipeThickness=$THICKNESS%e-3.4,*;T3=409     THICKNESS=$CircPipeThickness%e3.1,*;T3=409      !! putken materiaalin paksuus

[rakwellmat]
MATERIAL=muovi,PVC,PEH,PEL,PEM,PE,PP            _MAT=M
MATERIAL=betoni                                 _MAT=B
MATERIAL=teräs,teras                            _MAT=T
MATERIAL=other,*                                _MAT=X,*,
Noissa materiaalien nimissä tuntuu olevan hieman sekavuuksia. Ne eivät välttämättä ole virallisen listan mukaisia ja skandimerkkien käyttö on kirjavaa. Tiedostossa on nyt mukana yleisimmät vastaan tulleet versiot.

Lopullisen putkikoodin muodostamiseen on lisätty uusia tyyppejä:

Koodi: Valitse kaikki

[rakpipe]
_TYPE=J;_MAT=                                   T3=429
_TYPE=S;_MAT=                                   T3=439
_TYPE=AO;_MAT=                                  T3=140
_TYPE=V;_MAT=                                   T3=419
_TYPE=V;DIAMETER=*,;_MAT=R,T                    T3=V;T3=&$DIAMETER;T3=&ST                               !! rauta tai teräs -> suojaputki
_TYPE=V;DIAMETER=*,;_MAT=*                      T3=V;T3=&$DIAMETER;T3=&$_MAT                            !! muut vesiputken materiaalit
_TYPE=L;_MAT=                                   T3=449
_TYPE=L;DIAMETER=*;_MAT=*                       T3=L;T3=&$DIAMETER;T3=&L
_TYPE=A;_MAT=                                   T3=459
_TYPE=A;DIAMETER=*;_MAT=*                       T3=A;T3=&$DIAMETER;T3=&L
_TYPE=MK                                        T3=MK
_TYPE=M;DIAMETER=                               T3=MKJ
_TYPE=M;DIAMETER=*                              T3=M;T3=&$DIAMETER;T3=&J
_TYPE=IJ;DIAMETER=                              T3=IJ
_TYPE=*;DIAMETER=;_MAT=*                        T3=$_TYPE;T3=&$_MAT
_TYPE=*;DIAMETER=*;_MAT=*                       T3=$_TYPE;T3=&$DIAMETER;T3=&$_MAT
_TYPE=$T3[:1];DIAMETER=$T3[1:-2];_MAT=T         T3=V??ST,V???ST,V????ST,S??ST,S???ST,S????ST            !! suojaputki (1+*+ST)
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=$T3[-1:]  T3=J???,J????,J?????,S???,S????,S?????,V???,V????       !! jätevesi, hulevesi, talousvesi (1+*+1)
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=$T3[-1:]  T3=R???,R????,R?????                                    !! rumpu (1+*+1)
_TYPE=$T3[:2];DIAMETER=$T3[2:-1];_MAT=$T3[-1:]  T3=IJ????,SO???,SO????                                  !! imujäte, salaoja (2+*+1)
_TYPE=$T3[:1];DIAMETER=$T3[1:-1];_MAT=T         T3=L???,L????,L?????,A???,A????,A?????,M???,M????       !! kaukolämpö, jäähdytys, maakaasu (1+*+T)
_TYPE=$T3[:1];DIAMETER=;_MAT=$T3[-1:]           T3=J?,S?,V?                                             !! jätevesi, hulevesi, talousvesi (1+1)
Kaivojen kansityyppien käsittelyä on laajennettu:

Koodi: Valitse kaikki

[rakwell]
_TYPE=V;_RIM="solid cover",umpi                 T3=411
_TYPE=V                                         T3=410
_TYPE=J;_RIM="solid cover",umpi                 T3=421
_TYPE=J                                         T3=420
_TYPE=S;_RIM="side inlet",kita                  T3=433
_TYPE=S;_RIM=grate,ritilä,ritila                T3=432
_TYPE=S;_RIM="solid cover",umpi                 T3=431
Kansityypeissä näyttää myös olevan vastaavia termi- ja skandiongelmia kuin materiaaleissa.

Loppuun on lisätty epästandardi laajennos kaivojen koodaukselle:

Koodi: Valitse kaikki

[rakwellDiaMat]
T3=4??;DIAMETER=*;_MAT=*                        T3=&$_MAT;T3=&$DIAMETER
T3=4??;DIAMETER=*                               T3=&X;T3=&$DIAMETER
T3=4??;_MAT=*                                   T3=&$_MAT
DIAMETER=;_MAT=$T3[-1:];T3=$T3[:3]              T3=4???                                 !! kaivo ja materiaali (3+1)
DIAMETER=$T3[4:];_MAT=$T3[3:4];T3=$T3[:3]       T3=4???,4????,4?????,4??????,4???????   !! kaivo, materiaali ja halkaisija (3+1+*)
Koska RAK-koodauksessa ei ole kaivojen koodeissa mukana materiaalia ja halkaisijaa, tuo laajennos lisää ne kaivon koodille. Esimerkiksi halkaisijaltaan metrinen betoninen jätevesikaivo saa koodin 421B1000. Näiden ei pitäisi mennä sekaisin putkien koodien kanssa, koska koodin osien järjestys on erilainen.

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

InfaBIM - RAK koodimuunnos 6.5.2

Viesti Kirjoittaja mikko » 10 Touko 2019, 10:49

Versiossa 6.5.2 tuli mukaan mahdollisuus määritellä muunnostiedostoon osioita joista suoritetaan aina jokainen rivi. Nämä annetaan aaltosuluissa ja yksinkertaistavat aineiston normalisointia esimerkkisi skadimerkkian osalta. Kokonaisia osioita voidaan myös helposti kommentoida pois laittamalla kommenttimerkki osion nimen eteen.

Muunnostiedoston dokumentointi on päivitetty: http://www.3d-system.net/wiki/index.php ... ostiedosto

Viimeisin versio on ladattavissa täältä: http://www.3d-system.net/files/wiki/muu ... im_rak.exc

Skandimerkkien normalisointi tapahtuu nyt yhdessä osiossa:

Koodi: Valitse kaikki

{scandic}
MATERIAL=teras,teräs                            MATERIAL=teras,teräs
_RIM=ritila,ritilä                              _RIM=ritila,ritilä
Tiedostoon on lisätty myös ylimääräisiä !] kommenteja osioiden loppuun:

Koodi: Valitse kaikki

[rimtype]
IM:rimType=$_RIM,*;T3=400;_RIM=,*               _RIM=$IM:rimType,*,;T3=400      !! kaivon kannen tyyppi
*,                                              *,                              !]
Näillä ei ole merkitystä muunnoksen kannalta, mutta niiden avulla voidaan rajata osio niin, että tekstieditorien syntaksiväritys osaa näyttää kommentoidun osion eri värillä. Tästä lisää myöhemmin erikseen.

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

InfaBIM - RAK koodimuunnos 6.5.3

Viesti Kirjoittaja mikko » 26 Marras 2019, 13:25

Lisäsin koodimuunnostiedostoon alustavan kaivojen muunnoksen Infra_Rakentajakoodaus_v.2.3.dat kooditiedoston mukaan.

Kaivot on siellä koodattu seitsemän numeron mittaisella koodilla, joka alkaa aina nelosella. Toinen numero kertoo kaivon tyypin (jäte, hule, ...), kolmas kaivon materiaalin (betoni, muovi, ...), neljäs kannen tyypin (umpi, ritilä, ...) ja kolme viimestä numeroa kaivon halkaisijan sentteinä. Näyttäisi pätevän suurimpaan osaan koodeista.

Uudet osiot ovat tiedoston lopussa:

Koodi: Valitse kaikki

[rakwellMat]
!@ LeftRule:T3=400

_TYPE=V;_MAT=B                                  T3=411
_TYPE=V;_MAT=M                                  T3=412
_TYPE=V                                         T3=41?
_TYPE=J;_MAT=B                                  T3=421
_TYPE=J;_MAT=M                                  T3=422
_TYPE=J                                         T3=42?
_TYPE=S;_MAT=B                                  T3=431
_TYPE=S;_MAT=M                                  T3=432
_TYPE=S                                         T3=43?
_TYPE=L;_MAT=B                                  T3=441
_TYPE=L;_MAT=M                                  T3=442
_TYPE=L                                         T3=44?
*,                                              *,                          !]

[rakwellRim]
_RIMTYPE="solid cover",umpi;_RIMMAT=betoni;T3=4??           T3=&1
_RIMTYPE="solid cover",umpi;_RIMMAT=betoni;T3=$T3[:3]       T3=4??1
_RIMTYPE="solid cover",umpi;_RIMMAT=valurauta;T3=4??        T3=&2
_RIMTYPE="solid cover",umpi;_RIMMAT=valurauta;T3=$T3[:3]    T3=4??2
_RIMTYPE=grate,ritila;T3=4??                                T3=&3
_RIMTYPE=grate,ritila;T3=$T3[:3]                            T3=4??3
_RIMTYPE="side inlet",kita;T3=4??                           T3=&4
_RIMTYPE="side inlet",kita;T3=$T3[:3]                       T3=4??4
_RIMTYPE="atrium grate",kupu;T3=4??                         T3=&5
_RIMTYPE="atrium grate",kupu;T3=$T3[:3]                     T3=4??5
*,                                                          *,              !]

[rakwellDia]
!@ RightRule:_TYPE=;_MAT=;_RIMTYPE=;_RIMMAT=

DIAMETER=*;T3=4???                                      T3=&$DIAMETER%e-1.0@3=0
DIAMETER=1075;T3=$T3[:4]                                T3=4???107
DIAMETER=1125;T3=$T3[:4]                                T3=4???112
DIAMETER=1325;T3=$T3[:4]                                T3=4???132
DIAMETER=$T3[4:];DIAMETER=$DIAMETER%e1.0;T3=$T3[:4]     T3=4??????
*,                                                      *,                  !]
Osio rakwellMat muuntaa kaivon tyypin ja materiaalin, osio rakwellRim muuntaa kannen tyypin ja osio rakwellDia kaivon halkaisijan. Vanhaan tapaan muunnos toimii kahteen suuntaan eli oikealta vasemmalle muuntuu rakentajakoodi infrabim-koodiksi.

Samalla tieodoston alkuun tuli muutama lisäys, joilla jätevesikaivojen materiaali siirtyy infrabim-koodiin:

Koodi: Valitse kaikki

[infrawell]
!@ LeftRule:#TYPE=POINT
!@ RightRule:T3=400

T3=311210;StructPipeNetType=sanitary,*                          _TYPE=J;MATERIAL=muovi  !! jätevesikaivo
T3=311220,311230;StructPipeNetType=sanitary,*                   _TYPE=J;MATERIAL=betoni !! jätevesikaivo
T3=311200,311???;StructPipeNetType=sanitary,*                   _TYPE=J                 !! jätevesikaivo
Luettaessa infrabim-koodattuja tiedostoja (vasemmalta oikealle -muunnos), käytetään tätä materiaalia, mutta jos InfraModel-tiedostossa on erikseen materiaaliominaisuus, se ylikirjoittaa koodissa olleen materiaalin.

Täytyy vielä tutkia nuo muut kaivotyypit ja niiden materiaalien koodaus. Jos niissä toimii sama logiikka, niin lisään ne sinne jossain vaiheessa.

Muunnostiedoston viimeisin versio: http://www.3d-system.net/files/wiki/muu ... im_rak.exc

Infra rakentajakoodauksen kooditiedosto: http://www.3d-system.net/files/wiki/muu ... _v.2.3.dat

Vastaa Viestiin