Solutions to Copying Geometry From Sketches in Other Bodies

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!
Post Reply
t5montecarlo
Posts: 19
Joined: Sat Feb 15, 2020 4:07 pm

Solutions to Copying Geometry From Sketches in Other Bodies

Post by t5montecarlo »

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4 (GitTag)
Build type: Release
Branch: releases/FreeCAD-0-18
Hash: 980bf9060e28555fecd9e3462f68ca74007b70f8
Python version: 3.6.6
Qt version: 5.6.2
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedStates (en_US)

I am looking for the best option to suit my situation. Searching has revealed options that don't work for my project, so I am hoping for some alternative inspiration. The project is a closure for a PCB.

My project has 3 bodies and a Spreadsheet for the dimensions (and calculations for each dimension) used in each sketch. Some of the dimensions can be changed in the Spreadsheet, making the project parametric (not a collection of static sketches) and I am happy with how the project behaves when changing certain cells. The PCB body is static, however, so I decided to reference the final PCB feature in the UpperShell body as a ShapeBinder object where I can reference the PCB static geometry as external geometry (using CarbonCopy was too messy in some sketches).

I have begun to work in the third body (LowerShell). I need some sketches that are similar to the sketches in the UpperShell body (mating bodies), so I wanted to use the CarbonCopy feature, which I used extensively in the UpperShell sketches. Since the UpperShell sketches contain External Geometry references, I have found the limitation discussed in other threads where External Geometry cannot be referenced across bodies.

The popular options already discussed include Edit Copy/Edit Paste the sketch, creating a ShapeBinder object of the sketch in the other body, creating a Clone of the sketch in the other body. I have not been able to make any of these solutions work.

Edit Copy/Edit Paste
Because each sketch has dependencies that I don't want to replicate (features, planes, spreadsheet), I don't copy the dependencies. The result looks promising, but when applying a feature, such as pad, I am again presented with options regarding dependencies:
  • Make Independent Copy produces these errors when applying Pad to the copied sketch:
    Exception (Wed Mar 4 16:22:36 2020): Invalid property owner.
    PartDesign::Pad / Pad006: Links go out of the allowed scope
  • Make Dependent Copy produces these errors when applying Pad to the copied sketch:
    App::Document::recompute(): cyclic dependency detected
    PartDesign::Pad / Pad006: Links go out of the allowed scope
  • Create Cross-Reference produces these errors when applying Pad to the copied sketch:
    App::Document::recompute(): cyclic dependency detected
    PartDesign::Pad / Pad006: Links go out of the allowed scope
ShapeBinder of Earlier Sketch
If I create a ShapeBinder of the earlier sketch, I am unable to use the CarbonCopy feature to copy the geometry into my new sketch. I am able to use the External Geometry feature, but my sketches will break of the dimensions of that external geometry change (already learned that lesson and love the CarbonCopy feature). Additionally, errors appear:
  • App::Document::recompute(): cyclic dependency detected
Clone of Earlier Sketch
If I create a Clone of the earlier sketch, immediately, an error appears:
  • App::Document::recompute(): cyclic dependency detected
I know of 2 options:
  • Recreate the UpperShell body geometry in the new LowerShell body sketches.
  • Redo each of the sketches in the UpperShell body, replacing the external geometry to the ShapeBinder with CarbonCopy geometry to the PCB body sketch.
Are there other options that don't require rework?
Is there a solution to my problem in an upcoming release (ability to reference external geometry across bodies)?

Thank you for your patience.
Attachments
key fob.FCStd
(481.53 KiB) Downloaded 21 times
Post Reply