How to duplicate ShapeBinder?
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!
How to duplicate ShapeBinder?
I am designing this Sanding Block:
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...
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
Re: How to duplicate ShapeBinder?
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...
I think it would be helpful if Part Design WB > Clones had a Property > Scale in the Data tab...
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: How to duplicate ShapeBinder?
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.
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.
Re: How to duplicate ShapeBinder?
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.
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.
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: How to duplicate ShapeBinder?
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")
- DeepSOIC
- Veteran
- Posts: 7896
- Joined: Fri Aug 29, 2014 12:45 am
- Location: used to be Saint-Petersburg, Russia
Re: How to duplicate ShapeBinder?
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.
Re: How to duplicate ShapeBinder?
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
You model seems very complex, so I may have selected the wrong item to change, but the principle is the same.
Gene
Re: How to duplicate ShapeBinder?
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.
Re: How to duplicate ShapeBinder?
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.
Re: How to duplicate ShapeBinder?
DeepSOIC,
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.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")