Part Chamfer
Расположение в меню |
---|
Деталь → Фаска |
Верстаки |
Part, Complete |
Быстрые клавиши |
Никто |
Представлено в версии |
- |
См. также |
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.
Usage
- Invoke the Chamfer command several ways in the
Part Workbench
- Select the shape to chamfer from the dialog.
- Select edges to chamfer by checking the corresponding box in the chamfer dialog or by selecting them on the model directly.
- Edit chamfer parameters.
- 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 will select all bordering edges of that face.
- 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
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.
Limitations
Chamfer might do nothing if the result would touch or cross the next adjacent edge. So if you do not get the expected result, try with a smaller value. This is the same for Part Fillet.
Also note that the Chamfer feature is affected by the Topological naming problem when the any change is done to a modeling step earlier in the chain that affects the number of facets or vertices. This could cause unpredictable result. Until that is resolved (possibly with V0.19) it is advised to apply Chamfer and Part Fillet operations at the last steps in the chain.
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
FreeCAD.ActiveDocument.recompute()
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.
FreeCAD.ActiveDocument.recompute()
- Recomputes all altered components on the screen and refreshes the display.
- Примитивы: Box, Cone, Cylinder, Sphere, Torus, CreatePrimitives, Shapebuilder
- Модификация объектов: Booleans, Union, Common, Cut, Join features, Connect, Embed, Cutout
- Инструменты расщепления: Boolean fragments, Slice a part, Slice, XOR, Part Defeaturing
- Компаунд: Make compound, Explode Compound, Compound Filter; Extrude, Fillet, Revolve, Section, Cross sections, Chamfer, Mirror, Ruled Surface, Sweep, Loft
- Инструменты сдвига: 3D Offset, 2D Offset, Thickness, Projection on surface
- Прочие инструменты: Import CAD, Export CAD, Shape from Mesh, Convert to solid, Reverse shapes, Create simple copy, Refine shape, Check geometry, Measure, Attachment

- Установка: Windows, Linux, Mac; Начинающим
- Базовая: О FreeCAD, Верстаки, Настройки, Структура документа, Настройка интерфейса, Свойства, Модель мыши; Учебники
- Верстаки: Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Скрипты: Введение в Python, Учебник скриптов FreeCAD, Основы скриптов FreeCAD, Установка макросов, Команды графического интерфейса, Единицы Модули: Создание модулей, Создание верстаков, Добавление верстаков Сетки: Сеточные скрипты, Модуль сеток Детали: Модуль Part, Скрипты топологических данных, PythonOCC, Из Mesh в Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Интерфейс Qt: PySide, Использование графического интерфейса FreeCAD, Создание диалогов Параметрические объекты: Скриптовые объекты Прочее: Кусочки кода, Функции рисования линий, Встраивание FreeCAD, Библиотека векторной математики FreeCAD, Хаб опытных пользователей, Python, Макросы, Основы скриптов FreeCAD, Topological data scripting