WorkLink Create: Export and Import csv into active step
Let's start with answering this question:
When is using this feature useful for your projects
- When you plan on mass creating (empty objects) or primitives.
- When you plan to mass create/update existing/new objects, this is what can be controlled:
- The object's transform values (x,y,z)
- The object's callout properties
- The object's applied material
- When you want to mass import metadata.
How to export a csv from an active step
Export > CSV List Of Objects.
You will get 2 options:
- All steps: Exports a ZIP file containing individual CSVs for each step.
Each CSV will be exported with a unique name identifyer: SequenceName@@StepName@@UniqueID.csv.
This name is important for identification of steps upon import. - Current step: Exports a CSVs for the current step.
This will download a pre-populated csv file of your hierarchy.
How to import a csv into an active step
- Go to File > Import > CSV list of objects
- Recommended to leave Delimiter type on Auto-detect
Choose the measurement system to determine how to interpret the values in the csv file.
You can choose to "Only update existing nodes", which will not generate new objects. It will only update nodes if the corresponding name is found in the Step Hierarchy.
How does this feature work
By importing a .csv with standardized headers:
Object Name | Object Type | Material | Transform Position X | Transform Position Y | Transform Position Z | Transform Rotation X | Transform Rotation Y | Transform Rotation Z | Transform Scale X | Transform Scale Y | Transform Scale Z | Callout Title | Callout Title Color | Callout Title Background | Callout Description | Callout Description Color | Callout Description Background | Callout Line Color | Callout Offset X | Callout Offset Y | Callout Offset Z | Callout Width | Callout Auto Width | Callout Scale | Callout Origin | Callout Stroke | Callout Stroke Color | Callout Enabled | Callout Description Enabled |
You can download the header template by using the export feature.
And a prefilled example here.
By default, we use "," as a delimiter, but in case your input fields do not allow it, we also allow importing using different delimiters (to your preference).
Such as:
-
, (comma)
-
; (semicolon)
-
\t (tab)
-
| (pipe)
The importer has an auto detect function as well for your convenience.
Important! Any unit in the csv that is related to physical size is interpreted as meters (independent from the system of measurement specified in a user's preferences). We are planning to allow users to specify different measurement systems upon import, but for now, please convert your values to meters before importing.
Explanation of each header
Object Name
Matches Step Hierarchy name:
- If a name matches to an object already existing in the scene → update values.
- If not, creates a new object by the defined object type.
- If no object type is defined, an empty object is created.
- Newly created objects are parented by an auto generated empty called “Import”, that functions as a group.
- If “Import” already exists (with Transform values position 0, rotation 0 and scale 1), newly created files are put in that parent.
Allows an author to define the object type for newly created entries.
Available options are:
- Root Object - does not have any effect on the import process, only intended to help the author parse the list when exporting the csv file from an active step.
- Empty Object
- Cube
- Sphere
- Plane
- Cylinder
If the name doesn’t match any of these, an empty object will be created.
This column is ignored if the “Object Name” was already found in the Step Hierarchy, in that case the existing object’s properties will be overwritten with the values from the csv.
Transform Position X, Y and Z
Corresponds with Object Properties Transform Position. If a cell is empty, the existing or default values will not be overwritten.
Transform Scale X, Y and Z
Callout Title
Corresponds with Callout properties
Callout Title Color
Requires a hex value (eg. #000000)
Callout Title Background
Callout Description
Callout Description Color
Requires a hex value (eg. #000000)
Callout Description Background
Requires a hex value (eg. #000000)
Callout Offset X, Y and Z
Callout Width
Accepts values between 0.3 and 4. Values outside of this range will be capped.
Callout Auto Width
0 = off, 1 = on
Callout Scale
Callout Origin
Accepts values mentioned in UI dropdown:
- Center
- Top
- Bottom
- Left
- Right
- Front
- Back
- Top Back
- Top Front
- Top Left
- Top Right
- Bottom Back
- Bottom Front
- Bottom Left
- Bottom Right
- Back Left
- Back Right
- Front Left
- Front Right
- Top Back Left
- Top Back Right
- Top Front Left
- Top Front Right
- Bottom Back Left
- Bottom Back Right
- Bottom Front Left
- Bottom Front Right
Callout Stroke
0 = off, 1 = on
Callout Stroke Color
Requires a hex value (eg. #000000)
Callout Line Color
Requires a hex value (eg. #000000)
Callout Enabled
0 = off, 1 = on
Callout Description Enabled
0 = off, 1 = on
How to mass import custom metadata
Custom metadata cam be added by using a prefix of meta in the header of the csv.
Such as seen in this example:
For the "Fan" object name, it would create the following metadata entry:
- metaMaterial Property, will result in a cathegory called "Material Property"
- Empty cells mean the metadata property will not be added to the Object
- A cell with (caps sensitive) DELETE, can be used to mass delete (custom) metadata
Practical example for generating new empty objects with XYZ coordinates and specified Callout values.
This csv:
Would result in an import like this: