State of Assembly 2

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!
vocx
Posts: 1429
Joined: Thu Oct 18, 2018 9:18 pm

State of Assembly 2

Postby vocx » Thu Sep 12, 2019 3:54 pm

Edit by moderator: This topic was split from https://forum.freecadweb.org/viewtopic.php?f=8&t=39286
.
Buddy Hy wrote:
Thu Sep 12, 2019 10:51 am
When trying to do this in a new document I get this error:

argument 1 must be str, not bytes

Nothing is imported.
Assembly2 is obsolete. It hasn't been maintained in three years or so. You can use A2plus Workbench instead; but beware, it is not compatible with Assembly2. You will have to re-create the assembly entirely in A2plus.

And yes, the problem seems to be using Python 3 in code that is meant for Python 2.
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby easyw-fc » Thu Sep 12, 2019 6:45 pm

vocx wrote:
Thu Sep 12, 2019 3:54 pm
Assembly2 is obsolete. It hasn't been maintained in three years or so.
???
PR#159: Update assembly2 code to work with python 3 and with FreeCAD 0.18/0.19 merged on May27 2019
Others commits on May, Jan 2019 and Nov 2018.
https://github.com/hamish2014/FreeCAD_a ... its/master
vocx wrote:
Thu Sep 12, 2019 3:54 pm
And yes, the problem seems to be using Python 3 in code that is meant for Python 2.

Code: Select all

obj.Shape.importBrepFromString
This seems an error on FC importBrepFromString function, and should be fixed inside FC.
vocx
Posts: 1429
Joined: Thu Oct 18, 2018 9:18 pm

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby vocx » Thu Sep 12, 2019 8:28 pm

Those commits prove nothing. It was just updated to run with Python 3, but that's basically it. No new development is taking place; it is unmaintained.
Assembly2_unmaintained.png
Assembly2_unmaintained.png (15.09 KiB) Viewed 331 times
easyw-fc wrote: This seems an error on FC importBrepFromString function, and should be fixed inside FC.
No.
Buddy Hy wrote:
Thu Sep 12, 2019 10:51 am
obj.Shape.importBrepFromString( z.open( shape_zip_name ).read() )

argument 1 must be str, not bytes

Nothing is imported.
This means that this should happen

Code: Select all

obj.Shape.importBrepFromString(  STRING  )
But this is happening

Code: Select all

obj.Shape.importBrepFromString(  BYTES  )
The problem is with

Code: Select all

z.open( shape_zip_name ).read()
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby easyw-fc » Thu Sep 12, 2019 9:42 pm

vocx wrote:
Thu Sep 12, 2019 8:28 pm
Those commits prove nothing. It was just updated to run with Python 3, but that's basically it. No new development is taking place; it is unmaintained.
that proves that there are users that are merging code to the A2 wb... which means it is maintained.
vocx wrote:
Thu Sep 12, 2019 8:28 pm
easyw-fc wrote: This seems an error on FC importBrepFromString function, and should be fixed inside FC.
No.
Buddy Hy wrote:
Thu Sep 12, 2019 10:51 am
obj.Shape.importBrepFromString( z.open( shape_zip_name ).read() )

argument 1 must be str, not bytes

Nothing is imported.
This means that this should happen

Code: Select all

obj.Shape.importBrepFromString(  STRING  )
But this is happening

Code: Select all

obj.Shape.importBrepFromString(  BYTES  )
The problem is with

Code: Select all

z.open( shape_zip_name ).read()
so the problem is probably with the code involving ZipFile ...

Anyway if there are users aimed to patch this wb, and the owner is merging those patches, this means that a2 wb can't be addressed as unmaintained IMO.
vocx
Posts: 1429
Joined: Thu Oct 18, 2018 9:18 pm

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby vocx » Fri Sep 13, 2019 2:21 am

easyw-fc wrote:
Thu Sep 12, 2019 9:42 pm
Anyway if there are users aimed to patch this wb, and the owner is merging those patches, this means that a2 wb can't be addressed as unmaintained IMO.
I disagree.

There is pull request #149 from January 2018, almost two full years, that hasn't been merged. And this is why:
NormandC wrote: Date: Jan 21, 2018
Matt-Kron, this repo does not have a maintainer anymore. hamish2014 abandoned its development 2 years ago; BPLRFE, who had requested and gotten write request from the owner, died last September. https://forum.freecadweb.org/viewtopic.php?f=8&t=25673

Another user simply decided to work on his own fork. https://forum.freecadweb.org/viewtopic. ... 63#p209711
Normand is talking about Assembly2 being unmaintained already at the beginning of 2018, mentioning that hamish didn't develop further the workbench past 2016 (two years). Moreover, Roland Frank, a new maintainer for the repository, tragically died.

A person that is only alive due to a respirator in intensive care is technically alive, but for all intents and purposes that person is no longer among the living.
Assembly2_unmaintained_2.png
Assembly2_unmaintained_2.png (33.84 KiB) Viewed 294 times
Assembly2_unmaintained_3.png
Assembly2_unmaintained_3.png (112.07 KiB) Viewed 294 times
chrisb
Posts: 18106
Joined: Tue Mar 17, 2015 9:14 am

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby chrisb » Fri Sep 13, 2019 5:51 am

These arguments are rather poor.
1. The fact that a pull request hasn't been merged says nothing. I'm sure there are rejected pull requests in the FreeCAD repository dating back to 2018 - so what?
2. The fact that it is marked obsolete in Addon manager means usually that it is no longer maintained. (Who marked it? When was it marked?)
3. It may have been abandoned, but there is some activity, and porting to python3 is something that usually is called maintenance.

We sure can agree that it is currently not actively developed, and maintenance could be improved.
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby easyw-fc » Fri Sep 13, 2019 6:16 am

vocx wrote:
Fri Sep 13, 2019 2:21 am
easyw-fc wrote:
Thu Sep 12, 2019 9:42 pm
Anyway if there are users aimed to patch this wb, and the owner is merging those patches, this means that a2 wb can't be addressed as unmaintained IMO.
I disagree.
That is simply your opinion. No one owner comment in what you reported here.
You have joined this forum too late to know A2 full story...

It has been the only assembly wb for so long and many users have projects based on that.
It cannot be suggested for new design, but I think it could be quite simply patched to be fully Py3 and Qt5 compatible.

I have contributed both to Assembly2 and Assembly2 Plus and I remember that even on FC0.17 this wb was near to be abandoned, but the need to be adapted to Body was just few lines of code.
It is useful to remember the FC motto:
chrisb wrote:
Wed Mar 20, 2019 9:54 pm
Following the motto "It's done when it's done"
@vocx I also saw your comment at the GH repo... Instead of trying to close this project you could try to help in fixing bugs IMO.
User avatar
easyw-fc
Posts: 2627
Joined: Thu Jul 09, 2015 9:34 am

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby easyw-fc » Fri Sep 13, 2019 6:22 am

chrisb wrote:
Fri Sep 13, 2019 5:51 am
We sure can agree that it is currently not actively developed, and maintenance could be improved.
+1
vocx
Posts: 1429
Joined: Thu Oct 18, 2018 9:18 pm

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby vocx » Fri Sep 13, 2019 7:01 am

chrisb wrote:
Fri Sep 13, 2019 5:51 am
These arguments are rather poor.
1. The fact that a pull request hasn't been merged says nothing. I'm sure there are rejected pull requests in the FreeCAD repository dating back to 2018 - so what?
Please stop nitpicking. It is not the fact that the pull request is old or rejected (it wasn't rejected, mind you, it's still open), but the content of it. Normand himself told the user that the repository was abandoned then. That should tell you something.
3. It may have been abandoned, but there is some activity, and porting to python3 is something that usually is called maintenance.

We sure can agree that it is currently not actively developed, and maintenance could be improved.
That's not maintenance. That's nitpicking to be able to say that it's "technically" maintained. It's not. It's still available, but it cannot be considered maintained. It is a disservice to new users to call it that way. New users should try a newer workbench for their own sake.
vocx
Posts: 1429
Joined: Thu Oct 18, 2018 9:18 pm

Re: Bug Report: Assembly 2 - Import a part from another FreeCAD document

Postby vocx » Fri Sep 13, 2019 7:15 am

easyw-fc wrote:
Fri Sep 13, 2019 6:16 am
That is simply your opinion. No one owner comment in what you reported here.
The owner himself says so in the README.md in the repository. I already posted that. You are willingly ignoring that piece of information.
Assembly workbench for FreeCAD v0.15, 0.16 and 0.17 with support for importing parts from external files. This workbench in not maintained.
Please submit a request that changes that to
This workbench in not maintained by hamish2014, but it is by easyw-fc!
easyw-fc wrote: I have contributed both to Assembly2 and Assembly2 Plus and I remember that even on FC0.17 this wb was near to be abandoned, but the need to be adapted to Body was just few lines of code.
Obviously you have a personal attachment to that workbench, but you have to call it what it is, unmaintained.
easyw-fc wrote: It has been the only assembly wb for so long and many users have projects based on that.
It cannot be suggested for new design, but I think it could be quite simply patched to be fully Py3 and Qt5 compatible.
That's not maintenance. That's nitpicking to be able to say that it's "technically" maintained. It's not. It's still available, but it cannot be considered maintained. It is a disservice to new users to call it that way. New users should be directed to try a newer workbench for their own sake. Obviously, old users who had projects can continue using the workbench as they see fit, but that's about it. Calling something obsolete doesn't mean it is the end of the world for it; we all use obsolete things in our daily lives, it doesn't mean we can't use them, just that we shouldn't expect support for them. The T-800 was obsolete, and it was still pretty good against the T-1000.

I cannot disappear the workbench. It will live forever, that's the nature of free software. But it's the very definition of obsolete, no hard feelings.