How to create sketch based on other object's surface?
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!
-
- Posts: 34
- Joined: Sat May 22, 2021 12:18 pm
How to create sketch based on other object's surface?
I want to create a new object (B) that is tightly adjacent to another object (A), and could automatically adjust position when A's dimension changes. However, if I create B's sketch and simply map it to A's surface using "Map sketch to face" button, the objects spawn from this sketch will become part of A's solid, not a separate new one. It seems I have misunderstood the function of "Map sketch to face". What should I do to create a separate solid based on another's surface?
-
- Veteran
- Posts: 3107
- Joined: Thu Sep 24, 2020 10:31 pm
- Location: Hawaii
- Contact:
Re: How to create sketch based on other object's surface?
I think you are using Part Design. You can create a new Body and then create a PartDesign ShapeBinder of the first body's face and set its Trace_support property to True. You can then alter the dimensions or position of the first body and the second will follow. However, beware of TNP. If you change the topology of the first body this can change the face numbering and your second object will then attach to the wrong face, which you will have to go back and fix by hand.
See the enclosed where Body001 is an extrusion of a face of Body.
.
See the enclosed where Body001 is an extrusion of a face of Body.
.
- Attachments
-
- useShapebinder.FCStd
- (12.76 KiB) Downloaded 17 times
-
- Posts: 34
- Joined: Sat May 22, 2021 12:18 pm
Re: How to create sketch based on other object's surface?
Understood. Thank you!edwilliams16 wrote: ↑Sun May 28, 2023 3:39 am I think you are using Part Design. You can create a new Body and then create a PartDesign ShapeBinder of the first body's face and set its Trace_support property to True. You can then alter the dimensions or position of the first body and the second will follow. However, beware of TNP. If you change the topology of the first body this can change the face numbering and your second object will then attach to the wrong face, which you will have to go back and fix by hand.
See the enclosed where Body001 is an extrusion of a face of Body.
.
- Shalmeneser
- Veteran
- Posts: 9475
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: How to create sketch based on other object's surface?
You can even offset the SubBinder :
Offsetting
* DataOffset: 2D offset to apply. If Offset = 0, then no offset is applied. If Offset < 0, then the offset is applied inward. introduced in version 0.20
* DataOffset Join Type: Join method of offsetting non-tangent joints. The method can be Arcs, Tangent or Intersection. introduced in version 0.20
* DataOffset Fill (Bool): If true, a face is made between the new wire and the original wire. See also the DataMake Face property. introduced in version 0.20
* DataOffset Open Result (Bool): Affects the way open wires are processed. If false, an open wire is made. If true, a closed wire is made from a double-sided offset, with rounds around open vertices. introduced in version 0.20
* DataOffset Intersection (Bool): Affects the way compounds are processed. If false, all children are processed independently. If true, and children are edges and wires, the children are offset in a collective manner. introduced in version 0.20
Re: How to create sketch based on other object's surface?
Hello,
if you want to create an 'adjacent' solid based on another's surface (perimeter) and that automatically updates its perimeter
if the original object's dimensions are modified, use the shape binder tool as suggested above. If you want to create
a separate object with the same perimeter as another object and you're not concerned about it being updated should there
be changes to the original reference object, then you can use the joinCurves tool found in the Curves tool suite.
For this, simply click one of the perimeter datums from the original object, then press the CTRL key from the keyboard
as you continue clicking on the rest of the datums along the perimeter (they're highlighted green). Once the entire perimeter
is highlighted, click the joinCurves tool. A new file will appear on the project menu. You can pad this file that behaves
kind of like a sketch of the original object. You may also use this file as a profile should you need to perform a sweep
of an edge. If you want to get an explicit sketch from an existing surface, you can also go to the Draft workbench
and use the Draft to sketch tool.
frcaduser
if you want to create an 'adjacent' solid based on another's surface (perimeter) and that automatically updates its perimeter
if the original object's dimensions are modified, use the shape binder tool as suggested above. If you want to create
a separate object with the same perimeter as another object and you're not concerned about it being updated should there
be changes to the original reference object, then you can use the joinCurves tool found in the Curves tool suite.
For this, simply click one of the perimeter datums from the original object, then press the CTRL key from the keyboard
as you continue clicking on the rest of the datums along the perimeter (they're highlighted green). Once the entire perimeter
is highlighted, click the joinCurves tool. A new file will appear on the project menu. You can pad this file that behaves
kind of like a sketch of the original object. You may also use this file as a profile should you need to perform a sweep
of an edge. If you want to get an explicit sketch from an existing surface, you can also go to the Draft workbench
and use the Draft to sketch tool.
frcaduser