About PDM for FreeCAD

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: About PDM for FreeCAD

Post by grd »

On youtube I found these videos about using SVN (there are more):

* a comparison between GIT and SVN https://youtu.be/JpOUbX1psh8 (I think it is a bit biased, but still good)
* a basic SVN tutorial https://youtu.be/6jP6k71qe0c (with the command prompt)
* a different SVN tutorial https://youtu.be/pzbpTNX4XtM (using smartsvn, a GUI)

I think that SVN solves (almost) all the issues that are involved as a PDM. SVN can be used not only for small teams (corporate) but also globally, around the world. And that smartsvn should be used unless you want to deal with the command prompt, which is good, but we now live in a GUI world. Yes, it involves a bit more knowledge than using SolidWorks PDM or whatever company PDM, but it is still easy to learn. And we need to document it so that this knowledge doesn't go away.

So SVN solves lots of issues. But what next? What issues doesn't solve SVN? It solves almost all of the list that I made, but what doesn't SVN solve? Maybe it is check-in / check-out? It is "easy" to deal with SVN, because it has Python access. Maybe in the future, with more experience, we should make an easy wrapper around smartsvn or SVN, so we can easily modify attributes in the FC files? But the "engine" looks promising.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
user1234
Veteran
Posts: 3502
Joined: Mon Jul 11, 2016 5:08 pm

Re: About PDM for FreeCAD

Post by user1234 »

I am not a expert and never used svn before, but i also see some issues using svn, please correct me, if i am wrong.

- As i see, svn is for project(s), but not for interchange parts (maybe you can, but handling this will be hard).

- Like git, it overwrites whole documents (binary files) every save/synchronization. So the size will increase rapidly. If you only work on one project, this will work, but if you using svn for project overarching, the size of it can not be handled (files with more 250MByte or much bigger is absolute realistic).

- How to save metadata with it? File name only if often too less. Simple metadata like material, volume, mass, norm, ...... to advanced (maybe custom) metadata like, datasheets (ID from an other table), measuring points, surfaces, treatments, BoM(s) (ID from a other table), type (A, B, or C part (https://en.wikipedia.org/wiki/ABC_analysis), simple strings, int, boolean, or whatever.

- To the point above, searching without all metadatas is hard. In sql, it is easy to handle, example all i want all sleeves, which are from corrosion free steel (when is is saved with numbers).

Code: Select all

SELECT * FROM parts
WHERE name LIKE '%sleeve%' AND material LIKE '1.4%';
How i do this in svn? Maybe it is possible, but i do not know how. And a search in the internet gave me only searches for filenames. But most parts can not described only with file names.

- How to manage mass changes? For example one supplier say, part group will change (for example the material). How do i change them mass?


Maybe it is possible, to get life back in OpenPDM, since it seems to work before.

Greetings
user1234
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: About PDM for FreeCAD

Post by grd »

user1234 wrote: Fri May 06, 2022 9:53 am I am not a expert and never used svn before, but i also see some issues using svn, please correct me, if i am wrong.
I don't think that we have many experts on this area, but Zolko knows a bit more about this since he worked with it with 5 employees using SVN.
- As i see, svn is for project(s), but not for interchange parts (maybe you can, but handling this will be hard).
No. I don't think that it is harder than using git. In fact, it should be easier than git. See my previous list.
- Like git, it overwrites whole documents (binary files) every save/synchronization. So the size will increase rapidly. If you only work on one project, this will work, but if you using svn for project overarching, the size of it can not be handled (files with more 250MByte or much bigger is absolute realistic).
Of course SVN is gonna work. The benefit is that it uses versioning, so each file that you "check in" doesn't need to be checked-in afterwards, so in total the file size isn't gonna grow. This in contrast with when you use an ordinary backup scheme.
- How to save metadata with it? File name only if often too less. Simple metadata like material, volume, mass, norm, ...... to advanced (maybe custom) metadata like, datasheets (ID from an other table), measuring points, surfaces, treatments, BoM(s) (ID from a other table), type (A, B, or C part (https://en.wikipedia.org/wiki/ABC_analysis), simple strings, int, boolean, or whatever.

- To the point above, searching without all metadatas is hard. In sql, it is easy to handle, example all i want all sleeves, which are from corrosion free steel (when is is saved with numbers).

Code: Select all

SELECT * FROM parts
WHERE name LIKE '%sleeve%' AND material LIKE '1.4%';
How i do this in svn? Maybe it is possible, but i do not know how. And a search in the internet gave me only searches for filenames. But most parts can not described only with file names.

- How to manage mass changes? For example one supplier say, part group will change (for example the material). How do i change them mass?
Yes, I agree, we need to think about this. This is why that maybe in the future we should create a wrapper around smartsvn or SVN to deal with attributes. You can use Python for that. But the foundation SVN seems good to me.
Maybe it is possible, to get life back in OpenPDM, since it seems to work before.
Yes, and please notify us when you are ready or dealing with difficulties.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
chrisb
Veteran
Posts: 54201
Joined: Tue Mar 17, 2015 9:14 am

Re: About PDM for FreeCAD

Post by chrisb »

SVN can call scripts before and after a commit. These can e.g. unzip a FreeCAD project before commiting so that only the changed parts in a project will update. It could even be possible to remove the BREP files, if certain requirements are fulfilled.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: About PDM for FreeCAD

Post by Jee-Bee »

user1234 wrote: Fri May 06, 2022 9:53 am - Like git, it overwrites whole documents (binary files) every save/synchronization. So the size will increase rapidly. If you only work on one project, this will work, but if you using svn for project overarching, the size of it can not be handled (files with more 250MByte or much bigger is absolute realistic).
It depend how you handle savings. The easy way is just overwrite the existing files(maybe except released state since you want to go back to it). Maybe in future the feature of saving a number of versions or in between base-lines is possible.
user1234 wrote: Fri May 06, 2022 9:53 am - How to save metadata with it? File name only if often too less. Simple metadata like material, volume, mass, norm, ...... to advanced (maybe custom) metadata like, datasheets (ID from an other table), measuring points, surfaces, treatments, BoM(s) (ID from a other table), type (A, B, or C part (https://en.wikipedia.org/wiki/ABC_analysis), simple strings, int, boolean, or whatever.

- To the point above, searching without all metadatas is hard. In sql, it is easy to handle, example all i want all sleeves, which are from corrosion free steel (when is is saved with numbers).
There is no single tool that will do all the work. (If it is we wouldn't discuss about it :lol: )
We need to have a combination of tool and functions that fulfill the needs. Interaction between svn and a database is one of the chalenges we have to dive in!
user1234 wrote: Fri May 06, 2022 9:53 am - How to manage mass changes? For example one supplier say, part group will change (for example the material). How do i change them mass?
It is a long term request of my that every part design object is able to add a material. If FreeCAD have that option it is easy to recalculate the mass and that is easy to communicate these properties with the PDM.
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: About PDM for FreeCAD

Post by Jee-Bee »

I have checked: Alternative to svn and there are about 15 alternatives for svn. most are distributed version systems(just like git). some are centralized just like svn. maybe there are some other interesting projects out there...
user1234
Veteran
Posts: 3502
Joined: Mon Jul 11, 2016 5:08 pm

Re: About PDM for FreeCAD

Post by user1234 »

Jee-Bee wrote: Fri May 06, 2022 11:41 am It depend how you handle savings. The easy way is just overwrite the existing files(maybe except released state since you want to go back to it). Maybe in future the feature of saving a number of versions or in between base-lines is possible.
OK, thanks for clarifiaction. That is good.


Jee-Bee wrote: Fri May 06, 2022 11:41 am There is no single tool that will do all the work. (If it is we wouldn't discuss about it :lol: )
Agreed!


Jee-Bee wrote: Fri May 06, 2022 11:41 am It is a long term request of my that every part design object is able to add a material. If FreeCAD have that option it is easy to recalculate the mass and that is easy to communicate these properties with the PDM.
Yes, this would be neat. Metadata like this is pretty awesome handled in Teamcenter.

grd wrote: Fri May 06, 2022 11:10 am Yes, and please notify us when you are ready or dealing with difficulties.
I try a little bit, but some dependencies are not available more (like LEPL or django south). Also the docs are not easy to read like in FreeCAD. The maintainer (seems to be an olympic bronze winner btw.) just was too early here.

fyi: source https://github.com/cadracks-project/openplm
docs: http://openplm.org/docs/2.0/en/ (it is not downloadable, because you must be logged in).

Greetings
user1234
grd
Posts: 328
Joined: Wed Apr 13, 2022 5:13 am
Location: Eindhoven, The Netherlands

Re: About PDM for FreeCAD

Post by grd »

Why do we need information out of the database? We need information out of the assy's and parts. That is what I want. So someone did send me a link that I think is interesting: https://github.com/furti/FreeCAD-Reporting

The only problem (I haven't really look at it) is that it is architecture based. Me, I am a mechanical engineer. I always worked with a PDM and it is always very easy to look at all the files, and modify the data. so I still believe that a GUI with lines and attributes is very easy. Also to report a BOM.

So, this problem is solvable IMO.

This leaves only one problem and that that is searching for files and attributes inside the database. Do you guys ever search inside a git database? I mean, with (SQL) queries?

user1234 wrote: Fri May 06, 2022 12:20 pm
grd wrote: Fri May 06, 2022 11:10 am Yes, and please notify us when you are ready or dealing with difficulties.
I try a little bit, but some dependencies are not available more (like LEPL or django south). Also the docs are not easy to read like in FreeCAD. The maintainer (seems to be an olympic bronze winner btw. :D ) just was too early here.

fyi: source https://github.com/cadracks-project/openplm
docs: http://openplm.org/docs/2.0/en/ (it is not downloadable, because you must be logged in).
I think that it was a very complicated piece of software.
About Nim. Latest Release 2.0.2. Here is Nim in 100 seconds and a Nim package. There are Qt and OCCT packages.
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: About PDM for FreeCAD

Post by Jee-Bee »

grd wrote: Fri May 06, 2022 2:43 pm Why do we need information out of the database?
Basically yes when you are reading the properties from a object. If you meant that FC is reading some properties and change for example the material based on a change in the database. not needed in the near future ;)
grd wrote: Fri May 06, 2022 2:43 pm This leaves only one problem and that that is searching for files and attributes inside the database. Do you guys ever search inside a git database? I mean, with (SQL) queries?
i never did that. basically i didn't know that it is possible. with git i have already difficulties to find certain commits back :(
user1234
Veteran
Posts: 3502
Joined: Mon Jul 11, 2016 5:08 pm

Re: About PDM for FreeCAD

Post by user1234 »

grd wrote: Fri May 06, 2022 2:43 pm This leaves only one problem and that that is searching for files and attributes inside the database. Do you guys ever search inside a git database? I mean, with (SQL) queries?
Jee-Bee wrote: Fri May 06, 2022 3:34 pm i never did that. basically i didn't know that it is possible. with git i have already difficulties to find certain commits back
I think there is a misunderstanding. This is not git, this is sql (i said at in my first post here, that git will not work for that).


grd wrote: Fri May 06, 2022 2:43 pm Why do we need information out of the database? We need information out of the assy's and parts.
I always need metadata from parts or assemblies for working (mechanical engineer and also sometimes on construction sides). Do not want always recreate a part, which already is in a PDM. So i have to search it. That is a PDM for. Or when i want to use a purchase part, which is already in the PDM, i want to look in the datasheet, if suits my needs. Or when someone want to know, how heavy some assemblies are for lifting or transporting, and i do not want to open the whole project files, which maybe took a while. Or if need to coat some parts (corrosion protection, wear protection, or what ever) and i want quick summarized the area and type of it (often used to send it in a ERP for a purchaser). Also i have seen PDM, which saves a *.jt file for a quick 3D preview, even if you want with metadatas like colored surfaces which are coated or measuring points.

Yes, that is big and an only develop step by step, but for that is a PDM for. If i only need it for a project files, then svn will do the job, but then it is not a pdm. So maybe a sql/svn compound is good? Data stored as sql tables, while the filedatas link to a svn?


grd wrote: Fri May 06, 2022 2:43 pm I think that it was a very complicated piece of software.
What i learned is that never rate s software on this appearance (or generally never do rate things/people on its appearance).


Greetings
user1234
Post Reply