petrbroz / svf-utils

Utilities for working with the SVF file format used by Autodesk Platform Services.
https://petrbroz.github.io/svf-utils/
MIT License
122 stars 51 forks source link

Is f2d currently not supported? #53

Open pangzx1 opened 2 years ago

pangzx1 commented 2 years ago

I can convert svf to gltf with this tool, but I don't see information about f2d conversion. Does this conversion tool not support f2d?

petrbroz commented 2 years ago

The converter is mainly focused on translating Forge models into the glTF format, so it's not really relevant for 2D drawings. What kind of conversion exactly are you looking for? Something like F2D to SVG perhaps? I haven't considered that, but if there's a demand for this kind of feature, we could look into it.

pangzx1 commented 2 years ago

In fact, I prefer to convert f2d to json. Because it gives me more flexibility in three.js. Of course, converting f2d to svg as you said is also supported in three.js. By the way, why is Forge still using the three.js r0.71 version?

pangzx1 commented 2 years ago

The converter is mainly focused on translating Forge models into the glTF format, so it's not really relevant for 2D drawings. What kind of conversion exactly are you looking for? Something like F2D to SVG perhaps? I haven't considered that, but if there's a demand for this kind of feature, we could look into it.

I don't know if it is possible to convert f2d to json. But I always believed it was possible.

dykarohora commented 2 years ago

I too found it very useful to be able to convert F2D to SVG.

However, I don't know how to parse F2D into vector data, so it would be helpful if you could tell me how to do that.

petrbroz commented 2 years ago

By the way, why is Forge still using the three.js r0.71 version?

This is a long story but I'll try and explain it shortly: when Forge Viewer was built on top of three.js R71, the rendering pipeline had to be modified significantly to handle large/complex static scenes. Unfortunately these modifications couldn't be implemented "cleanly" on top of three.js, and instead they involved some deep changes to the internal code. That's why moving to a newer version of three.js today is very difficult and error-prone. With that said, however, the engineering team is still researching ways of making Forge Viewer more detached from any specific three.js version, and we're hoping to be able to let you upgrade to newer versions with as little effort as possible.

petrbroz commented 2 years ago

However, I don't know how to parse F2D into vector data, so it would be helpful if you could tell me how to do that.

As we mentioned earlier, currently there's very little demand for an F2D parser so this feature doesn't have a high priority on our list.

Depending on what exactly you're trying to do, you could make use of the Autodesk.Viewing.Private.VertexBufferReader utility class that can parse primitives of a 2D drawing during runtime, as explained in this blog post: https://forge.autodesk.com/blog/working-2d-and-3d-scenes-and-geometry-forge-viewer. However, this approach requires you to load the F2D file into Forge Viewer first.