Bancadas de trabalho Assembly
Introdução
The Assembly Workbench is FreeCAD's new built-in assembly workbench.
Ferramentas
Assembly
Juntas
Exemplo
This example is temporary and may be removed once proper descriptions/tutorials are available.
A kinematic assembly
The kinematic assembly to be created consists of four parts: a Base, a Slider, a Crank, and a connecting Rod. They are connected with four joints.
Assembled parts: Base (amber), Slider (light blue), Crank (red), connecting Rod (green)
Prepare parts
In this example all parts and the assembly are created in one document.
From left to right: Base, Slider, Crank, connecting Rod
As geometrias cilíndricas são paralelas ou perpendiculares; o restante das formas não é relevante para este exemplo, a menos que cause conflitos. Com isso em mente, modele suas próprias formas.
Adicionar um root assembly
Create Assembly adds a root assembly to a document. (this tool can also add a sub-assembly to an existing selected assembly)
Tree view of Parts and Assembly in a document
Move the parts into the assembly container
In the Tree view drag and drop the parts on the Assembly object. Now they can be handled by the Assembly's solver.
The Parts are in the Assembly container now
Ground a part
To keep the assembly at the desired position, the base part should be locked, or grounded as it is called here. Select the Base in the Tree view or in the 3D view and use the Toggle grounded command. This fixes the position of the Base in relation to the local coordinate system (LCS) of the Assembly container. This (also suffixes a lock icon to the label of the Base object and (before weekly build 0.22 - 37213)) adds a GroundedJoint object in the Joints container.
Expand the Joints container to find the GroundedJoint object
(The GroundedJoint object cannot be unhidden and has no representation in the 3D view (before weekly build 0.22 - 37213))
Apply joints
A joint connects exactly two elements of different parts. They can optionally be selected before the desired joint tool is invoked (any number of selected elements other than two results in an empty selection).
The elements define the position and orientation of a LCS represented by a filled circle on the local XY plane and three lines along the local X (red), Y (green), and Z (blue) axes.
- A Revolute joint between Base and Crank
Selected elements + Create Revolute Joint → rearranged Crank
- A Cylindrical joint between Base and Slider
Selected elements + Create Cylindrical Joint → rearranged Slider
- A Revolute joint between Crank and Rod
Selected elements + Create Revolute Joint → rearranged Rod
Now there are several joints in a line and we have to help the solver to find a sensible solution.
Click and drag the parts → into an easier to compute position.
- A Cylindrical joint between Rod and Slider
Selected elements + Create Cylindrical Joint → finished Assembly
In the finished assembly use the mouse pointer to drag the parts according to the used joints.
Acione a manivela
To control the layout of the assembly by the angle between the Base and the Crank we have to change the Revolute joint to a Fixed joint.
To do so double-click on the Revolute object in the Tree view. In the dialog change Revolute to Fixed and change the Rotation value as desired (the movement should follow the mouse wheel action).
Now only the Label of the joint was changed but not its Name! (Each change of the joint type will also change the Label)
The Rotation property of the Fixed joint can be controlled via macro or from the Python console (just copy and paste the following lines):
actuator = FreeCAD.ActiveDocument.getObject('Revolute')
for angle in range(0,361,10):
# A full rotation of the Crank in steps of 10°
actuator.Rotation = angle
App.activeDocument().recompute(None,True,True)
Ou alternativamente:
actuator = FreeCAD.ActiveDocument.getObject('Revolute')
for angle in range(0,361,10):
# A full rotation of the Crank in steps of 10°
actuator.Rotation = angle
Gui.runCommand('Assembly_SolveAssembly',0)
(The Name of the joint is still Revolute while its Label has changed to Fixed, and the end of the range must be greater than 360 to also include this angle as a valid result.)
- Joints: Toggle Grounded, Create a Fixed Joint, Create Revolute Joint, Create Cylindrical Joint, Create Slider Joint, Create Ball Joint, Create Distance Joint, Create Parallel Joint, Create Perpendicular Joint, Create Angle Joint, Create Rack and Pinion Joint, Create Screw Joint, Create Gears Joint, Create Belt Joint
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Assembly, BIM, CAM, Draft, FEM, Inspection, Material, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Surface, TechDraw, Test Framework
- Hubs: User hub, Power users hub, Developer hub