PIAS Handleiding  2024
Programma voor de Integrale Aanpak van het Scheepsontwerp
Bijlagen

File extenties

Fairway slaat modellen op verdeeld over meerdere bestanden. Deze hebben een identieke naam, hier gerepresenteerd door *, maar verschillende extenties.

*.fwy Dit is de hoofd file die de anderen refereert.
*.fw1 Hierin is de topologische informatie opgeslagen bestaande uit punten, verbindingen en facetten.
*.fw2 Bevat algemene informatie betreffende curves.
*.fw3 Bevat geometrische informatie in de vorm van NURBS vertices.
*.fw4 Hierin zijn markante punten opgeslagen.
*.fw5 Bevat de naam, hoofdafmetingen, coëfficiënten, alsmede de gegevens van de groepen van lijnplaatsen en andere instellingen.
*.fw6 In deze file wordt de informatie opgeslagen van (eventueel) gedefinieerde lijnenplannen.
*.fw8 Hierin is de informatie met betrekking tot geometrische afhankelijkheid van lijnen onderling opgeslagen (baas-knecht verhouding).
*.fw9 Hierin zijn gebieden opgeslagen.
*.cf Bevat groepen met polycurves die geen deel zijn van een oppervlaktebeschrijving.
*.sf Bevat verbindingen tussen polycurves in het *.cf bestand.
Waarschuwing
De bestanden *.fw1, *.fw2, *.fw3, *.fw8 en *.fw9, alsook *.cf en *.sf horen onlosmakelijk bij elkaar. Deze mogen nooit apart gekopieerd worden.

CXF en SXF bestandsformaat

Deze bestandsformaten zijn bedoeld om curven — in de CXF, Curve eXchange Format — en vlakken — in de SXF, Solid eXcange Format — in Fairway te importeren. Zie voor de achtergrond en context Scheepsvormen in SXF/CXF formaat importeren.

Syntax van het Curve eXchange Formaat

Een CXF file is een pure ASCII file, met een even aantal regels. Elk regelpaar bestaat uit een code (de eerste regel) en een argument (de tweede regel). De code definieert de betekenis van het argument. Achter de code kan een # staan, die aan een opmerking vooraf gaat. Regels die niet direct op een code volgen en met een # beginnen, worden als opmerking herkend en genegeerd. Alle eenheden zijn in meters, de sequentie van de vectoren is: Lengte, Breedte, Hoogte, SB = + en BB = -. Momenteel gedefinieerde codes en argumenten zijn:

   10     #File type (must be the letters 'CXF')
 CXF
   20     #File version (Must be 1)
    1
   30     #Creator (Description of program or person who created this file)
 Creator A
   40     #Project name
 Project ABCDEFG
   50     #Project version number
    N
   60     #Date (Year / Month / Day)
 yyyy   mm   dd
   70     #Time (Hour / Minute / Second)
   hh   mm   ss
 1000     #New solid (Currently only one solid is supported)
 Solid name
 1005     #Solid identification number (optional for single solid)
    N
 1500     #Solid attributes (internal to Fairway)
    N
 2000     #New line
 Line name
 2010     #Chine property (1=chine, 0=ordinary)
    N
 2020     #Plane type (0=frame 1=wl 2=buttock 3=diagonal 4=arbitrary plane 5=3D line)
    N
 2030     #Normal vector of plane (L, B and H components of normal vector)
    L.lllll     B.bbbbb     H.hhhhh
 2040     #Location of plane (metres from origin)
    P.ppppp
 2500     #Line attributes (internal to Fairway)
    N
 3000     #New segment
 Segment name
 3020     #Basic geometry type (1=polyline 2=NURBS)
    N
 3100     #Coordinates of polyline point (Length, Breadth and Height of a point)
    L.lllll     B.bbbbb     H.hhhhh
 3110     #Polyline point, specified as reference to a (unique) vertex number of the SXF file,
          #followed by the coordinates (Length, Breadth and Height) of this point.
    Vertex number       L.lllll     B.bbbbb     H.hhhhh
 3200     #NURBS Vertex (Length, Breadth, Height and Weight of a NURBS vertex)
    L.lllll     B.bbbbb     H.hhhhh     W.wwwww
 3300     #NURBS knot
    K.kkkkk
 3400     #NURBS order (order=degree+1)
    K
 3500     #Spline/segment attributes (internal to Fairway)
    N
 3505     #Spline identification number (internal to Fairway)
    N
 9999     #End of CXF file
    Optional CRC checksum, otherwise 0
Noot
  • Momenteel worden de codes 30, 50, 60 en 70 niet in Fairway gebruikt, maar dat kan in de toekomst veranderen.
  • Een lijn moet of in polyline vorm of in NURBS gegeven zijn. De preprocessor herkent beide representatie-vormen en schrijft ze naar CXF file.
  • De NURBS betreffend: Wees er altijd van bewust dat het aantal hoekpunten + de orde = het aantal knooppunten.
  • Punten van polylines kunnen direct gespecificeerd worden (code 3100) of als referentie ten opzichte van een solid (code 3110). Voor gebruik in combinatie met een SXF file mogen slechts referenties gebruikt worden.
  • De kniklijn eigenschap (code 2010) mag weggelaten worden. De standaard instelling is ‘geen kniklijn’.

Syntax van het Solid eXchange Formaat

Evenals de CXF file is ook een SXF file een pure ASCII file, met een even aantal regels. Elk regelpaar bestaat uit een code (op de eerste regel) en een argument (op de tweede regel). De code definieert de betekenis van het argument. Achter de code kan een # staan, die aan een opmerking vooraf gaat. Regels die niet direct op een code volgen en met een # beginnen, worden als opmerking herkend en genegeerd. Hoekpunt locaties zijn in meters, de sequentie is: Lengte, Breedte, Hoogte. Alle facetten moeten met de klok mee geörienteerd zijn (van buitenaf gezien). Momenteel gedefinieerde codes en argumenten zijn:

   10     #File type (must be the letters 'SXF')
SXF
   20     #File version (Must be 1)
    1
   30     #Creator (Description of program or person who created this file)
Creator A
   40     #Project name
Project ABCDEFG
   50     #Project version number
    N
   60     #Date (Year / Month / Day)
yyyy   mm   dd
   70     #Time (Hour / Minute / Second)
  hh   mm   ss
 1000     #New solid (Currently only one solid is supported)
    Solid name
 1005     #Solid identification number (optional for single solid)
    N
 1500     #Solid attributes (internal to Fairway)
    N
 2000     #Vertex number, plus coordinates of that vertex
    Vertexnumber    L.lllll     B.bbbbb     H.hhhhh
 2010     #Vertex number, plus name of that vertex
    Vertexnumber    name
 3000     #Edge number, plus the numbers of the two vertices bounding this edge
    Edgenumber       Number_of_vertex1    Number_of_vertex2
 4000     #Indicates start of face, face number
    Facenumber
 4010    #Edge of face: Reference to edge number & orientation (+1 or -1)
    Edgenumber      Orientation
 9999     #End of SXF file
    Optional CRC checksum, otherwise 0
Noot
  • De codes 30, 50, 60 en 70 worden momenteel niet in Fairway gebruikt, maar dit kan in de toekomst veranderen.
  • Een riboriëntatie van +1 betekent dat die ribbe voor dit facet is gebruikt in de richting volgens de definitie van de ribbe. Een orientatie van -1 betekent dat die ribbe voor dit facet is gebruikt in de tegengestelde richting als volgens de definitie van de ribbe.

Bestandsformaat van tabellen t.b.v. het genereren van een KVS

In het bestand kvslap.txt in de PIAS installatiemap staan de numerieke representaties van de diagrammen van Lap, die gebruikt worden voor het aanmaken van een ontwerp kromme van spantoppervlakken (doel-KVS) gebaseerd op hoofdafmetingen, zie [Change the shape of the SAC]. Dit is een tekstbestand, zie ASCII tekstfile. Op bepaalde ordinaten (lengteposities) geven de diagrammen een spantoppervlak, waar de KVS doorheen getrokken kan worden. Het bestandsformaat wordt hier uitgelegd, gevolgd door de gerepresenteerde diagrammen. Met de informatie uit deze appendix heeft u de mogelijkheid de diagrammen aan te passen.

Het eerste gedeelte van het bestand betreft enkelschroef schepen. Na de regel met het woord DUBBELSCHROEF volgen de tabellen voor dubbelschroef schepen. Elk gedeelte bestaat uit een diagram voor het achterschip en een diagram voor het voorschip.

Elk diagram begint met een regel met twee getallen. Het eerste getal is het aantal prismatische coëfficiënten in de tabel, het tweede is het aantal ordinaten in de tabel. Daarna volgen de prismatische coëfficiënten, elk op een eigen regel. Tot slot volgt de tabel met meetpunten in procenten van het grootspantoppervlak, elk ordinaat op een eigen regel. De eerste kolom bevat het ordinaat nummer, dan volgt een kolom voor elke prismatische coëfficiënt.

Als voorbeeld volgt hier de representatie van het diagram voor het voorschip van enkelschroevers.

8       11
0.55
0.60
0.65
0.70
0.75
0.80
0.85
0.9
10      100     100     100     100     100     100     100     100
11      96.9    98.7    99.6    100     100     100     100     100
12      91.2    95.1    98.1    99.8    100     100     100     100
13      82.8    89.6    94.2    98.1    99.8    100     100     100
14      70.5    80.4    88.5    94.5    98.1    99.9    100     100
15      57.1    67.4    77.4    86.8    93.7    98.4    100     100
16      43.9    52.2    62.1    72.8    83.4    92.5    98.9    100
17      29.1    36.4    43.9    53.6    65.2    78.5    91.5    99.1
18      16.9    21.1    25.4    31.4    41.1    54.7    68.7    79.6
19      8.2     8.7     9.7     12.1    17.2    25.2    36.1    45.2
20      0       0       0       0       0       0       0       0
lap_single_600.png
Spantoppervlakken voor enkelschroefschepen.
lap_twin_600.png
Spantoppervlakken voor dubbelschroefschepen.

Beheer van verschillende sets van gebruikersvoorkeuren

Veranderingen in de gebruikersvoorkeuren van de GUI, [File]→[Preferences...], worden opgeslagen in een tekstbestand in een door het operatiefsysteem bepaalde map. Door dit tekstbestand te kopieren is het mogelijk handmatig meerdere versies van voorkeursinstellingen te beheren, en deze over te zetten naar andere installaties. Bijvoorbeeld: voor een demonstratie via een beamer of voor het opnemen van een schermvideo kan het handig zijn tijdelijk met een bredere lijndikte te werken en met kontrastrijkere kleuren; en voor illustraties op papier past een witte achtergrond en donkere lijnen beter (zie ook Veranderen van het uiterlijk van de hotspot). Configuraties voor deze gelegenheden zijn zo eenvoudig handmatig op te slaan en te herstellen.

Het bestand met voorkeuren (voor zover die afwijken van de standaard) draagt de naam Fairway.ini en bevindt zich in een map met de naam SARC. De locatie van deze map verschilt afhankelijk van de Windows versie en is in de regel in de %APPDATA% systeemvariabele geconfigureerd. Voorbeelden zijn C:\Users\User Name\AppData\Roaming\SARC\Fairway.ini en C:\Documents and Settings\User Name\Application Data\SARC\Fairway.ini.

Dragger uiterlijk veranderen (geavanceerd)

Het uiterlijk van de draggers, waarmee de positie van punten en andere dingen kan worden gemanipuleerd, kan worden aangepast aan uw persoonlijke voorkeur. Dit gebeurt door het bewerken van een of meerdere geometriebestanden.

De standaard geometrie van de draggers is in het programma ingebouwd, maar een kopie daarvan bevindt zich in de *.iv bestanden in de PIAS installatie-map. Deze worden niet gebruikt door het programma zoals ze daar liggen, maar het verdient aanbeveling om ze onveranderd te laten als referentie van de standaard geometrie.

  • arrowedTranslate1Dragger.iv bevat de geometrie van de lineaire dragger.
  • arrowedTranslate2Dragger.iv bevat de geometrie van de vlakke dragger.
  • arrowedTranslate3Dragger.iv bevat de geometrie van de ruimtelijke dragger.

Merk dat de lineaire dragger twee keer gebruikt wordt in de vlakke dragger, en dat de vlakke dragger drie keer gebruikt wordt in de ruimtelijke dragger. Dus, als een van de bestanden wordt aangepast dan is waarschijnlijk een dergelijke aanpassing ook in de andere bestanden gewenst om eenvormigheid te behouden.

Om het uiterlijk van draggers aan te passen doet u het volgende.

  1. Copieer de *.iv bestanden uit de installatie map naar een map van uw keuze. De bestanden moeten niet hernoemd worden.
  2. Bewerk de bestanden met een pure tekstverwerker, bijvoorbeeld notepad.exe (zie ASCII tekstfile).
  3. Definieer de omgevingsvariabele SO_DRAGGER_DIR zodat deze naar de map met de bewerkte bestanden wijst.
  4. U dient mogelijk het programma opnieuw te starten voordat de veranderingen van kracht worden.

Na een korte introductie van het bestandsformaat, volgen enkele voorbeelden waar u mee kunt experimenteren.

Bestandsformaat

Het formaat van de geometriebestanden volgt het Open Inventor File Format. Het is niet nodig dit formaat in detail te kennen om eenvoudige veranderingen te bewerkstelligen, de inhoud van de bestanden zijn best begrijpelijk. Maar als het formaat wordt overtreden dan zal het bestand niet ingelezen kunnen worden, waardoor de dragger geheel geen geometrie zal hebben. Als het niet lukt om het gewenste effekt te bereiken dan kunt u het bestand eenvoudig verwijderen, waardoor het systeem zal teruggrijpen op de ingebouwde standaard geometrie.

In de bestanden worden variabelen geheel groot geschreven als ze uitsluitend in het zelfde bestand gebruikt worden. Variabelen met grote en kleine letters worden door het programma gebruikt om de uiteindelijke geometrie van de draggers te construeren.

Indien u meer over het bestandsformaat wilt weten, volgen hier enkele referenties:

  • MIT heeft een collectie van bestanden die het Open Inventor file format bespreken. Dit materiaal is verouderd en is al lange tijd niet meer bijgewerkt, maar is toch grotendeels nog relevant.
  • Hoofdstuk 11 van de Inventor Mentor (Josie Wernecke, 1994) bespreekt het bestandsformaat vanuit het oogpunt van de programmeur. Dit boek is on-line te vinden in HTML en PDF.
  • De meeste van de scene objects die u kunt gebruiken, met hun velden en toegestane waardes, kunnen worden gevonden in de programmeer handleiding. Zoek naar het kopje "FILE FORMAT/DEFAULTS", bijvoorbeeld betreffende de klasse SoDrawStyle.

Vergroten van de dragger

De grootte van de draggers op het beeldscherm wordt grofweg constant gehouden, onafhankelijk van afstand en zoom. Dit wordt bewerkstelligd door gebruik van een SoConstantSize node met het veld projectedSize. Laten we aannemen dat arrowedTranslate1Dragger.iv de volgende regel bevat:

DEF ARROWED_TRANSLATE1_CONSTANT_SIZE SoConstantSize { projectedSize 50 }

Dit definieert de macro ARROWED_TRANSLATE1_CONSTANT_SIZE. Telkens als deze macro gebruikt wordt in het bestand, dan zal daarna (binnen dezelfde Separator) 1 eenheid grofweg 50 pixels op het beeldscherm beslaan.

Dus, om de afmetingen van de dragger te verhogen, is het voldoende om de bovenstaande regel te veranderen in

DEF ARROWED_TRANSLATE1_CONSTANT_SIZE SoConstantSize { projectedSize 60 }

Eenzelfde aanpassing is dan wenselijk in arrowedTranslate2Dragger.iv en arrowedTranslate3Dragger.iv.

De pijlpunt veranderen

De assen van de dragger zijn gerepresenteerd door pijlen. De pijlpunt is daarbij geconstrueerd door middel van een Cone node, met velden voor height (pijlpunt lengte) en bottomRadius (pijlpunt breedte). De pijlpunt kan vetter worden gemaakt door bijvoorbeeld de waarde van de bottomRadius te verhogen.

Ook hier is eenzelfde aanpassing wenselijk in arrowedTranslate2Dragger.iv en arrowedTranslate3Dragger.iv.

Veranderen van het uiterlijk van de hotspot

De “hotspot” van een dragger is de doorzichtige bol rond de pijlen welke reageert op muisklikken, wat het gebruik van de dragger vereenvoudigt. Het is mogelijk dat, afhankelijk van uw beeldscherm, u de weergave van die bol te zwak of te sterk vindt. Dit kan worden gecorrigeerd door het transparency veld van de ARROWED_TRANSLATE?_HOTSPOT_MATERIAL macro's aan te passen in arrowedTranslate1Dragger.iv en arrowedTranslate2Dragger.iv. Om de bol helemaal te verbergen kunt u transparency op 1 zetten.

Als u een witte achtergrond heeft ingesteld in de modelling views in de plaats van standaard zwart, kunt u de zichtbaarheid van de hotspot verbeteren door de rood-, groen- en blauw-waardes van de kleur-velden in het materiaal te veranderen in

    diffuseColor 1.0 1.0 1.0
    emissiveColor 0.0 0.0 0.0
    specularColor 1.0 1.0 1.0
    transparency 0.85
    shininess 1.0

Het feedback vlak uitzetten

Tijdens translaties in een vlak, wordt een groter vierkant getekend, transparant in de corresponderende kleur van het vlak. Als u dat storend vindt, kan dat vlak eenvoudigweg worden uitgeschakeld door arrowedTranslate2Dragger.iv als volgt aan te passen. Alle regels tussen de accolades van de macro's arrowedTranslate2FeedbackOrthogonalActive en arrowedTranslate2FeedbackArbitraryActive dienen te worden uit-gecommenteerd, door een “#” aan het begin van die regels in te voegen.