MBM Open Source Project - Accomodation for Tribon M2 / M3

2011/10/16 21:15


This project originaly was created for demonstration purposes at the very beginning of Vitesse, just when it was implemented for Tribon structure functionality. At that time there was no idea to make it open source project, neither to update it further because we expected that Tribon Solutions will create an accommodation module in near furture. Now, when it is obviously that we can not expect anything else done in this area, I am publishing the code and the idea behind it complimentary to all Mx users. When you look at the code, please remember that when it was created we were very limited in regards to the Vitesse functionality and our experience in Vitesse was not so long.


Everyone is welcome to download, modify and further improve the code upon his own requirement. Everyone is welcome to send comments, suggestions and ideas for improvement.

The success of this project depends on you, Mx user (and developer)! I hope, that the enhancements and the functions you will create based on this project, will be send back to us to be shared with all other users.

Milko Minchev

The idea

When this development was started (the autumn of 2001) the following goals was set up:

  • to be easy for use
  • to allow rooms, walls, ceiling, etc. objects to be defined in any 2D model view (xy view) where hull panel exists
  • to automatically activate the room where objects will be added
  • to allow additional attributes to be assigned to the rooms
  • to use structure DB to store the rooms model

The implementation
This is the accommodation menu. Using buttons 1 to 6 we set the required parameter. Button 7 saves the settings as default. They will be loaded next time when the script starts. All objects created afterwards use the settings above.Button 8 defines new room. The ceiling panel is placed automatically.Button 9 creates room's walls. First click indicates the room to which the wall belongs, next - two points for each wall. This function originally was created by Konrad Zylkowski at StoCAD.

Button 10 - place furniture. Requires furniture component name (option opens component browser). When the furniture component is selected, this function requires 2 cliks each time the furniture is placed. The first one indicates the room where to place the furniture, the second one indicates the exact position.

Tribon M1 accommodation

Additional attributesA few ordinary text files are used to keep the additional cabin attributes.This cabin property editor is created by Tomasz Lisowski at StoCAD.cabin property editor

Accommodation component browserComponent browserSpecial Accomodation components browser was created. Depends on the current function it automatically shows only relevant components. The component's "Type" field is used for this reason.Also created by Tomasz Lisowski at StoCAD.

Parts listSpecial data extraction program consider the additional attributes assigned to each cabin. It also filters the ordinary structure model and shows only accommodation parts.
Accommodation parts list


The current version of open source accommodation project for Tribon M2 / M3 has the following functionality:

  • Room/cabin define
    • space reservation
    • ceiling
    • wall panels
    • doors (place furniture can be used with door specific component)
    • windows (place furniture can be used with window specific component)
    • furniture
  • Room/cabin extended properties
  • Accommodation Material list
  • Accommodation Weight and COG

Tribon components usage

The following codes are used in component TYPE field:

  • ACC1 - ceiling panels and space reservation
  • ACC2 - wall panels
  • ACC3 - furniture

Installation Instructions

System requirements:

    • Windows 2000/XP
    • TRIBON M2 or M3 with the corresponding Python installation
    • Python package as required for your Triibon Mx version, including Tcl and TkInter


    • Step 1. Download and uncompress OSAP.zip
    • Step 2. Copy all *.py files to SB_PYTHON, usually X:\Tribon\Mx\Vitesse. it is possible to use different directory if you include it in PYTHONPATH system variable
    • Step 3. Import all component syntax files using SU016


    • project source files can be found in our Downloadspage
    • for comments, questions, suggestions, etc. use our forum, topic: "Open Source Accommodation Project"