Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with compatibility #392

Open
MaKaNu opened this issue Jun 8, 2023 · 4 comments
Open

Issue with compatibility #392

MaKaNu opened this issue Jun 8, 2023 · 4 comments

Comments

@MaKaNu
Copy link

MaKaNu commented Jun 8, 2023

It seems the most part (or all of them) are incompatible with assembly4 or any othe plugin for assembly. I got a dirty workarround for example the arduino mega where I converted every volume into a part. But seriously this library is worthless if nobody is able to use them in proper assembly. I understand that the community is unsure about which assembly toolbox is the best one, but we need some common ground to have a library which is working in any case. Sure I can build my own library but this doesn't help anybody.

Can we have a plan how to Contribute to this Repo? I am willing to contribute, but we first should discuss any workflows how the parts should be generated and loaded.

I literally rebuilded most of the parts I needed already and it is time consuming and frustrating progress. I really want to support open source CAD. I come from a Catia Background and used traceparts recently. I understand everybody who has not that strong open source mind as me who never like to touch FreeCAD.

@luzpaz
Copy link
Contributor

luzpaz commented Jun 10, 2023

@yorikvanhavre ☝️

@yorikvanhavre
Copy link
Member

A large part of FreeCAD users is not using any assembly workbench, and therefore it does not make much sense to force them to use one IMHO. All we would get is less contributions. The contents of this library are built and offered by users, free of charge, with no guarantee whatsoever that it will be fit to your purpose or that you'll be able to use it without any additional work... Basically the same as FreeCAD itself. It's not a commercial product.

However, indeed it might be good to help people to use an assembly WB when needed. Would you like to share your experience and start working on some document that explains best practices? I think that could help future contributors a lot.

@MaKaNu
Copy link
Author

MaKaNu commented Jun 12, 2023

After reading the first paragraph I thought you misunderstand my complain, but the second paragraph aim exactly in the direction I had in mind.

I think the Generic Objects or Architectural Parts and few more do not have the need for an assembly. If I am right with this assumption I am total with you and limiting those users wouldn't benefit this repo and would reduce contributions.

My experience with Catia was the following, when ever I needed Parts, which are absolutely common (Screws, nuts), I used the platform tracepart to download the corresponding part, switched in Catia to AssemblyDesign imported the File and started to create constrains. Until now I tested around with the plugins a2plus and assembly4, which as I understand so far address different user groups (a2plus more for the interactive approach, so a bit more beginner friendly and assembly4 with the more structural approach and based around constrains of Coordinate Systems). I tend to like the assembly4 approach more because the freedom that it gives, but also liked the approach of a2plus, which is closer to the behaving of Catia.

Based on this experience I would say that models from the mechanical or electronical category should also not guided to be assembly4 or a2plus created structures. But the issue I saw, no model I tried to use in either one of the plugins worked.

As an example: Electronics Parts/Boards/Arduino/arduino-mega.fcstd

If I load this model (and other models had the same issue), all parts are stored in a folder structure beginning with source. I understand the Idea, that the models are somehow linked and positioned based on those sources, but mostly I am unable to follow the creation process, because only volumes are present. This is fine if nothing else is available, but the positioning is also not understandable. I am not sure if it is possible to achieve this in another way and keep it compatible with a2plus and assembly4.

But the real issue If I load the board into a new file, save it and try to load it in assembly4 or a2plus, either the complete model or (in case of the board) only the PCB and the Chip is directly compatible and the pinheaders and rest aren't. It seems to be a problem with the migration but couldn't figured out yet what resulted in the migrations issue. I was able to recreate the board with some weird linking again and manual transformations.

So far my experience. I would like to start some documentation about best practice, but would also discuss (maybe here) what maybe was the problem that caused the problems. Maybe if I understand the root cause I can produce a better understanding how to integrate assembly compatible parts.

@yorikvanhavre
Copy link
Member

yorikvanhavre commented Jun 13, 2023

Ok I see the main issue here, indeed it's something we could start to address by documenting better:

Objects in the library are available (or should be...) in two forms: FCStd and STEP. The FCStd version is the "source" file, where the user created the object, and probably it comes with all the parametric chain in it, which turns it hard to move around. But that's the intent here. The STEP version is an export of the FCStd file, where only the final shape of the object is kept. So when placed inside a FreeCAD model, it comes as one single object, which is movable, handlable with assemblies, etc.

So it should be clear to the user which version to use: FCStd when you want to modify the object, or STEP when you just want to use it and place it into another model. I think that's something we can add to the README.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants