Projection of a hole in Assembly 3

Discussion about the development of the Assembly workbench.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Footz
Posts: 18
Joined: Fri Dec 11, 2020 12:58 pm

Projection of a hole in Assembly 3

Post by Footz »

Greetings everyone.
I'm busy currently making an assembly in Assembly 3, using FreeCad Link Stage 3. My question is: After constraining 2 parts together (face to face - plane alignment) is it possible to project a feature from one subassembly onto another subassembly element? I have a threaded hole in one part, and after assemblying, I wanted this hole projected on the face of the second part so I can sketch through holes on the second element so the holes are aligned perfectly. I've tried using the hole feature in assembly but obviusly that did not work, but maybe there is a workaround? FYI both parts are saved in separate files.

https://tinypic.host/i/linkstage3.VqrR

OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 2021.1015.24301 +4280 (Git)
Build type: Release
Branch: LinkDaily
Hash: 556c87868ea46796242156e9f73eae98259794b7
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Projection of a hole in Assembly 3

Post by bambuko »

Yes, it is possible - use sub-shapebinder.
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Footz
Posts: 18
Joined: Fri Dec 11, 2020 12:58 pm

Re: Projection of a hole in Assembly 3

Post by Footz »

I have tried to use sub-shape binder but in assembly it asks for an active body (which I cannot activate). When switching WB to Part Design, and trying to make a hole using sub-shapebinder numeral errors occur, most consecutive is this one:
09:09:48 Traceback (most recent call last):
File "F:\FreeCAD-asm3-Daily-Win64-Py3-Qt5-20211015\Mod\asm3\freecad\asm3\assembly.py", line 743, in execute
self.updatePlacement()
File "F:\FreeCAD-asm3-Daily-Win64-Py3-Qt5-20211015\Mod\asm3\freecad\asm3\assembly.py", line 802, in updatePlacement
info = self.getInfo()
File "F:\FreeCAD-asm3-Daily-Win64-Py3-Qt5-20211015\Mod\asm3\freecad\asm3\assembly.py", line 1176, in getInfo
return getElementInfo(self.getAssembly().getPartGroup(),
File "F:\FreeCAD-asm3-Daily-Win64-Py3-Qt5-20211015\Mod\asm3\freecad\asm3\assembly.py", line 1636, in getElementInfo
raise RuntimeError('Invalid sub-object {}, {}'.format(
<class 'RuntimeError'>: Invalid sub-object asm3_PLAZMA#Parts, Binder.Thickness.Face5
I've tried to move sub-shape binder to the body file of the element in which I want to make the holes, but ,as I suspected, in the Body view it is completly misplaced:

https://tinypic.host/i/assembly1.gSL4
https://tinypic.host/i/assembly2.gR8A

I would be gratefull for any ideas or maybe I am doing it the wrong way round? Maybe there is some other workflow to get this done?
chrisb
Veteran
Posts: 54201
Joined: Tue Mar 17, 2015 9:14 am

Re: Projection of a hole in Assembly 3

Post by chrisb »

Moved from Help forum.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Projection of a hole in Assembly 3

Post by bambuko »

Footz wrote: Sun Nov 21, 2021 8:37 am I have tried to use sub-shape binder but in assembly...
Share the file (or parts of it) rather than just pictures - might have a look at it.
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Footz
Posts: 18
Joined: Fri Dec 11, 2020 12:58 pm

Re: Projection of a hole in Assembly 3

Post by Footz »

Because my assembly is quite messy, for clarity I've made a small sample assembly, for explaining what I would like to make (see attachment) - I hope this is sufficient for everyone. A piece of a profile with a bar with a hole assembled together. Now, during preparing this example I've found out the subshapebinder method worked but on the active bodies saved in the same file. My original assembly, because majority of parts or subassemblies are saved in separate files, consists of "links" and it seems that's the main problem with using subshapebinder for me. I have modified the sample assembly file so it's constructed using links, and the problem with shapebinder still persists while trying to transfer the hole onto the profile (the subshapebinder pops up in a different place).

https://tinypic.host/i/assemblyexample.gb3D

Thanks for taking your time looking into it.

If needed I can upload the main original assembly but I'm afraid I'll get lashes for the mess :? Also as I've said, parts are in separate files so I would have to upload those as well??
Attachments
assembly_example.FCStd
(55.21 KiB) Downloaded 23 times
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Projection of a hole in Assembly 3

Post by bambuko »

Yes, please share compressed folder with all the necessary files (simplified is fine, don't need the original).
Your problem with sub-shapebinder when used for external objects/assemblies might be related to an issue I have reported to realthunder:
https://github.com/realthunder/FreeCAD_ ... issues/909
Waiting for:
https://github.com/realthunder/FreeCAD/ ... 031bc4324c

BTW - is that what you are trying to do?
is_that_it.FCStd
(50 KiB) Downloaded 29 times
P.S. there is no need for all these constraints that you are using - you could place both parts in correct locations and just create one locked constraint for each....

LATER EDIT:
I have made an assembly using external parts. Hopefully this is indeed what you are trying to do:
external_assy.zip
(44.22 KiB) Downloaded 24 times
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Footz
Posts: 18
Joined: Fri Dec 11, 2020 12:58 pm

Re: Projection of a hole in Assembly 3

Post by Footz »

Thanks for prompt reply. Yes, in both cases thats what I am trying to obtain. I wanted to attach my hole project but in a zip file it takes up jiat over 2,5mb and it seems it's too large for this forum.

The thing is, you are saying about too many constrains, and to use transform tool? What is the point of using assembly then at all? I have to go through your examples in detail but have little time now. I have noticed that in one example its aligned using transform tool, and then subshapebinder used with success.

In the example with separate files looks like subshape binder was added as the last step of part creation, and then whole part is added to assemvly, and pocket done in the assembly succefully am I right?

I've tried to add the subshapebinder to my part in a single file, then done recomopute of the whole assembly to reuse this shapebinder, but there were numerous errors during recomputing. But anyway, I tried to delete the pocket from your assembly, use the remaining sketch and make the pocket again, and have the same problem 'no active body selected'. How have you managed to make a body active in an assembly?
Footz
Posts: 18
Joined: Fri Dec 11, 2020 12:58 pm

Re: Projection of a hole in Assembly 3

Post by Footz »

I've read through the whole subshapebinder-assembly issue on github and indeet that may be the case. Still the question remaing is how did you select a body as active in an assembly and made the pocket?
User avatar
bambuko
Veteran
Posts: 2185
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Projection of a hole in Assembly 3

Post by bambuko »

Footz wrote: Sun Nov 21, 2021 3:18 pm ...the question remaing is how did you select a body as active in an assembly and made the pocket?
Select body > right click > toggle active body

It doesn't matter whether the body is part in an assembly or "freestanding" body
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
Post Reply