SCIAEXPORT
SCIAEXPORT exports the calculation model from your drawing to an XML file that you import into SCIA Engineer. The calculation lines become beams, their end points become nodes, and supports, point loads, line loads, hinges and combinations come along. Which cross-section, layer and hinges a beam gets is decided by a mathlist: a CSV file that links colours and block names to SCIA. The command works with a template from your own SCIA project, so cross-sections, load cases and hinge types match SCIA.
Starting
Type SCIAEXPORT on the command line, or use the button in the ribbon on the SCAD Data / Export tab, Modules panel. You open the settings with SCIASETTINGS (same panel).
What you need
| What | What for |
|---|---|
SCIA XML template (.xml and .xml.def) | Holds your cross-sections, materials, load cases and hinge types |
| Mathlist (CSV) | Links colours and/or block names to cross-section, SCIA layer and hinges |
| Combilist (CSV), optional | Adds load combinations |
A saved drawing (.dwg) | With the calculation lines on the calculation layer |
Making the template
- In
SCIAEngineer, open a project that contains the cross-sections, materials, load cases and hinge types you use, and at least one node, beam, support, point load, line load and hinge. - Choose File → Export → XML.
SCIAwrites two files:name.xmlandname.xml.def. - Send both files to SCAD. You get a ready-to-use template pair back.
The mathlist
A CSV file with a semicolon (;) as delimiter and a header row. The names must match the names in the template.
Block Name;SCAD Color;SCIA Crosssection;SCIA Layer;Hinge Start;Hinge End
;1;GlobalProfile;Beams;HT1;HT1
Beam;;BeamProfile;Beams;HT1;HT2
Tralieligger;1;ChordProfile;Chords;HT1;HT1
Tralieligger;3;DiagonalProfile;Diagonals;HT2;HT2
| Column | Meaning |
|---|---|
| Block Name | Name of a block. Empty: the rule applies to that colour everywhere outside the listed blocks. The headers Blockname, Block and Bloknaam are recognised too. |
| SCAD Color | Colour number (ACI 1 up to and including 255) of the calculation line |
SCIA Crosssection | Name of the cross-section in the template |
SCIA Layer | Name of the SCIA layer for the beam |
| Hinge Start / Hinge End | Name of a hinge type from the template for the start and the end of the beam |
How the rows are read:
- A row without a block name links a colour to cross-section, layer and hinges for lines outside the listed blocks.
- A row with a block name and no colour applies to all calculation lines in that block.
- A row with a block name and a colour applies only to that colour in that block, and takes precedence over the colourless row of the same block. The same colour in different blocks is independent.
- If a listed block has lines with a colour that has no row, and there is no colourless row either, you get a warning. Such a line does not pick up a colour row from outside the block.
- Upper and lower case do not matter for block names. The block itself may be on a different layer than the calculation layer; only the lines inside it have to be on the calculation layer.
- Colours set to
ByLayerorByBlockare first resolved to the real colour. A true colour (RGB colour) cannot be matched. - If the same key (colour, or block plus colour) appears twice, the first row is used and you get a warning.
- A mathlist without a Block Name column keeps working: it then matches on colour only.
If Hinge Start and Hinge End have the same hinge type, one hinge is made for both ends. If a hinge name is not in the template, that hinge is skipped with a warning.
The combilist (optional)
A CSV file with a semicolon as delimiter and the columns Combination;Type;Loadcase;Coeff. Each row is one load case in a combination.
- Type is
UGT(orULS) orBGT(orSLS). If the type is missing or anything else, it becomes a UGT combination. - Coeff is the factor of the load case; without a value it becomes 1.
- The load cases must exist in the template. A combination that is already in the template is skipped with a warning.
Preparing the drawing
- Save the drawing as
.dwgand set the units (INSUNITS, for example4= mm). If they are not set, the export runs without scaling and you get a warning. - Put the calculation lines on the calculation layer (default
910-Layher_static). Lines inside blocks count, even if the block itself is on another layer. Layers from xrefs (xref|layername) count too. - Lines, polylines, 2D polylines and 3D polylines become beams. Each segment of a polyline is one beam. Arcs and circles are skipped with a warning; a polyline with arcs is exported as straight beams, also with a warning. A fit or spline polyline is skipped with a warning.
- End points that are closer together than the node tolerance merge into one node. A beam that was drawn twice is only included once.
- Supports: place the block
$support_nodeon the calculation layer on a node (the end point of a line). If it is not on a node it is skipped with a warning. If there are several on the same node, only the first counts. - Point loads: place the block
$point_loadon the calculation layer, on a node or on a beam. - Line loads: place the block
$line_loadon the calculation layer on the beam that gets the load. The load acts uniformly over the full length of that beam. Preferably place the block in the middle of the beam: at an end the beam is ambiguous and you get a warning. - A block that is itself on the calculation layer is only included if it is a support or load block or a block from the mathlist. Any other block on the calculation layer is skipped with a warning, including what is inside it.
The load blocks have these attributes:
| Attribute | Meaning |
|---|---|
F_N | The value in N (for a line load in N/m). Comma or point as decimal separator. A value like 2.750 is read as 2750 N, with a warning. |
DIRECTION | X, Y or Z. With a minus in front (for example -Z) the direction is reversed. Without the attribute it becomes Z. Any other value: the load is skipped with a warning. |
LOAD_CASE | Name of the load case from the template |
NUMBER | Optional. The number in the name of the load in SCIA (F plus number for point loads, LL plus number for line loads) |
A point load that sits on a node becomes a load on that node. If it sits on a beam it becomes a load on that beam, at the place where the block is. If it is on neither, it is skipped with a warning.
Settings
Open SCIASETTINGS (window SCIA Export Settings). Click Save to keep the settings. Layer, block and tolerance fields that you leave empty fall back to the default value.
| Field | Meaning | Default |
|---|---|---|
| XML template | The template. If you pick an .xml, the matching .xml.def is filled in automatically when it sits next to it. | |
| DEF template | The matching .xml.def | |
| Mathlist | The CSV file with the links | |
| Combilist (optional) | The CSV file with combinations | |
| Calculation layer | Layer holding the calculation lines and the support and load blocks | 910-Layher_static |
| Support block | Block name of the supports | $support_node |
| Point load block | Block name of the point loads | $point_load |
| Line load block | Block name of the line loads | $line_load |
| Node tolerance (mm) | End points closer together than this become one node | 1 |
Below the files the window shows a summary of the template: how many cross-sections, load cases and hinge types it contains, and which parts are missing (supports, point loads, point loads on beams, line loads, hinges, combinations). Check that line before you export.
How it works
- Open
SCIASETTINGS, pick the template, the mathlist and optionally the combilist, check the layer and block names and click Save. Check the template summary. - Save the drawing and type
SCIAEXPORT. - The command line shows the counts:
Found N mathlines,Found N nodes,Found N layers,Found N crosssections,Found N support nodes,Found N point loadsand, if there are any,Found N line loads. - Any warnings appear as
Warning: ...on the command line (press F2 to see the whole text). Then comesSCIA export completed: <path>, orSCIA export completed with N warning(s), check them above: <path>. The export file is named like the drawing, with the extension.xml, and gets a.xml.defwith it. The path is in the message. - Import the
.xmlinSCIAEngineer. Keep the.deffile next to it. - Check the model in
SCIAagainst the drawing.
Check in particular:
- The numbers of nodes, beams and supports match the command line.
- Every beam has the right cross-section, layer and hinges, especially beams inside blocks.
- Loads are in the right place, direction and load case, and the combinations are there.
- The supports are on the right nodes.
Messages
These messages stop the export with a window:
| Message | Solution |
|---|---|
Drawing not saved! Please save and try again. | Save the drawing as .dwg. |
SCIA XML Template not found! / SCIA DEF Template not found! | Pick the template again in SCIASETTINGS. |
Mathlist SCIA.csv needs a 'SCAD Color' or 'Block Name' column; check the file (';' separated) and try again. | Check the header row and the delimiter of the mathlist. |
Invalid SCIA XML template: the node and/or beam table is missing. Nothing was exported. | The template is not usable; make a new one. |
These appear on the command line and do not stop the export:
| Message starts with | Meaning |
|---|---|
Mathlist SCIA.csv not found | The mathlist file does not exist. The beams get no layer or cross-section from the mathlist. |
Color N not found in mathlist | Lines with this colour have no row in the mathlist and get no cross-section. |
Block '...' has lines with color N | A listed block has a colour without a row (and there is no colourless row). |
Mathlist block '...' is in the drawing but has no lines on layer | The block adds no beams because it has no lines on the calculation layer. |
Beams without a mathlist cross-section got ... | Beams without a cross-section from the mathlist get the first cross-section from the template as a stand-in. Check them in SCIA. |
Support at ... is not on a node | The support is not on a node. |
Point load ... is not on a node or beam / Line load ... is not on a beam | The load is not on a node or beam and was skipped. |
Load case '...' is not defined in the template | The load case does not exist in the template. Without LOAD_CASE you also get a message. |
Hinge '...' is used in the mathlist but is not in the XML template's hinge library | The hinge name is not in the template; the hinge was skipped. |
Drawing units (INSUNITS) are not set | Set the units and export again. |
The XML template has no ... table, Template has no line load table and other messages with has no ... table | The template lacks a part (for example supports or line loads); that part was skipped. Make the template from a SCIA project that contains it. |