Hello -
I'm trying to build a case with standoff posts for an Arduino Uno.
I've imported a STEP file for the Arduino, and used Assembly 4 to create an assembly and position it precisely where I want it.
Now want to project the screw holes down onto the case to sketch the standoff posts. Here's a simplified view:
I want to project those circles down onto the base, and have yet to find the correct way to do so.
I tried using a Shapebinder from the Uno to the case, but that places the Uno at its original location.
I tried making a copy of the board and placing it manually, but I refuse to do that, since it breaks the precise placing I'm looking for, and just feels very wrong.
I tried creating a Datum Point as well, but it didn't show up in the Body no matter how I did it.
I've also been dabbling with Fusion360, and trying to move to FreeCAD so I can support OS and always have access to my files - in Fusion I think this is called a "Projection", and it seems to work more intuitively (to me, anyway) - it projects the circles from where they are, down onto the base.
I've searched the forum and google, but seem to be missing the magic term that FreeCAD uses to refer to this. These are the posts I've already read to try and solve this, but I seem to be missing something. If the answer is in one of them, I'll need it explained a little more slowly - sorry! I may be doing something wrong in the UI, like not having the right body selected when I create the shapebinder or something. (Though hopefully not _actually_ that. )
Details:
OS: Windows 10 Version 2009
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24291 (Git)
Build type: Release
Branch: releases/FreeCAD-0-19
Hash: 7b5e18a0759de778b74d3a5c17eba9cb815035ac
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United States (en_US)
Tried attaching FCStd file, but it's 3.5M, so too large. I put it on Google Drive if that works.
First post asking for help, sorry if I forgot anything to include.
Referencing features between Assembly 4 bodies
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
-
- Veteran
- Posts: 5513
- Joined: Thu Apr 05, 2018 1:53 am
Re: Referencing features between Assembly 4 bodies
In the ShapeBinder properties try setting Trace Support property to True.
Re: Referencing features between Assembly 4 bodies
Hi TheMarkster - thanks for the suggestion!
I had tried Trace Support = true once, but forgot to mention it. No luck.
I've attached a file with a stripped-down arduino file. All I care about is creating a sketch on top of the Base->Floor face with circles that line up with the holes in the circuit board.
I created a new attachment, 5mm above the center of the wall, just where I want the arduino. When I try a ShapeBinder linking to the Arduino, in the Base body, it is still using the original translation/orientation of the arduino - whether Trace Support is true or false.
Here's a step-by-step of how I built it - maybe I'm doing something else wrong. (For example - the Arduino has a yellow body icon, which I think means it's a Part, not a Body - is that the problem?)
1) Create a simple floor-and-wall base object, then add a local coordinate system where I want the Arduino to attach. I referenced the end points of the shared edge between floor and wall, used Inertial, and rotated it so the XYZ axes are aligned with global. 2) Import the Arduino STEP file, delete a lot of components (for performance / simplicity of view). Add an LCS at the middle bottom of the PCB. Again, reference the two endpoints, inertial CS, and rotate the axes so that they're aligned with the way I _want_ the Arduino to attach (i.e. positive X goes in the direction of the board, positive Y goes along the edge of the board, and Z is "up" relative to the board).
NOTE the orientation of the model - 'bottom' of the board facing front, and USB/power plugs facing up. 3) Create an attachment, attaching the arduino to the base and the base to the Attachment root. All looks good: 4) Create a ShapeBinder in the Assembly -> Body, and click on the top face of the Assembly Arduino. Apparently it's referenced as Part__Feature: RESULT:
It is still using the original placement and orientation for the shapebinder object, and setting Trace Support to true has no effect: I know I'm doing something else wrong, probably somewhere else along the way. Apparently there's a limit of 5 attachments, so I'll put the file in the next reply.
Thanks for any ideas!
I had tried Trace Support = true once, but forgot to mention it. No luck.
I've attached a file with a stripped-down arduino file. All I care about is creating a sketch on top of the Base->Floor face with circles that line up with the holes in the circuit board.
I created a new attachment, 5mm above the center of the wall, just where I want the arduino. When I try a ShapeBinder linking to the Arduino, in the Base body, it is still using the original translation/orientation of the arduino - whether Trace Support is true or false.
Here's a step-by-step of how I built it - maybe I'm doing something else wrong. (For example - the Arduino has a yellow body icon, which I think means it's a Part, not a Body - is that the problem?)
1) Create a simple floor-and-wall base object, then add a local coordinate system where I want the Arduino to attach. I referenced the end points of the shared edge between floor and wall, used Inertial, and rotated it so the XYZ axes are aligned with global. 2) Import the Arduino STEP file, delete a lot of components (for performance / simplicity of view). Add an LCS at the middle bottom of the PCB. Again, reference the two endpoints, inertial CS, and rotate the axes so that they're aligned with the way I _want_ the Arduino to attach (i.e. positive X goes in the direction of the board, positive Y goes along the edge of the board, and Z is "up" relative to the board).
NOTE the orientation of the model - 'bottom' of the board facing front, and USB/power plugs facing up. 3) Create an attachment, attaching the arduino to the base and the base to the Attachment root. All looks good: 4) Create a ShapeBinder in the Assembly -> Body, and click on the top face of the Assembly Arduino. Apparently it's referenced as Part__Feature: RESULT:
It is still using the original placement and orientation for the shapebinder object, and setting Trace Support to true has no effect: I know I'm doing something else wrong, probably somewhere else along the way. Apparently there's a limit of 5 attachments, so I'll put the file in the next reply.
Thanks for any ideas!
Re: Referencing features between Assembly 4 bodies
Attaching the example file - if someone can show me how to get the hole locations from the arduino board in the assembly to project onto the base floor, I'd be super grateful!
- Attachments
-
- ArduinoAttachDemo.FCStd
- (273.3 KiB) Downloaded 21 times
-
- Veteran
- Posts: 5513
- Joined: Thu Apr 05, 2018 1:53 am
Re: Referencing features between Assembly 4 bodies
I don't know enough about assembly 4 to be able to help with it. I'm sure it's a great workbench once you figure out how to use it. Here is an alternative approach.
I made a simple copy of the assembly, attached 2 new sketches to it, made circles in the sketches and used them for attaching the various objects.
In Part workbench menu the attachment tool can make things attachable in some versions. I don't recall if this was added in 0.19 or 0.20.
I made a simple copy of the assembly, attached 2 new sketches to it, made circles in the sketches and used them for attaching the various objects.
In Part workbench menu the attachment tool can make things attachable in some versions. I don't recall if this was added in 0.19 or 0.20.
- Attachments
-
- ArduinoAttachDemo_markster.FCStd
- (804.48 KiB) Downloaded 20 times
Re: Referencing features between Assembly 4 bodies
Hi Mark -
Awesome - thank you! I've downloaded your file and will take a look. I've opened it and noticed one thing I'm not clear on - you said you made "a simple copy", and I think that's the "arduino_copy" body in your file, is that correct?
I don't see how you did that - when I make a copy, it becomes a whole new "part" again.
What does "made a simple copy" mean?
Thanks!
PS - just noticed your signature, will definitely go check out your videos - thanks!
Awesome - thank you! I've downloaded your file and will take a look. I've opened it and noticed one thing I'm not clear on - you said you made "a simple copy", and I think that's the "arduino_copy" body in your file, is that correct?
I don't see how you did that - when I make a copy, it becomes a whole new "part" again.
What does "made a simple copy" mean?
Thanks!
PS - just noticed your signature, will definitely go check out your videos - thanks!
- adrianinsaval
- Veteran
- Posts: 5552
- Joined: Thu Apr 05, 2018 5:15 pm
Re: Referencing features between Assembly 4 bodies
Ah! Beautiful - actually Part -> Create Transformed Copy did exactly what I want, I think. Thanks!