Using the ArcGIS Pro SDK, I can construct a 3d symbol from a model file, such as DAE or STL using
ConstructMarkerFromFile()
CIMMarker cimMarker = await QueuedTask.Run(() =>
SymbolFactory.Instance.ConstructMarkerFromFile(filepath)
);I want to achieve the same result except using a file that has been first read into a MemoryStream, using ConstructMarkerFromStream(Stream stream).
However, I get an exception "parameter is not valid". This suggests that ConstructMarkerFromStream is expecting a PNG image in the stream, not an XML 3D model.
In the only usage example I can find, an ImageFormat is being specifically identified as PNG to the stream.
Image newImage = Image.FromFile(@C:\\downloads\\mymodel.dae);
var stream = new System.IO.MemoryStream();
newImage.Save(stream, ImageFormat.Png);
stream.Position = 0;
CIMMarker markerFromStream = SymbolFactory.Instance.ConstructMarkerFromStream(stream);
How can I get ConstructMarkerFromStream() to understand the stream is a DAE object and not an image? Or is there another way to import DAE from a stream?