Part Chamfer: Difference between revisions

From FreeCAD Documentation
(Added "Properties" section and "Scripting" section. Shrunk size of Part_Chamfer-Dialog.jpg a bit so it looks better.)
m (Reworded "Example Script Explanation" slightly.)
Line 65: Line 65:
cube.Shape = Part.makeBox(5, 5, 5)
cube.Shape = Part.makeBox(5, 5, 5)
</syntaxhighlight>
</syntaxhighlight>
*Creates a 5 mm cube. See [[Part_API]] for an explanation of the makeBox method.
*Creates a 5 mm cube for us to apply chamfered edges to. See [[Part_API]] for an explanation of the makeBox method.





Revision as of 15:06, 2 September 2015

Part Chamfer

Menu location
Part → Chamfer
Workbenches
Part, Complete
Default shortcut
None
Introduced in version
-
See also
None

Description

Chamfers the selected edge(s) of an object. A dialog allows you to choose which edge(s) to work on as well as modify various chamfer parameters.

Dialog-chamfer

How to Use

  1. Press the button from the Part Workbench. Alternatively, you can select Part → Chamfer.
  2. Select the shape to chamfer from the dialog.
  3. Select edges to chamfer by checking the corresponding box in the chamfer dialog or by selecting them on the model directly.
  4. Edit chamfer parameters.
  5. Press OK to close the chamfer dialog and apply the chamfer.

Options

  • When selecting edges on the model, you have the option to select by edge or by face. Selecting by face can be more efficient in many situations.
  • Constant length chamfer or variable length chamfer.
    • A constant length chamfer will create a chamfer with edges equidistant to the original edge at the distance specified.
    • A variable length chamfer will have edges that may be set to different distances from the original edge, allowing you to create a chamfer at a variable angle.

Properties

Part_Chamfer Properties
Part_Chamfer Properties

Base

  • DataBase: The shape onto which the chamfer is to be applied.
  • DataPlacement: Specifies the orientation and position of the shape in the 3D space.
  • DataLabel: Label given to the object. Change to suit your needs.


Scripting

The Chamfer tool can by used in macros and from the python console by adding a Chamfer object to the document.

Example Script:

import Part
cube = FreeCAD.ActiveDocument.addObject("Part::Feature", "myCube")
cube.Shape = Part.makeBox(5, 5, 5)
chmfr = FreeCAD.ActiveDocument.addObject("Part::Chamfer", "myChamfer")
chmfr.Base = FreeCAD.ActiveDocument.myCube
myEdges = []
myEdges.append((1, 1.5, 1.25)) # (edge number, chamfer start length, chamfer end length)
myEdges.append((2, 1.5, 1.25))
myEdges.append((3, 1.5, 1.25))
myEdges.append((4, 1.5, 1.25))
myEdges.append((5, 1.5, 1.25))
myEdges.append((6, 1.5, 1.25))
myEdges.append((7, 1.5, 1.25))
myEdges.append((8, 1.5, 1.25))
myEdges.append((9, 1.5, 1.25))
myEdges.append((10, 1.5, 1.25))
myEdges.append((11, 1.5, 1.25))
myEdges.append((12, 1.5, 1.25))
chmfr.Edges = myEdges
FreeCADGui.ActiveDocument.myCube.Visibility = False


Example Script Explanation:

import Part
cube = FreeCAD.ActiveDocument.addObject("Part::Feature", "myCube")
cube.Shape = Part.makeBox(5, 5, 5)
  • Creates a 5 mm cube for us to apply chamfered edges to. See Part_API for an explanation of the makeBox method.


chmfr = FreeCAD.ActiveDocument.addObject("Part::Chamfer", "myChamfer")
  • Adds a new object to the document of type Chamfer (from the Part module) with label "myChamfer".


chmfr.Base = FreeCAD.ActiveDocument.myCube
  • Specifies that the base shape of the chamfer object should be "myCube".


myEdges = []
myEdges.append((1, 1.5, 1.25)) # (edge number, chamfer start length, chamfer end length)
myEdges.append((2, 1.5, 1.25))
myEdges.append((3, 1.5, 1.25))
myEdges.append((4, 1.5, 1.25))
myEdges.append((5, 1.5, 1.25))
myEdges.append((6, 1.5, 1.25))
myEdges.append((7, 1.5, 1.25))
myEdges.append((8, 1.5, 1.25))
myEdges.append((9, 1.5, 1.25))
myEdges.append((10, 1.5, 1.25))
myEdges.append((11, 1.5, 1.25))
myEdges.append((12, 1.5, 1.25))
  • Creates an empty array "myEdges" and then appends the array with each edge's chamfer parameters.
  • Syntax for each item should be (edge#, chamfer start length, chamfer end length)


chmfr.Edges = myEdges
  • Sets the Edges attribute of our Chamfer object equal to the array we just created.


FreeCADGui.ActiveDocument.myCube.Visibility = False
  • This line simply hides "myCube" so that our newly created "myChamfer" object is the only one visible.