Skip to content

Latest commit

 

History

History
150 lines (119 loc) · 5.2 KB

README.md

File metadata and controls

150 lines (119 loc) · 5.2 KB

StaticAR

StaticAR is an AR environment to explore statics and structural behavior analysis in a qualitative way.

Video

Running on a new Android Tablet

  1. Plug in the tablet to a computer via USB, enable file sharing

  2. Copy StaticAR_1.0.apk file in backup/ to Downloads folder on the tablet

  3. Copy StaticAR folder to the top-level folder on the tablet

  4. Open the tablet to the Files app, install the app by running the APK

  5. Run the app on the tablet!

Linux build

  • Download and install Qt 5.10
  • Download and configure ARToolkit v5.3.2
  • Download and install qml-ARToolkit
  • Set ARToolkit paths in the .pro file
  • (Optional) Build solvespace (3rdparty folder) for your system and change the path in the .pro file

Android build

  • Download and install Qt 5.10
  • Set it up for Android Development (Android NDK >r13b, Andriod SDK)
  • Download and configure ARToolkit v5.3.2
  • Download and install qml-ARToolkit
  • Set ARToolkit paths in the .pro file
  • (Optional) Build solvespace (3rdparty folder) for your system and change the path in the .pro file. We recommend to compile it as a static lib.

Configuration Files

The resources used in StaticAR are :

  • Structures
  • Loads
  • Materials
  • AR boards

Structures are defined by .json files describing the nodes and beams plus other properties. 2D structures can be drawn and edited within StaticAR. 3D structures must be written as json files. The coordinate system is opengl like.

{
    "background_picture": "full-roof.jpg", <- background image
    "constraints": [ <- Constrains are created when drawing structures within StaticAR 
    ],
    "lines": {
        "0": {<- Beam Id
            "height": 40, <- mm
            "materialID": "default", <- Must match a material unique id otherwise staticAR set it to default. 
            "name": "AB",
            "p1": "0", <- The ids of the extremes must be defined as keys of the points objects 
            "p2": "1",
            "width": 60 <- mm
        }
    },
    "origin_id": "0", <- Id of the origin point. Used  when drawing the structures
    "points": {
        "0": {
            "name": "A",
            "reac_x": true, <- Constraints on x,y,z, rot x, rot y, rot z
            "reac_xx": false,
            "reac_y": true,
            "reac_yy": false,
            "reac_z": true,
            "reac_zz": false,
            "x": 0, <- Point position (mm)
            "y": 0,
            "z": 0
        }
    },
    "poseOffsetEulerAngles": [ <- rotation offset to be applied in the AR (degrees). 
        0,
        0,
        0
    ],
    "poseOffsetTranslation": [ <- translation offset to be applied in the AR (real world mm, the actual AR translation is 		                          poseOffsetTranslation* scaleFactorPhysical)
        0,
        300,
        0
    ],
    "scaleFactorPhysical": 0.1 <- AR scale factor to pass from real world mm to AR mm. Ex. 1000mm in the augmentation is 100mm
}

Loads are defined by text files (.asset) describing the weight, the extension of the weight and the 3D assets to render them.

thumbnail:jacuzzi.jpg 
main_asset_url:jacuzzi.obj
main_asset_diffuse_map_url:layout.png
weight:2000 <-Kg
extent:-500,500 <- real world mm
type:uniform <- optional, define if the load is uniformally distributed

Materials are specified via text (.material) file that can be created and edited within the application.

UniqueID:bjjfdgfcxjkdxjqwlk;
Name:Conifers(C18);
Density:0.380e-9; <-  tonne/mm^3
Price:1;
Young:9000; <- Young's Modulus MPa
G:560; <- Shear Modulus MPa
fc0:18; <-Compression parallel to grain N/mm2
fc90:2.2;<-Compression perpendicular to grain N/mm2
ft0:11;<-Tension parallel to grain N/mm2
ft90:0.4;<-Tension perpendicular to grain N/mm2
fmk:18; <-Bending N/mm2
fvk:3.4;<-Shear N/mm2
TextureImage:texture.png;

AR boards are text files. The format follows the ARToolkit multimarker format. The boards describing an arrangement of the fiducial markers on the hexagonal grid can be created and edited in StaticAR. The package includes two board configurations: an hexagonal one (the one used in the lab) and a paper based one (pdf in resources/boards).

For the file formats have a look at the ./Resources dir.

License and 3rdparty softwares

StaticAR is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation.

StaticAR uses

@misc{frame3DD,
title = {Frame3DD},
month = {Nov},
url = {https://nees.org/resources/1504},
year = {2010},
author = {Gavin , Henri P}
}

@misc{solvespace,
   key = {SolveSpace},
   organisation = {SolveSpace},
   title="SOLVESPACE,parametric 2d/3d CAD",
   howpublished = "\url{http://solvespace.com}",
   lastchecked = {23.08.2017},
   year = 2017
}