CADLink
Importing Step and 3MF files from CAD systems
Last updated
Importing Step and 3MF files from CAD systems
Last updated
In the latest release, it's important to note that PIXYZ and CADLink cannot coexist within the same project. We are working on this issue.
To address this limitation, you should opt to use either one of these tools but not both simultaneously. To resolve any conflicts:
If you prefer CADLink, remove the entire PIXYZ folder from your project.
Conversely, if PIXYZ is your chosen tool, completely delete the CADLink folder from your project.
CAD Import for Step files works only in Unity-Editor (not in Unity Builds) and only on Windows systems (not with OSX or Linux Unity Editors)
CADLink is available as a separate asset in the Unity Asset Store and it is included in the realvirtual.io Professional package. CADLink is able to import 3MF files and STEP files into Unity. STEP is a de facto standard for 3D CAD data and more or less all CAD Systems are able to export STEP files.
Advanced tools for working with large assemblies like Selection Window, CAD Checker or CAD Updater are only included in realvirtual.io Professional. CADLink as a standalone solution only supports what is described on this page.
Please check also the Youtube video, which demonstrates CADLink and working with large mesh data:
After installation, you will find CADLink under Assets>CADLink
, if you are using it as a stand-alone asset or you will find it under game4automation>private>CADLink
The folder structure looks like this:
In the main folder you will find sample scenes for each import type, e.g. as a 3MF file and another scene based on a STEP file.
To import 3D data into your scene you need to drag and drop the CADLink prefab into your scene or you can use in realvirtual.io Professional the Menu realvirtual> Add CADLink (Pro)
You are now able to import your CAD assembly as a sub-hierarchy into the CADLink top node. It is possible to include in one scene multiple CADLink interfaces if needed.
Please make sure that the name of your importfile only consists of letters from the latin alphabet.
The import is always done into the scene itself as meshes in child objects under the CADLink top node. No prefab is created and the meshes are only present in the scene itself. If you would like to create a prefab you could use Unity’s FBX exporter (see https://docs.unity3d.com/Packages/com.unity.formats.fbx@2.0/manual/exporting.html) after importing into the scene.
With CAD Updater you can update your scene data based on a new version of the CAD file without losing anything that you added to the Gameobjects inside the scene. This is a semi-automated process. Before updating you can check changes that are going to be performed by the update.
CAD Updater is attached and started automatically if there is already something existing under CADLink when you start the CADImport. If you don’t want to perform an update you must manually delete all Data which have been imported before.
For more information please read the section CAD Updater.
To import STEP files is the recommended way for reading data of CAD Systems. When importing Step files the tessellation is done within Unity.
Please note that the import of large CAD files (e.g. 1.5 GB) can take up to 30 to 45 minutes.
The STEP import settings are very simple:
The file (*.stp or *.step) to import.
The scale factor of the import. 0.001 corresponds to one Unity Unity equals 100mm.
You can select 6 different quality modes for the mesh tessellation (very low, low, middle, high, very high, ultra).
Please always use lowest quality level which is giving you the needed visual quality in a normal camera distance. Importing components in to high quality levels might impact perfromance in very large models. Specially if you would like to create reusable components you should take care about a suitable quality level. Usually you should use low, middle or high quality level.
If you set this parameter true, your import data will be rotated so that the Z-axis points upwards.
If false
, the Step import applies a standard material with an Albedo value corresponding to the color in the Step file. This material will be attached to the mesh and is not an instantiated shared material which is available in the Assets folder.
For reusable components, for better visual quality and for better performance it is recommended to assign instantiated shared materials and to import with Set and create materials = true
If true
, for all imported materials where no material mapping is defined, automatically a standard material is created with the name Col#[Hexcode]
. This material is placed into the given standard folder (realvirtual> CADLink > Materials
).
If a Material mapping is defined, during Import CADLink is trying to map the colors defined in the Step files to Unity Materials. To do this it is necessary to define a Material mapping where you need to select the color value of the Step color and the corresponding Material.
A material mapping scriptable asset is created by Create >
realvirtual> Add material mapping
.
Some CAD Systems like Solidworks, Solidedge, ProE / Creo and NX are able to write 3MF Files. Please check your CAD System documentation to see if your system is also able to write 3MF Files.
The advantages of 3MF files are:
The tessellation is done by the CAD System which provides usually a very good quality
It is the modern tessellation 3D-printing standard - which fits perfect to Unity
Assembly structure is included
Color and material information is included
It is zipped and low sized
It includes multiple occurrences only one time - which reduces the file sized
No known limitations. Solidworks exports everything correct (assembly structure, colors and materials).
No known limitations. Solidedge exports everything correct (assembly structure, colors and materials).
Please use this export options:
You can use this solution to write 3mf files: https://apps.autodesk.com/FUSION/en/Detail/Index?id=9199586017740700165&appLang=en&os=Win64
Colors and assembly structure is not exported correct (flat structure without colors).
No known limitations
NX is exporting currently no assembly structure. Colors are exported.
In the Inspector you can check and change the CADLink settings:
File
You can type in the relative or absolute File path or you can select the file path by pushing on the button Select CAD Import File
Delete before importing
This deletes the old imported data automatically when importing once again.
Remove top assembly node
Removes the top assembly node when importing the CAD data. This means that CADLink object is acting like the top assembly node.
Name Clones Identical
If clones (multiple occurrences of an identical part in the assembly structure) you can name all of the same or you can let the importer add a number in brackets to the imported name.
Import scale factor
The scale factor for the import. Normally, if one unit in Unity means for you 1 meter and you are exporting the 3mf file in millimeters this should be 0.001.
This should be normally turned on. Even if the exporter is combining vertices at the same position into one vertex, CADLink is separating them. This makes usually the rendering much nicer if this is combined with Advanced recalculate normals.
Unity recalculate normals
Defines that Unity should recalculate the normals. We recommend to turn that off.
Advanced recalculate normals
Lets the importer to recalculate the normals and - if needed - to combine the separated vertices again to one. The calculation is done based on the angel between the triangle surfaces. If the angle is above the defined angle (in Degrees) an edge is created (with separated vertices). This gives a sharp edge shading. If the angle is below the vertices are combined and a normal is calculated which gives a smooth edge.
See the difference in this pictures. With recalculated normals:
Without recalculated normals:
Calculate UVs
This option takes some time when importing. So please just turn it on when needed.
You can calculate UVs automatically for mapping material textures on the surface. You can change the UV scale factor.
With scale factor 0.01:
With scale factor 1:
Usually during the import new materials are created - if not existing - based on the naming of the imported color. You can change these materials if needed.
Another option is to define a Material Mapping. This will map a given material to a certain imported material and color name combination.
You can start the material assignment independent from the import by pushing the button “Update Materials”. In the import process the materials are automatically updated.
Set and Create Materials
If turned of no materials are created during import.
Overwrite Existing Materials
If a material which is currently imported already exists it will be overwritten.
New Material Path
Defines the path where the new imported materials should be created.
Material Mapping
Defines the Material mapping table. You can have in your project multiple material mapping tables. To create a new one and to automatically assign the new one to the CADLink object just press the button Create New Material Mapping
In the Material Mapping settings you can define a color and/or a material name and assign this to a Unity material.
CADLink checks the assignment in the following order:
First, assign materials if the Material name and Color name are defined in the table (and if they are not empty).
Second, assign materials if the Material name is in the table and the Color name is empty.
Third , assign if the Color name is in the table and the Material name is empty.
You can import 3MF files also during runtime. During runtime import materials are not created in the Material Assets. For changing materials you must provide before importing during runtime all materials with a corresponding Material Mapping.
© 2022 in2Sight GmbH https://realvirtual.io - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.