Technical Bulletin - Tutorial Creation of Fixtures For MA 3D - D10
Technical Bulletin - Tutorial Creation of Fixtures For MA 3D - D10
doc
Technical bulletin
Paderborn, 21/07/2015
Contact: [email protected]
Tutorial
Creation of fixtures for grandMA 3D
Content
1. Introduction ................................................................................................................................................................................................ 2
2. Workflow ..................................................................................................................................................................................................... 2
2.1 3D Design of a Fixture ..................................................................................................................................................................... 3
2.2 Import 3D Model into grandMA 3D ............................................................................................................................................. 8
3. 3D Modeling .............................................................................................................................................................................................11
3.1 3D Models Principles ......................................................................................................................................................................12
3.2 Parameters.........................................................................................................................................................................................12
3.2.1 Axes ............................................................................................................................................................................................15
3.2.2 Rotation Axes ..........................................................................................................................................................................15
3.2.3 Linear Axes ...............................................................................................................................................................................15
3.2.4. Beam of Light (cone) ............................................................................................................................................................16
3.3 Automated Import ...........................................................................................................................................................................18
3.4 Assigning of Models to Fixture Types ........................................................................................................................................20
3.5 Checklist for 3D Modeling ............................................................................................................................................................21
1. Introduction
grandMA 3D is created for the visualization of three dimensional stage layouts to be utilized in conjunction with the
grandMA light control desk. It comes with a library of common types of light fixtures e.g. par cans, moving mirror,
moving heads and LED fixtures.
With the huge amount of different fixtures it is not possible to cover all models. grandMA 3D offers the opportunity
to import 3D model created via a 3D CAD program. Most of the 3D CAD programs offer the export into the .3ds
format. So this file format was chosen to import models into grandMA 3D.
2. Workflow
The construction of the new fixture has to be done with an external 3D CAD tool like Cinema 4D, Blender etc. In this
example we use Cinema 4D but any tool that can export the 3ds format can be used.
This example describes the construction of a Head Mover fixture on the example of a Vari-Lite VL-1000.
Note: Each time when a new object is created it must be triangulated, otherwise this object will be ignored by
grandMA3D Import Tool. You can triangulate an object in Cinema 4D via Functions → Make Editable and then
Functions → Triangulate.
- Dimensions
the size of the model can be rescaled within the import
tool of grandMA 3D. So you can use other scaling
factors while creating the model. In this case a scaling
of 100 is used (1m =^1cm). The .xml description file
then contains the line:
<Scale>0.01</Scale>
- Normals
mark the visibility of the areas. In Cinema 4D they are
marked with white lines.
Hint: To make both sides visible, duplicate the object
and reverse the normals of the duplicate.
- Lens [L_XSN]
After creation of the model you can export it into 3D Studio format (.3ds).
- Open grandMA 3D
- Open the import tool via the menu entry ‘File – Import – Import 3D Model’.
Select ‘Import 3D Model’ and choose your created 3D file ‘Vari-Lite_VL1000.3ds’
When import is done an .xml description file is generated and stored in the folder parallel to the .3ds file like ‘Vari-
Lite_VL1000.import.xml’. This file is created once with a new unique model key when import is initiated. If the file
already exists, the importer uses the data from this file to fill out the following fields:
3. 3D Modeling
3D objects are created with external tools like ‘Cinema 4D, Blender etc.’. After creation the model is imported in .3ds
format via the grandMA 3D import function. The import tool can be found via the menu entry: ‘File – Import – Import
3D Model…’. Single files as well as complete directories can be imported.
Objects inside a 3D model can be stuffed with parameters. These parameters have influence of the behavior of the
object within grandMA 3D. The parameter is defined via the name of the object. The parameters are graduated in a
tree order. A parameter block begins with ‘_X’. After that the sub-parameter follow without separators e.g. ‘Test_XAP’
identifies the object as an axes for the pan movement.
The imported model can be viewed in the ‘Model Test Area’ window that can be operated similar to the 3D ‘Stage
View’. Properties like ‘Name’; ‘Category’ etc. can be edited. After that the model can be stored in the media database
and is ready to be used in grandMA 3D.
The import tool offers no functionality to edit the 3D-Model afterwards. So the imported 3D model must contain all
information.
To avoid the determination on a specific modeling tool we choose the ‘3DS’ file format that can be exported by most
applications.
All parameters can be referred to by the names of the simple objects.
These limitations must be abided even in future when other file formats are allowed.
Furthermore 3D objects should consist of as few triangles as possible. Curves can be pictured realistically with little
triangles if the normals simulate this (Cinema 4D: ‘Phong Tag’).
Note: The max. angle for curves is set to 89.5° in Cinema 4D (in 3ds)
3.2 Parameters
Parameters can be added to the names of objects to set further properties of the object.
A parameter block must start with ‘_X’ followed by the (sub) parameters without separators as shown in the
following table:
S Sunshade type
Specifies how the object casts a shadow or how gobos are shown on the
object.
N None
Has no influence on the object. Neither the beam is affected nor gobos are
projected on the object.
For example the object is a lens of a fixture. The lens does not balk the
beam, and no gobos are projected on the lens.
The lens is fixed in the case so it doesn’t cast a shadow if it is hit by an
external beam.
R Regular
The object casts a shadow and gobos are projected on the object.
Default setting if nothing else is parameterized.
*This parameter can be used only for materials. The material with the parameter extends the other material.
For example ‘Lens_XJ’ describes the emissive inking color for the material (without parameter) with the same name
‘Lens’. The extended material must not be assigned to an object. This detour is necessary because the modeling
software does support this functionality.
3.2.1 Axes
Objects can be configurated with movement axes. The position of the axis is marked with an auxiliary object.
Objects ordered below the auxiliary object in the tree structure can be moved in the appropriate manner:
Rotation axes are marked with a square (consisting of two triangles). The name of this object must contain the
appropriate parameter for the desired axis (e.g. _XAT) see Parameter. Furthermore all normals of this object should
point in the same direction.
When importing the object it is converted into an axis. It is aligned along the direction of the normals (vertical on
the square) positioned in the center of the square.
In case of movement the right-hand rule is applicable: Thumb shows into direction of normals, objects will rotate
into the direction of the fingers (with positive values).
The lens will move away from the viewer if the tilt axis is driven with values bigger
than 0°.
_XB Similar to the rotation axes the position of the beam (cone) is marked with a
square. The center of the square marks the origin of the cone (e.g. _XB). The
normals mark the direction.
The position inside the fixture body can be determined with an auxiliary cone
that is placed temporarily into the body.
The radius (r) of the cone can be calculated with the following formula:
r = tan([max. open radius / 2]) * [height of the cone]
Normally the cone uses the complete lens hole of the fixture. The square is
placed at the top of the cone:
_XLD At LED spots with flat housings the light beam is a cone frustum.
This needs 2 parameters (squares) for the beam, LD and LC:
_XLC - LD marks the diameter of the beam output.
- LC marks the clipping plane of the beam where the beam is cut
The direction of the beam is marked via the normals.
Meta data of a 3D model can be left appropriately for the import. Later editing with the import tool is not required.
The placeholder [file] stands for the filename (without extension) that has to be imported. For example if the file
‘test.3ds’ has to be imported, ‘[file] stands for ‘test’:
File Description
_global.import.xml Global import setting valid for the complete directory. Structure like
[file].import.xml.
[file].import.xml XML file with meta data for the model. If this file does not exist, it will be created
automatically to store the model key.
[file].import.png Preview image of the model. Size is 32x32 pixel (32 Bit RGBA).
Will be created if not exists.
Note: The if you use “%o.png” instead of the filename the .png file is generated
with the right name.
[file].png If no preview image exists the import tool tries to create it. It searches in the given
[file].tif order on the side.
[file].bmp The image should be exempted via alpha channel.
[file].jpg Boarders are cut automatically when the thumbnails are created.
<?xml version="1.0"?>
<GrandMA3DImportSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.malighting.de/GrandMA3D/GrandMA3DImportSettings/1.0">
<Name>Generic - Head Mover</Name>
<Category>Fixtures/Head Mover</Category>
<ModelKey>cc6464b5-c992-4b9e-8a96-31691d9cdd90</ModelKey>
<DeviceManufacturer>*</DeviceManufacturer>
<DeviceName>*</DeviceName>
<DeviceClass>Headmover</DeviceClass>
<ModelPriority>-100000</ModelPriority>
<ModelManufacturer>MA Lighting</ModelManufacturer>
<Description>Default Head Mover Model</Description>
<Scale>0.01</Scale>
<Move>MoveBottomToZ0</Move>
<AmbientFlare>0.02</AmbientFlare>
<DoubleAllFaces>false</ DoubleAllFaces >
</GrandMA3DImportSettings>
This file is created once when import is initiated. If the file already exists, the importer uses the data from this
file to fill out the fields like
<Category>Fixtures/Head Mover</Category>.
So these entries must not be done twice if the model is corrected and imported again.
Field Description
Name Name of the model
‘/filename‘ will be replaced with the filename of the import file (without extension)
Category Category in the ‘Media Database’
Sub categories can be separated with a ‘/’.
e.g. ‘Fixtures/Head Mover’
ModelKey [see: 3.4 Assigning of Models to Fixture Types]
DeviceManufacturer [see: 3.4 Assigning of Models to Fixture Types]
DeviceName [see: 3.4 Assigning of Models to Fixture Types]
DeviceClass [see: 3.4 Assigning of Models to Fixture Types]
Possible values:
None, Mirror, Headmover, Conventional, LED, MovingPath
ModelPriority [see: 3.4 Assigning of Models to Fixture Types]
ModelManufacturer Designer of the model.
Description Short description.
Scale Object will be scaled by this factor.
Move Moves the object after the import.
None: No movement
MoveBottomToZ0: Model is placed on XY plane Z = 0
MoveCenterToZ0: Center of the object is placed to Z = 0
AmbientFlare Clarification grade of the fixture environment.
DoubleAllFaces Can be set to true if the normals are not set correctly.
true – sets both sides of all planes to visible
false – (default setting) only the sides with the normals are visible
Note: This will let to performance penalties because there will be created
unnecessary faces/vertices.
Field Description
ModelKey Unique key of the model. This key is created with the first importing of the model
and saved in the XML file (*.ImportSettings.xml). The key identifies exactly the
model. If the model is imported again the same key will be used from the XML file.
DeviceManufacturer Manufacturer of the fixture that is represented by the model.
DeviceName Name of the fixture that is represented by the model.
DeviceClass Type of the model if it represents a fixture. E.g. ‘Headmover’
ModelPriority Priority for selecting this model. High numbers are more probable. The standard
value ‘0’ should only be used if the meaning is clear, see description below.
At best the fixture type of a device is left in the data base. If the very same type is found by grandMA 3D (ModelKey
== Model.ModelKey) it will be used without any validation. In this case a fixture type always will be assigned to the
same model.
If no model key is found the application searches for a more suitable model, like same ‘DeviceManufacturer’ ,
‘DeviceName’ etc..
Note:
The fields ‘DeviceManufacturer’ and ‘DeviceName’ can be placeholders to find the right model for variant spellings.
For example: ‘Vari*Lite‘ is often spelled as ‚Vari-Lite‘, or a ‚VL1000 AS’ should use the same model as ‘VL1000 AI’. In
this case both fields should contain a ‚Vari?Lite’ and ‘VL1000*’.
Possible placeholders:
Often there are several variants of fixture types in a model range. So the attachment of a ‘*’ is recommended – for
example: ‘VL1000*’. The spelling is not case sensitive.
If a special 3D object shall be used for a model even though a model with the notation exists the ‘ModelPriority’ can
be increased (in steps of 100). For example a ‘VL1000AS’ with the priority of 100 would be preferred instead of
‘VL1000*’ with a standard priority of 0.
grandMA 3D is delivered with standard models for every ‘DeviceClass’ type. The standard model has the following
setting: DeviceManufacturer = ’*’, DeviceName = ‘*’ and ModelPriority = -100000. These models have a low priority
and are used only if no other model with higher priority is found.
No information has been lost while exporting? To check this, open the exported file with the modeling tool.
Without having any written permission from the editor it is not allowed to copy, reproduce or publish any part of this document, neither in printed
form nor by photos or electronic media. All technical specifications are subject to change without notification. We do not assume liability for any
incorrect information in this document.
MA Lighting, grandMA2 and grandMA are trademarks or registered trademarks of MA Lighting Technology GmbH. Microsoft® and Windows® are
registered trademarks of Microsoft Corporation. Apple®, iPhone® and iPod® touch are registered trademarks of Apple. Other brand names are
trademarks or registered trademarks of their respective owners.
Product pictures in this document may show optional equipment and accessories.