# Import .dae 3D format files without ignoring nodes?

Posted 1 year ago
2264 Views
|
5 Replies
|
1 Total Likes
|
 Collada .dae 3D format is in fact xml document which contains section with some "meshes", where the coordinates and normals of surface meshes points are provided.But that coordinates are not refereed to basic coordinate system. DAE file contains an other, section, which holds a tree of nested lists of "nodes" - transformation matrices describing coordinate transformation of the nested node from the parent one. And only the last, leaf node contains reference to some mesh name, so the mesh coordinate system is given by set of coordinate transformation. A lot of 3D modelling soft exports a set of model "parts" in very such way.Looks like Mathematica Import[] function do not take into account nodes section, so imported complex models have details teared apart and grouped near the center of coordinates. Import[SomeModel, "CoordinateTransform"] provides a single and unit transformation matrix not changes at all on change of "nodes" matrices Have tried to import some .dae models. Import[SomeModel, "MeshRegion"] and Import[SomeModel, "GraphicsComplex"] both give the same teared apart result. Coded some handmade parser, which extracts meshes from and provides the resulting set of 3D surfaces without additional transformations - completely the same "teared" result as in stage 1. Coded additional parser, which extracts a set of transformation matrices for every mesh, and applied a result to it - valid 3D model with the parts on proper places. ps: it would be very convenient if Import[] did not "melts" all meshes in a single one, but provides them as a set of objects together with their transformation martices, or have a option for this.
5 Replies
Sort By:
Posted 1 year ago
Posted 1 year ago
 What exact confirmation you need from me if Import[] imports dae models like http://www.cadnav.com/3d-models/model-45969.html in such way (see below)?
Posted 1 year ago
 As a workaroud is first import .3ds file and then export to .dae file.Where file: "T-90.3ds", You copy to: "C:\Users\Name of user\Documents" on Windows operating system.  model = Import["T-90.3ds"] model2 = Export["NewT-90.dae", model] model3 = Import["NewT-90.dae"] Regards Mariusz I.