Test request

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Test request

Post by ickby »

Hello guys,

back from my trip I go on solving the reported bugs.

@dre99gsx: yes, this problem persists. thing is I have tons of work with the solver and will not work too much on general workbench design. furthermore this problem need some tough design desicions better made buy jriegel or some other core team members, as it heavily depends on part design workbench.

@quick61: Nice! biggest assembly so far. Currently neither cirles or any rounded surface apart from a cylinder are supported. It should give you a error in the report view about unsupported geometrie (It should however not crash...)

@jim currently the difference is just the gui (my branch has the new creation dialog). However, it will differ more in the upcoming weeks. Testing oin my custom branch is better as then I can push all improvements when they are ready, making a pull request first for the jriegel branch brings too much delay.
User avatar
quick61
Veteran
Posts: 3803
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

Re: Test request

Post by quick61 »

ickby wrote:(snip)

@quick61: Nice! biggest assembly so far. Currently neither cirles or any rounded surface apart from a cylinder are supported. It should give you a error in the report view about unsupported geometrie (It should however not crash...)

(snip)
Well, sorry to report, crash it does, immediate and certain, with the previously posted message left behind on the console. Using it more sense my last post, I have looked further at the stall outs of the solver. No extra memory usage but the solver does send a CPU core to flatline at 100% for 2-5 minutes at a time if I try to do something it does not like, though it is more often alignments or constraints that are exactly the same ones I did for an identical part. Just a different location. Closing out FreeCAD and reopening the saved assembly usually allows me to continue. Other times, placing other parts, then coming back to the troubled part works. :?

Another thing that I am finding strange is that sometimes the alignment will only allow a "Perpend." (perpendicular) alignment though the alignment is not perpendicular. - Screenshot -
Only allows one option. All other alignments are grayed out.
Only allows one option. All other alignments are grayed out.
Perpend.png (96.76 KiB) Viewed 3961 times
I'm attaching the full assembly of my latest part for your review as I'm sure there are some mistakes with the alignment and coincidence of the parts but some of them, I had no other option provided.

Maybe, or maybe not related to the solver stall outs that I am experiencing, they "feel" like this issue.

All in all though, great work so far and I'll be watching for updates. :)

Mark
Attachments
Effector_Assembly.fcstd
NOTE: Assembly Branch needed to open this file. Opening in Master will result in an unassembled pile of parts.
(162.89 KiB) Downloaded 113 times
This post made with 0.0% Micro$oft products - GOT LINUX?
User avatar
quick61
Veteran
Posts: 3803
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

Re: Test request

Post by quick61 »

I should also add that with some parts, if the alignment requires the part to rotate, that too will send the solver into a tailspin, sometimes not recovering or taking more than 5 minuets to recover / error out. I almost always kill off FreeCAD if it is locked up more than 5 minuets, 'cause me thinks that is more than enough time. ;)

With just a few parts in an assembly, it does just fine and everything works just like it should. However, with the increase in part count, and subsequent increasing number of constraints, the solver seems to become more prone to errors. Maybe slight and / or acceptable errors are becoming compounded / cumulative?

Mark
This post made with 0.0% Micro$oft products - GOT LINUX?
User avatar
kwahoo
Posts: 680
Joined: Fri Nov 29, 2013 3:09 pm
Contact:

Re: Test request

Post by kwahoo »

Hello all,
so, there is my problem. I need a coincidence between the piston hole and the conrod hole - as highlighted. I applied coincidence between liner (invisible in the picture) and piston surface before. Unfortunately FreeCAD is freezes and everything vanishes when the "piston-conrod" constraint is applied.
Terminal shows:

Code: Select all

Coin warning in SbMatrix::inverse(): Matrix is singular.
Image

Code: Select all

OS: Ubuntu 13.10
Platform: 64-bit
Version: 0.14.2939 (Git)
Branch: assembly
Hash: d62d1c03daa0a464787dab587a3f57c94eefaf97
Python version: 2.7.5+
Qt version: 4.8.4
Coin version: 4.0.0a
SoQt version: 1.5.0
OCC version: 6.5.4
Attachments
crank-assembly.fcstd
(509.42 KiB) Downloaded 113 times
User avatar
NormandC
Veteran
Posts: 18587
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Test request

Post by NormandC »

kwahoo, I deleted your second post since it was a duplicate of the first one.
User avatar
quick61
Veteran
Posts: 3803
Joined: Sat Aug 24, 2013 2:49 am
Location: u.S.A.

Re: Test request

Post by quick61 »

kwahoo wrote:Hello all,
so, there is my problem. I need a coincidence between the piston hole and the conrod hole - as highlighted. I applied coincidence between liner (invisible in the picture) and piston surface before. Unfortunately FreeCAD is freezes and everything vanishes when the "piston-conrod" constraint is applied.
Terminal shows:

Code: Select all

Coin warning in SbMatrix::inverse(): Matrix is singular.
Image

Code: Select all

OS: Ubuntu 13.10
Platform: 64-bit
Version: 0.14.2939 (Git)
Branch: assembly
Hash: d62d1c03daa0a464787dab587a3f57c94eefaf97
Python version: 2.7.5+
Qt version: 4.8.4
Coin version: 4.0.0a
SoQt version: 1.5.0
OCC version: 6.5.4
Hi kwahoo,

I just looked at your file. Keep in mind anything I say comes from a user / tester point of view and I am in no way an expert! (or even correct about anything)

What I see is first you are using a part that was brought in as a built up sketch. From what I know and have read, the assembly only really works with .step, iges, and .brep type files, not native FreeCAD files or parts yet.

What I would do is first export the crank bracket to .step then start over from scratch. First with the piston, then pin, connecting rod, crank, crank bracket, rod cap and finish off with the c-clips. Give it a try in that order and see if things don't work out better. Just remember that this Assembly Workbench is a work in progress and it does not get it right all the time, but that's what the testing is for. ;)

Remember that each part that gets aligned should have both an alignment and a coincidence. I also have found it wise to add a lock, (fix rotation and translation), to the parts once there in place. Probably shouldn't need to in a perfect world, but I have had parts move on me in bigger assembles.

Mark

OS: Ubuntu 13.10
Platform: 64-bit
Version: 0.14.2939 (Git)
Branch: assembly
Hash: d62d1c03daa0a464787dab587a3f57c94eefaf97
Python version: 2.7.5+
Qt version: 4.8.4
Coin version: 4.0.0a
SoQt version: 1.5.0
OCC version: 6.6.0
This post made with 0.0% Micro$oft products - GOT LINUX?
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Test request

Post by ickby »

Hello kawahoo,

thanks for the file, I will have a look. When i find time...
User avatar
kwahoo
Posts: 680
Joined: Fri Nov 29, 2013 3:09 pm
Contact:

Re: Test request

Post by kwahoo »

ickby wrote:Hello kawahoo,

thanks for the file, I will have a look. When i find time...
No problem, I can wait;)
quick61 wrote: What I would do is first export the crank bracket to .step then start over from scratch. First with the piston, then pin, connecting rod, crank, crank bracket, rod cap and finish off with the c-clips. Give it a try in that order and see if things don't work out better. Just remember that this Assembly Workbench is a work in progress and it does not get it right all the time, but that's what the testing is for. ;)
I simplified the assembly a bit. All parts are imported from STEPs now, and the crank has alignment, coincidence and angle constraints. I'm stuck on the last part - piston. I've applied the piston-conrod coincidence and I need a second one for the piston-cylinder pair. Unfortunately this gives me:

Code: Select all

Solver exception 4raised: maximal iterations reached
Image
normandc wrote:kwahoo, I deleted your second post since it was a duplicate of the first one.
Ok, thank you!
Attachments
crank-assembly2.fcstd
(497.67 KiB) Downloaded 113 times
gdo35
Posts: 189
Joined: Wed Jan 25, 2012 7:25 pm

Re: Test request

Post by gdo35 »

Hello,

In the joinded freecad file I cannot move my Sketch0001 from Body to Body0001.
But my protusion Part0001 from the sketch Sketch0001 was well moved.

Trying to remove the Part0001 does not work either, giving this error :

Code: Select all

Exception (Tue Dec 10 17:16:10 2013): Body: Base feature of Pad was removed!
Assembly brings a lot of changes for my n00b skills.
Reading this article brings me some explanations but I do not know if I do it well or wrong.

Here is my configuration :
OS: Ubuntu 13.10
Platform: 64-bit
Version: 0.14.2939 (Git)
Branch: assembly
Hash: d62d1c03daa0a464787dab587a3f57c94eefaf97
Python version: 2.7.5+
Qt version: 4.8.4
Coin version: 4.0.0a
SoQt version: 1.5.0
OCC version: 6.6.0

Thanks,
gdo
Attachments
ascensceur.fcstd
(15.34 KiB) Downloaded 102 times
ickby
Veteran
Posts: 3116
Joined: Wed Oct 05, 2011 7:36 am

Re: Test request

Post by ickby »

Thanks for the file, I put it on my TODO list too. Unfortunatly time is sparse the next weeks, so it may take a while before I can tackle this list.
Post Reply