Allow vector drawing files to be saved and loaded, in the same way as bitmapped images

Why if you can Save and Load bitmapped files in a variety of formats including .png, why is there no facility to Save and Load Pencil2D vector files too?

Within the data directory within the .pclx and also within the .pcl file format the vector drawings are stored in XML files with the .vec extension.

Saving a Vector Drawing

The software already has code to allow the user to send saved graphics files to the desired directory. To save the vector drawing all that has to be done is load the .vec file into a text buffer and then save it with the same .vec extension in the user desired directory. There is already provision for the user to change the filename.

Loading a Vector Drawing

Similar to the Save operation there is already the provision to change the source directory. The file could be loaded into a buffer and then saved into the data directory within the project file area. The frame number and layer name can be obtained in the same way, as is done for loading a drawing into a bitmapped layer. The filename, if in the layer.frame_number format can be generated in the same way as with loading bitmapped images and thus the load command can be generated and inserted into main.xml file within the project, as per the procedure used for bitmapped image insertion.

Allowing individual vector drawings to be save and loaded would allow vector drawings to be easily shared between projects.

The pclx format is an internal file format intended to be used only by Pencil2D. The “.vec” files are a made up file format used to store vector frames in this internal format. While it would be quite easy for other programs to read these formats, and is quite easy to edit manually, we do not advertise them as open formats. This is because we need to be able to make changes to the format to support new features and we do not want to have to worry about compatibility with anything outside of our control.

It is definitely technically feasible to export and import .vec files, but as an internal format, I do not think it would be a good idea. I agree that being able to transfer vector data between projects is important, and I would like to see that be made easier, but I don’t think this is the right way to go about it. In an ideal world we would have full svg import/export functionality for vectors. I believe that is on our roadmap and I would love to see that happen, but there are likely several more important things and easier things to implement/improve with the vector engine, and as you know, vectors are not even a high priority for any of our volunteer developers right now.

The best solution I have for you right now is to use the “Import > Layers from Project file” feature. It imports whole layers at a time, but it should work fine even with vector layers, at least in the nightly builds.

1 Like

Just for curiosity, when is the next release of Pencil2D expected to be released?

I’m not asking for an exact date but for a “ball park estimate”.

It’s entirely dependant on our free time and requires coordination across the entire team to get it done.

We don’t have an estimated time of arrival I’m afraid, not even a guess. The best you can do is to use the nightly build, if you want the newest features, bug fixes and the like. :slight_smile:

1 Like

In practice I prefer to use the stable version of Pencil2D build and use a proven work around to be able to use the Import Layers into the project.

My work around is then to save the project, using Temp.pclx and then follow this with Open the Temp.pclx file.

Loading this file, using the Open file operation, initialises Pencil2D project file correctly. This indicates that the files. including Main.xml etc. are edited correctly, but the files are not correctly linked.