How to duplicate ShapeBinder?

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
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!
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

How to duplicate ShapeBinder?

Post by kisolre »

I am designing this Sanding Block:
DuplicatingShapeBinder.JPG
DuplicatingShapeBinder.JPG (234.13 KiB) Viewed 932 times
After printing it turned out that the clearance between the Lock_V3 and the Block_V3 (0.5x2) is too much for the sanding paper that I was using so I wanted a new Lock but with smaller clearance. So instead of changing the clearance in the original I decided to duplicate it and have two (three,...) versions with different clearances. I selected the block, activated Edit/Duplicate selected object, as expected got the question to duplicate unselected features but then the Single GeoFeatureGroup error was displayed. And the newly created body had its Shapebinder linked to new Pad from new sketch based on new plane. Which was not what I expected. I expected the ShapeBinder to be still linked to the correct face from Block_V3 so editing the block would propagate to all Locks.
Did I do something wrong or is there a proper way to do this?
I tried expanding the body and all its features and selecting them then duplicating all without duplicating dependencies and it seemed to work until I looked at the dependency graph - Origin planes were not duplicated because I forgot to expand and select them so "Links out of allowed scope"... So I tried again with expanding everything, triple checking if all things are selected and it worked. But imagine a compex body with 100 features and 30 ShapeBinders and you miss a single feature...
Attachments
Sanding Blocks.FCStd
(107.84 KiB) Downloaded 22 times
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: How to duplicate ShapeBinder?

Post by bejant »

To me, having to go through all those steps seems too cumbersome, so my thought was to create a Part Design WB > Clone of the Bodies "Lock_V3_05_Left" and "Lock_V3_05_Right", but the resulting Clones don't have a Property > Scale in the Data tab. Instead I'd make a Draft WB > Clone of those 2 Bodies and then change the Property > Scale of the resulting Clones to make them just a tad bigger.

I think it would be helpful if Part Design WB > Clones had a Property > Scale in the Data tab...
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: How to duplicate ShapeBinder?

Post by DeepSOIC »

It looks like what you are trying to do is to have this assembly in a few versions, differing only in a value of clearance parameter.

1. One way to do that is to have multiple FCStd files for that. But if you change the actual modeling of one, you'll have to update/recreate other files.

2. Another way is to manually vary the parameter, and make Part SimpleCopy of every body of your design, to take snapshots. Again, if you change the design, you'll have to manually update your snapshots.

3. Another way is to use Lattice2's ParaSeries tool, which was made for being like 2 but parametric. It's quite fiddly to use, and prone to crashing FreeCAD. But if you need a large set of objects, it can be very useful. Check out a tutorial for that: https://github.com/DeepSOIC/Lattice2/wi ... t-Tutorial

4. Yet another way is to use a script.

5. https://www.freecadweb.org/wiki/Macro_Alias_Manager allows you to quickly switch values of parameters of your design to another set of values.
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: How to duplicate ShapeBinder?

Post by kisolre »

bejant, simple scale will no be Ok. Hole for the axle will change diameter, contact between Lock parts will probably not be Ok, ...

DeepSOIC, nice suggestions but:
1. Is it possible to link parts/bodies/... from other fcstd file? I think not. That is why I model all parts in a single file. Also the contact faces of the locks depend of the Block so both parts must be in a single file - change the Block, Locks follow.
2. Part SimpleCopy does not allow editing so if some general change is needed it should be recreated from start.
3. ParaSeries looks too complicated for such a simple design
4. Script for what? Make the Duplication follow my logic?

And another thing after successful copy - I changed the clearance to 0.3 and this of course broke the second Sketch which uses an edge from first pad as reference for the changed radius due to changed clearance.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: How to duplicate ShapeBinder?

Post by DeepSOIC »

kisolre wrote: Fri Feb 22, 2019 3:56 pm 1. Is it possible to link parts/bodies/... from other fcstd file?
Assembly2plus add-on can do something in that regard.
Cross-project linking in master FreeCAD only works through expressions. More-or-less full support of cross-project linking can be found in realthunder's fork of FreeCAD (look for "assembly3")
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: How to duplicate ShapeBinder?

Post by DeepSOIC »

kisolre wrote: Fri Feb 22, 2019 3:56 pm 4. Script for what? Make the Duplication follow my logic?
I'm sorry that duplication is very limited and problematic now. IMO, it's best to create another project. You may get lucky if you copy your project, delete the stuff you didn't want copied, then merge the copied project into original. You will have to re-establish lost links manually.
GeneFC
Veteran
Posts: 5373
Joined: Sat Mar 19, 2016 3:36 pm
Location: Punta Gorda, FL

Re: How to duplicate ShapeBinder?

Post by GeneFC »

You seem to be making this waaay too difficult. Simply change the gap in Sketch011 and you are done. The gap dimension can be an expression so you can access it from a spreadsheet.

You model seems very complex, so I may have selected the wrong item to change, but the principle is the same.

Gene
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: How to duplicate ShapeBinder?

Post by kisolre »

On my successful attempt to create proper duplicate changing that dimension breaks the external geometry reference in the nex sketch so I had to remove and reinsert the reference and recreate all necessary constraints again.
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: How to duplicate ShapeBinder?

Post by kisolre »

As a followup to my previous post - I was referencing an edge from the previous Pad so when changing dimensions of its Sketch the edge naming changes and the External geometry reference of the following Sketch breaks. Today I had the idea and changed the reference to the ark from the Pads sketch and since it does mot change its name all works as expected.
kisolre
Veteran
Posts: 4166
Joined: Wed Nov 21, 2018 1:13 pm

Re: How to duplicate ShapeBinder?

Post by kisolre »

DeepSOIC,
Cross-project linking in master FreeCAD only works through expressions. More-or-less full support of cross-project linking can be found in realthunder's fork of FreeCAD (look for "assembly3")
I dont see how to actually install that. The Windows release downloaded from here https://github.com/realthunder/FreeCAD_ ... 3/releases does not contain Assembly 3 folder under Mod and no Assembly 3 WB appears.
Post Reply