PIAS Handleiding  2024
Programma voor de Integrale Aanpak van het Scheepsontwerp
Layout: ontwerp en gebruik van de scheepsindeling
Layout is de PIAS module waarmee de interne geometrie van het schip wordt vastgelegd, beheerd en gebruikt. Die interne geometrie kan vanzelfsprekend bestaan uit schotten, dekken, compartimenten en andere ruimtes, maar kan ook aanvullende gegevens bevatten, zoals de gewichtsgroep van de inhoud van een bepaald compartiment, of de peilpijpgeometrie. Een beschrijving van de achtergrond van Layout is o.a. te lezen in het Compit'11 paper, maar kort gezegd biedt Layout de volgende modelleringsmogelijkheden:

  • Opgeven van compartimenten d.m.v. compartimentsgrenzen.
  • Opgeven van doorlopende schotten en dekken, waartussen de compartimenten zich vormen.
  • Ondersteuning d.m.v. referentievlakken, waarnaar zowel compartimentscoördinaten als schotten en dekken kunnen refereren.
De eerste twee methodes zijn wederzijds converteerbaar, d.w.z. dat men zowel van schotten/dekken naar compartimenten kan converteren als vv. Layout biedt, kort gezegd, verder de volgende functies op het gebied van interne geonetrie:

  • Berekenen van tanktabellen, trimcorrectietabellen etc., in een variëteit van formaten.
  • Uitvoeren van een schematisch tankenplan en 3D aanzichten van compartimenten.
  • Definiëren van de layout van een 2D indelingsplan, en uitvoer daarvan naar papier, bitmap- of DXF-bestand. Dit indelingsplan kan fungeren als onderlaag van het algemeen plan.
  • Fungeren als server van interne geometrie, die antwoord kan geven op verzoeken van andere softwareapplicaties. Zo kan bijvoorbeeld de vorm van een dek of van een compartiment op verzoek aan andere (CAD-)software beschikbaar worden gesteld.
  • Import en export van de interne geometrie in XML-formaat.

Definities en basisconcepten

Definities

Vlak
Een vlak is oneindig, en kan elke stand in de ruimte hebben, kan dus ook schuin staan. Maar van een vlak is wel elke doorsnede recht, het kan dus niet gekromd of getordeerd zijn.
Fysiek vlak
Een fysiek vlak is een vlak wat begrensd kan zijn, en wat de scheiding tussen subcompartimenten vormt. In de regel worden fysieke vlakken gebruikt om schotten en dekken te modelleren.
Referentievlak
Een referentievlak is een vlak waaraan de maten van andere entiteiten gerefereerd kunnen worden. Het gebruik van referentievlakken kan handig zijn bij latere ontwerpwijzigingen, maar hun gebruik is niet verplicht.
Orthogonaal vlak
Een vlak wat in één van de drie hoofdrichtingen geöriënteerd is, dus een spantvlak, waterlijnvlak of verticalenvlak. Vlakken met een andere oriëntatie heten ‘schuine vlakken’.
Compartiment
Een compartiment is een afgesloten, vloeistofdichte ruimte in het schip; in een compartiment kan men dus water gieten zonder dat het daarbuiten komt. Er is qua modelleringswijze geen onderscheid tussen een nat compartiment, een droog compartiment, een ruim, een machinekamer of een afgesloten kampanjedek. Kortom, alles wat waterdicht is, is voor PIAS een compartiment. Een compartiment is opgebouwd uit één of meer subcompartimenten.
Subcompartiment
Een subcompartiment is een ‘logisch’ bouwblok van een compartiment. Een subcompartiment heeft geen fysieke betekenis, het concept is alleen geïntroduceerd om het voor mensen een beetje overzichtelijk te maken om een complex compartiment te definiëren. Een subcompartiment kan positief of negatief zijn, in het eerste geval wordt de subcompartimentsvorm opgeteld bij de anderen, in het tweede wordt het ervan afgetrokken. Een subcompartiment kan van drie verschillende types zijn, die hieronder worden toegelicht:
Met coördinaten
Een subcompartiment van het type ‘met coördinaten’ wordt simpelweg begrensd door ingetikte coördinaten (welke aan een referentievlak mogen refereren). De gebruiker is vrij om subcompartimenten van dit type overlappend te definiëren, of om er gaten tussen te laten bestaan. Een voorbeeld van dit type subcompartiment is afgebeeld in het plaatje hieronder, waar met vier coördinatenparen een moot schip is ‘uitgehakt’ die het subcompartiment vormt. Merk op dat de coördinaten best buiten de scheepsvorm mogen vallen, dat wordt voor dat gebied gewoon de scheepshuid of het dek genomen (nb. als men huid of dek als subcompartimentsbegrenzing wil dan is het zelfs beter om als begrenzing ∞ te gebruiken dan om precies de huid- of dekmaat op te geven, zie ook Afsnijden door de rompvorm).
Ruimte ontstaan tussen vlakken
Een subcompartiment van het type ‘ruimte ontstaan tussen vlakken’ valt samen met de ruimte die ontstaan is tussen fysieke vlakken. Dit soort compartimenten zijn uniek, en kunnen onderling niet overlappen.
Externe PIAS scheepsvorm
Een subcompartiment van het type ‘externe PIAS scheepsvorm’ (ook wel genoemd externe subcompartimenten) is bedoeld voor een subcompartiment wat te complex is voor één van de andere types, bijvoorbeeld omdat de begrenzing gekromd is, zoals bij een gastank. Zo'n subcompartiment kan men dan definiëren met een PIAS vormontwerp- of -definitiemodule, alsof het een gewone scheepsvorm is. Vervolgens wordt die ‘scheepsvorm’ als subcompartiment aangewezen, waarna het integraal meegenomen wordt in alle vervolgstappen en -berekeningen. Zie het voorbeeld hieronder, waar een veertig meter lange gastank is gedefinieerd als gewone PIAS scheepsvorm — met Hulldef of Fairway — en vervolgens is ‘gehangen’ in het schip met een lengteverplaatsing van twintig en hoogteverplaatsing van één meter, waarmee de gastank precies op z'n plaats komt.
Attentie
Uit deze definities volgt nog een belangrijk verschil tussen een subcompartiment van het type ‘ruimte ontstaan tussen vlakken’ en de overige types. Die overige types hebben namelijk hun geheel eigen vormdefinitie, die één geheel vormt met z'n niet-geometrische eigenschappen, zoals z'n naam en permeabiliteit. Maar een ruimte ontstaan tussen fysieke vlakken heeft zelf altijd een vorm, ook zonder dat daar een subcompartiment aan toegekend is. Normaliter is aan zo'n ruimte een subcompartiment van het type ‘ruimte ontstaan tussen vlakken’ toegekend, maar dat hoeft dus niet per se. Als er geen subcompartiment is toegekend aan zo'n ruimte dan wordt dat door het programma gerapporteerd als niet-toegekende ruimte. In de GUI zijn functies beschikbaar om zo'n ruimte toe te kennen aan dan wel los te koppelen van een subcompartiment. Dat laatste doet men heel eenvoudig door het subcompartiment weg te gooien uit de tree view, de ruimte tussen de fysieke vlakken blijft echter bestaan.
layout_coordssubcomp640_NL.png
Subcompartiment type ‘met coördinaten’.
layout_externcomp768.png
Subcompartiment type ‘externe PIAS scheepsvorm’.

Gebruik van de diverse soorten subcompartimenten

Er zijn drie soorten subcompartimenten, zoals hierboven gedefinieerd. Deze kunnen willekeurig door elkaar heen gebruikt worden, ook het gebruik van verschillende soorten subcompartimenten binnen één compartiment is toegestaan. Hoewel de gebruiker volkomen vrij is in de keuze van het type, zijn er toch enkele richtlijnen te geven:

  • Het gebruik van fysieke vlakken is handig, in de eerste plaats omdat daarmee veel sneller de systematische indeling gemaakt kan worden, en in de tweede plaats omdat daarmee de schotten en dekken expliciet bekend zijn, wat nuttig kan zijn bij vervolgwerkzaamheden of -computerapplicaties. De subcompartimenten die ontstaan tussen de vlakken zijn van het type ‘ruimte ontstaan tussen vlakken’, het woord zegt het al. Hoewel dit type subcompartiment dus in principe overal toegepast kan worden, is het misschien handig om de toepassing ervan te beperken tot de grotere ruimtes die begrensd worden door de primaire fysieke vlakken. Stel dat men bijvoorbeeld een brandstofdagtankje op deze manier zou willen definiëren, dan zou dat best kunnen, maar dan zou men ook eindigen met zes fysieke vlakjes. En bij een veelvoud aan zulke tankjes wordt het aantal fysieke vlakken dan heel groot, zo groot dat men het overzicht allicht kwijt kan raken. Zo'n tankje kan dan wellicht beter worden gedefinieerd als ‘met coördinaten’, eventueel gebruikmakend van referentievlakken zodat latere ontwerpwijzigingen sneller verwerkt worden.
  • Het type ‘met coördinaten’ kan overal gebruikt worden waar de subcompartimentsbegrenzing bestaat uit de scheepsvorm, in combinatie met (maximaal twaalf) begrenzende punten. Deze definitie is conceptueel simpel, hiermee kunnen trouwens ook overlappende subcompartimenten worden opgegeven, dat kan een voor- of een nadeel zijn, dat doet er nou even niet toe, maar men moet zich dit wel realiseren.
  • Het type ‘externe PIAS scheepsvorm’ is bedoeld voor subcompartimenten met niet-vlakke begrenzingen. Subcompartimenten met vlakke begrenzingen (die trouwens best schuin mogen staan) zijn handiger met een ander type te definiëren. Overigens worden subcompartimenten van het type ‘ruimte ontstaan tussen vlakken’ en ‘met coördinaten’ altijd afgesneden door de scheepsvorm, maar die van het type ‘externe PIAS scheepsvorm’ niet.

Naamgeving van compartimenten e.d.

Namen van (sub-)compartimenten, referentievlakken en fysieke vlakken kunnen 50 tekens lang zijn, waarbij alle zichtbare karakters zijn toegestaan. Compartimentsnamen moeten uniek zijn, op zich is dat niet een fundamenteel vereiste, maar om een compartimentsverzameling overzichtelijk te houden is toch besloten deze eis te stellen. Namen van fysieke vlakken hoeven niet uniek te zijn, het kan immers voorkomen dat er vlakken bestaan die verschillend zijn van vorm, maar die toch op dezelfde plaats staan, zodat men ze dezelfde naam kan geven. Of dat trouwens handig is is maar de vraag, maar dat moet men zelf maar beoordelen. Referentievlakken hebben oneindige afmetingen, zodoende hoeven er geen vlakken voor te komen die op dezelfde plaats staan, en kan dus de eis gesteld worden dat hun namen uniek zijn. Subcompartimentsnamen spelen alleen een rol binnen één compartiment, het is dus niet noodzakelijk dat ze een unieke naam hebben. Bij het kopieren van een (sub-)compartiment of referentievlak krijgt de kopie de naam van het origineel met daarbij de toevoeging ‘(kopie)’. Tenminste, als daar nog plaats voor is en als die naam niet al in gebruik is, anders behoudt de kopie z'n oorspronkelijke naam.

Verwijzen van subcompartimenten

Zoals vermeld bij de definitie van subcompartimenten kunnen deze positief of negatief zijn. Het hoeft helemaal niet, maar vaak wordt een positief en een negatief subcompartiment gebruikt om precies dezelfde ruimte te modelleren. Bijvoorbeeld een brandstof dagtank in de MK als positief subcompartiment, en precies dezelfde ruimte als negatief subcompartiment die van de MK wordt afgetrokken. In dergelijke gevallen kan het handig zijn om de vorm van dat subcompartiment niet twee keer te definiëren, maar slechts één keer, en dan de tweede daarnaar te laten verwijzen. Het voordeel hiervan is dat een geometriewijziging in het ene subcompartiment dan direct ook in het tweede is doorgevoerd.

Overigens geldt zo'n verwijzing alleen voor de vorm en de naam, niet voor de permeabiliteiten (μ). En daar is een goede reden voor, omdat de permeabiliteiten weleens kunnen verschillen, zoals in ons voorbeeld waar als de μ van de MK 85% bedraagt, die van het af te trekken subcompartiment ook 85% moet bedragen, omdat er anders meer volume wordt afgetrokken dan er ooit is opgeteld. Maar de μ van de brandstof dagtank is vanzelfsprekend 98% (of elke andere permabiliteit waar de gebruiker voor kiest).

Afsnijden door de rompvorm

Subcompartimenten van het type ‘met coördinaten’ en ‘ruimte ontstaan tussen vlakken’ kunnen worden opgegeven tot buiten de rompvorm, typisch tot plus of min ∞ (dat geeft men op door i.p.v. een getal een <O> resp. <-><O> te tikken, van oneindig, <I> mag trouwens ook, van infinite). In dat geval worden de aansnijdingen tussen subcompartiment en rompvorm automatisch bepaald. De rompvorm zelf kan zijn gedefinieerd d.m.v. spanten (met module Hulldef) of als solid model (met Fairway). In het laatste geval is een compleet vlakkenmodel van de romp beschikbaar waarmee elke subcompartimentsaansnijding gemaakt kan worden. Maar bij een spantmodel zijn er alleen spanten, daartussen zit niks. Nou is dat helemaal niet erg, PIAS kent (van oudsher) voldoende methodes om rekenkundig een adequate oplossing te bereiken, maar voor het tekenen moet het programma z'n toevlucht nemen tot interpolatie van een subcompartimentsvlak met die spanten. In het geval van een langsvlak, zoals een dek of langsschot, zullen er i.h.a. voldoende snijpunten tussen dat vlak en de spanten zijn, zodat een voldoende accurate snijlijn getekend kan worden. Maar bij schuinstaande schotten kan het wel eens zijn dat er heel weinig snijpunten aanwezig zijn met de spanten. Op zich kan de snijlijn best getekend worden op grond van deze snijpunten, maar omdat hun aantal laag is kan de nauwkeurigheid daarvan laag zijn. Hier kan men twee dingen aan doen, het eerste is de schouders erover ophalen, omdat het alleen het plaatje betreft, en niet de berekeningsresultaten, en het tweede is een meer complete definitie d.m.v. meer spanten, die bv. met Fairway snel gegenereerd kunnen worden.

Menu met eigenschappen van vlakken

layout_editplane.png
Menu met eigenschappen een vlak.

Op meerdere plaatsen in Layout kunnen eigenschappen van van een referentievlak of een fysiek vlak worden opgegeven in een tekstmenu, waarvan hierboven een voorbeeld is weergegeven. De hier weergegeven parameters zijn dezelfde als besproken in Fysieke vlakkenlijst. Als men hier op de cel ‘Absolute positie’ of ‘Relatieve positie’ de functie toets <F5> indrukt dan komt met in een uitgebreider popup menu met de geometrie van het vlak, zoals besproken in de volgende paragraaf.

Popupmenu geometrie van punten of vlakken

layout_vlakorientatie.png
Popupmenu met parameters van oriëntatie en positie van een vlak.

Op meerdere plaatsen in Layout kan de oriëntatie, dat is de stand en positie, van een vlak — fysiek vlak dan wel referentievlak — worden opgegeven middels een popup venster, waarvan hierboven een voorbeeld is weergegeven. Hier kan men invullen:

  • De positie in meters van het vlak (voor definitie en randvoorwaarden wordt verwezen naar Fysieke vlakkenlijst}.
  • De positie in spanten (als het een dwarsschot of dwarsvlak betreft).
  • Eventueel de relatieve positie, dat is de positie t.o.v. een referentievlak.
  • Als het vlak referentieel is opgegeven, dan kan het betreffende referentievlak worden gekozen in zo'n openklapbaar regeltje, hetzij op z'n afkorting (linkerveld) of op z'n volledige naam (rechterveld).
  • Als alternatief voor het browsen door de referentievlakkenlijst met die openklapbare regeltjes kan de functie [Zoek] worden gebruikt. Daartoe tikt men in het linkerregeltje de vlakafkoring in (dan wel in de rechter z'n volledige naam) en tikt op de [Zoek] knop.

Verder bevat dit window nog twee functies in de bovenbalk:

  • [Edit refvlak], om even naar het referentievlakkenmenu te springen, om nog even een referentievlak toe te voegen of aan te passen.
  • [anGled] om een orthogonaal schot of vlak te veranderen in een schuin vlak. Zie Opgeven van schuine vlakken voor meer details. Overigens is deze functie niet altijd beschikbaar, bijvoorbeeld bij het wijzigen van een referentievlak ontbreekt deze, omdat men anders een referentievlak zou kunnen omzetten van bv. dwars naar schuin, waardoor alle verwijzingen van andere dwarsvlakken naar dit referentievlak onzinnig zouden zijn.
  • [Help reader] opent de bekende F1 help reader.
  • [Help]→[Keys], waarmee het lijstje van sneltoetsen verschijnt die in dit window van toepassing zijn:
EnterVolgend invulveld
TabVolgend invulveld
Shift TabVorig invulveld
Ctrl-ASelecteer alles in vak
Ctrl-DelVerwijder alles in vak
Alt-OOK
Alt-CCancel
Alt-RRelatief
Alt-AAbsoluut
Alt-ZZoek referentievlak
Alt-TDwarsschot (Transverse, uitsluitend van toepassing op een nieuw vlak)
Alt-LLangsschot (Uitsluitend van toepassing op een nieuw vlak)
Alt-DDek (Uitsluitend van toepassing op een nieuw vlak)

Dit menu kan dus worden gebruikt om de oriëntatie van een vlak op te geven, of om dat vlak vast te leggen op een bepaalde vaste afstand van een referentievlak. Ongeveer hetzelfde menu wordt gebruikt om punten vast te leggen relatief t.o.v. een referentievlak. Dit popupmenu wordt opgeroepen door in de cel van een coördinaat van een punt op <F5> te drukken. Nog twee opmerking over referentievlakken:

  • Deze kunnen worden opgegeven in de GUI, en in het alfanumerieke menu wat besproken wordt in Referentievlakkenlijst.
  • Als een maat relatief is opgegeven dan wordt in alle invulvensters in de statusbalk onderaan de relatieve zowel als de absolute maat afgedrukt van de cel waarop de tekstcursor staat.

Opgeven van schuine vlakken

layout_schuinvlak.png
Definitiemenu schuin vlak.

De oriëntatie van een orthogonaal vlak, dat is een dwarsvlak, langsvlak of horizontaal vlak, is met z'n type en één getalletje volledig vastgelegd. Om een schuin vlak vast te leggen zijn echter wat meer gegevens nodig. Er zijn talloze wijzen waarop een schuin vlak kan worden vastgelegd, maar in Layout is gekozen dit te doen m.b.v. drie punten in de ruimte, omdat dat het meest intuïtief wordt geacht. Die drie punten staan in een menu, waarvan hierboven een voorbeeld is weergegeven. Dit menu bevat in essentie voor elk van de drie punten een regel, met daarbij in de kolommen de lengte- breedte- en hoogtecoördinaat van dat punt. Deze punten staan trouwens helemaal los van enig ander punt van het schip of z'n indeling — hoewel ze best kunnen verwijzen naar een referentievlak. De laatste kolom bevat de afstand van dat punt tot het schuine vlak. Het is namelijk niet zo dat het vlak direct wordt aangepast aan de positie van de drie punten, maar veiligheidshalve is ervoor gekozen dat daar later de functie [Generate] voor aangeroepen moet worden. Andere functies die beschikbaar zijn in de bovenbalk zijn:

  • [Shift]: verschuif dit punt naar het vlak toe, langs de as van dit punt. Dus als de tekstcursor bv. op de hoogtecoördinaat staat is dit een verschuiving in verticale richting.
  • [Project]: projecteer dit punt op het schuine vlak, loodrecht op dit vlak.
  • [Orthogonal]: vorm dit vlak om naar een orthogonaal vlak wat het meest lijkt op dit schuine vlak.
  • [Cancel]: verlaat dit menu zonder de wijziging te bewaren.

Beperkte positionering van een fysiek vlak

De constellatie van fysieke vlakken legt ook de aard en vorm — of, anders gezegd, de topologie en geometrie — van de tussenliggende ruimtes, de compartimenten, vast. Dat is mooi, maar dat brengt ook een beperking met zich mee omdat vlakken dan niet voorbij hun directe buren getrokken mogen worden; dan zouden ze de hele ‘logica’ van de compartimentsindeling immers overhoop gooien. Dat kan verder gaan dan men op het eerste gezicht zou denken, want vlakken kunnen ook indirect (d.m.v. referentievlakken) een plaats krijgen. Dat wordt intern allemaal uitgezocht in Layout, en als men een vlak buiten z'n topologische grens zou willen plaatsen dan wordt de vlakpositie teruggezet tot de uiterste positie die mogelijk is. Daar wordt verder geen waarschuwing van gegeven — dat zou namelijk kunnen leiden tot vrij lange lijsten van mededelingen, en daar is ook niemand bij gebaat — maar in elk geval weet u nu wat de reden is als een vlak niet voorbij een bepaalde maat geplaatst kan worden.

Compatibiliteit met de vroegere compartimentenmodule van PIAS

Rond 1985 is de PIAS module Compart ontwikkeld, waarmee compartimenten konden worden gedefinieerd en tanktabellen etc. konden worden berekend. Deze module Layout, die in jaren 2010-2012 ontwikkeld is, dient dezelfde doeleinden, maar is veel uitgebreider, o.a. door de ondersteuning met expliciete dekken en vlakken en een GUI. Bestanden uit Compart zijn gewoon in te lezen in Layout, dat moet echter wel handmatig gedaan worden, zie daarvoor Importeer PIAS compartimenten uit pre-2012 formaat. Als er naderhand op basis van die ingelezen compartimenten fysieke vlakken gegenereerd gaan worden kan het nuttig zijn de compartimenten eerst op te schonen, zie Schoon pre-2012 PIAS compartimenten op.

Constraint Management

Attentie
Constraint Management maakt uitgebreid gebruik van de vlakken en schotten module (40.100.0) van Layout. Het zal alleen naar behoren functioneren wanneer slechts deze methode is gebruikt om alle compartimenten in het model te definiëren.
Constraint Management zal trachten aan alle randvoorwaarden te voldoen door middel van het verplaatsen van de in het model aanwezige vlakken en schotten die niet vastgezet zijn door de 'Positie is niet wijzigbaar door Constraint Management' optie in Fysieke vlakkenlijst. Het wordt aangeraden om een backup van uw model te maken voordat u de randvoorwaarden evalueert.
Layout is uitgerust met een constraint management module. Door gebruik te maken van de constraint editor kunnen randvoorwaarden opgegeven en aangepast en verwijderd worden. Randvoorwaarden kunnen worden gekoppeld aan compartimenten en fysieke vlakken en schotten. Daarna kan, door gebruik te maken van de randvoorwaardenbalans, het belang van de verschillde randvoorwaarden ten opzichten van elkaar worden opgegeven, en zal de module een ontwerpaanpassing voorstellen welke beter aan de gestelde randvoorwaarden.

Meer informatie over het doel en de operatie van constraint management kan hier en hier worden gevonden.

Randvoorwaarden definiëren

Constraint management is gelimiteerd tot het oplossen van het randvoorwaardeprobleem in hoeverre dat kan in een responsietijd die interactiviteit voor de gebruiker toelaat. Momenteel worden alleen randvoorwaarden die te maken hebben met de posities, oppervlakken en volumes meegenomen.

Randvoorwaarden kunnen worden gecategoriseerd aan de hand van twee eigenschappen, die groepen en typen genoemd worden. De groep waartoe de randvoorwaarde behoort zegt iets over hoe de randvoorwaarde zich relateert tot de geometrie van het schip waarop het van toepassing is. Er worden vier verschillende groepen onderscheiden:

  • Aantal (bijv. aantal dwarsschotten)
  • Positie (bijv. de hoogte van de tanktop)
  • Oppervlak (bijv. het oppervlak van de machinekamer)
  • Volume (bijv. het volume van het laadruim)

Het is belangrijk om te noteren dat de groep aantal wel aanwezig is in constraint management, maar slechts fungeert als boekhoudkundig hulpmiddel. Dit komt doordat de constraint management werkt door het veranderen van de posities van de in het model aanwezige vlakken en schotten. Het is niet in staat om nieuwe onderdelen te creeren dan wel te verwijderen.

De tweede eigenschap van een randvoorwaarde wordt het type genoemd. Het type geeft betekenis aan de nummerieke waarde van een randvoorwaarde. Er worden vier typen onderscheiden:

  • Minimum (tenminste..)
  • Maximum (ten hoogste..)
  • inLimit (tussen de onder en bovengrens in)
  • outLimit (buiten de gedefineerde grenzen)

Randvoorwaarden opgeven en aanpassen

De invoertabel voor randvoorwaarden kan worden geopend via de menubalk in de grafische gebruikersinterface: cOnstaints –> randvoorwaarden aanpassen. Een randvoorwaarde wordt gedefineerd door haar naam, afkorting, groep en type met bijbehorende onder- en/of bovengrens. Een randvoorwaarde kan worden ge(de)selecteerd om deze wel of niet mee te nemen bij het evalueren van de randvoorwaarden.

Een voorbeeld van de randvoorwaardentabel wordt hieronder getoond:

layout_constraint_table_example.png
Randvoorwaardentabel

Randvoorwaarden aan het scheepsmodel koppelen

Nadat een randvoorwaarde is gedefinieerd moet het worden gekoppeld aan een compartiment of een fysiek vlak of schot om meegenomen te worden in het evalueren van de randvoorwaarden. Dit kan worden gedaan bij de compartimentsgegevens (zie Aantal randvoorwaarden) of bij de eigenschappen van de fysieke vlakken en schotten (zie Fysieke vlakkenlijst). Hier kunnen het aantal randvoorwaarden op het gewenste aantal worden ingesteld, waarna voor elk van deze randvoorwaarden een koppeling met de randvoorwaardentabel gemaakt kan worden via een popupmenu.

Randvoorwaarden evalueren

De randvoorwaarden kunnen worden geevalueerd vanaf de menubalk via cOnstraints->evaluate. Constraint management zal dan trachten een oplossing te vinden die aan alle geselecteerde en gekoppelde randvoorwaarden voldoet.

Aangezien het zeer waarschijnlijk is dat de verschillende randvoorwaarden verschillende dingen van het ontwerp verlangen, kan het vinden van het juiste compromis om aan alle randvoorwaarden te voldoen een uitdaging zijn. Meestal zullen niet alle randvoorwaarden even belangrijk zijn, of beinvloeden ze het ontwerp op een ongelijkmatige manier, en is het nodig om ze met hun eigen weging mee te nemen. Aangezien de relatieve belangrijkheid van een randvoorwaarde afhankelijk is van niet alleen de randvoorwaarde zelf, maar ook van de andere gelesecteerde randvoorwaarden, is het toekennen van deze relatieve belangrijkheid van de geselecteerde randvoorwaarden een taak van de gebruiker. Deze kan hiermee het ontwerp sturen in de hem of haar gewenste richting.

Door het openen van de randvoorwaardenbalans kunnen de gewichten van de verschillende geselecteerde en gekoppelde randvoorwaarden worden ingesteld ten opzichte van elkaar. Dit kan door de positie van de sliders op de verticale trackbars aan de passen. Elke trackbar heeft de afkorting van haar randvoorwaarde boven zich, en de onder- en/of bovengrens en de huidige waarde van de randvoorwaarde onder zich. Wanneer de huidige waarde niet aan de randvoorwaarde voldoet is deze rood gekleurd.

layout_constraint_equalizer_example.png
Voorbeeld van de randvoorwaardenbalans

Nadat de sliders van de verschillende randvoorwaarde op de gewenste positie zijn gezet, kan door op de 'Evalueer randvoorwaarden'-knop onderaan de randvoorwaardenvbalans te drukken een oplossing gezocht worden die voldoet aan alle randvoorwaarden. Hiertoe zullen de fysieke vlakken en schotten van het model geherpositioneerd worden, behalve deze die zijn vastgezet voor constraint manager. De gevonden oplossing is geoptimaliseerd voor de kleinste verplaatsing van de fysieke vlakken en schotten, om zo dicht mogelijk bij de visie van de ontwerper te blijven.

Hoofdmenu

Na het opstarten van Layout komt men in het hoofdmenu, waarvan de diverse opties in de volgende secties nader toegelicht worden.