Flamingo Workbench: Difference between revisions

From FreeCAD Documentation
No edit summary
Line 33: Line 33:


Place one-beam over one-edge (class frameIt)
Place one-beam over one-edge (class frameIt)
Given a beam object and an edge in the model, this tool lay down the
Given a beam object and an edge in the model, this tool lay down the beam over the edge by selecting them one after the other until ESC is pressed.
beam over the edge by selecting them one after the other until ESC is
pressed.


Fill the frame (class fillFrame)
Fill the frame (class fillFrame)
Dialog to create over multiple edges selected in the viewport the
Dialog to create over multiple edges selected in the viewport the beams of the type of that previously chosen among those present in the model.
With the button Select it's possible to change the type of beam.
beams of the type of that previously chosen among those present
in the model.


alignFlange (class alignFlange)
alignFlange (class alignFlange)
Tool to rotate beams (or other objects) so that their surfaces are
Tool to rotate beams (or other objects) so that their surfaces are parallel to one reference plane.
If multiple faces are preselected, objects will be rotated according the first face in the selections set. Otherwise the program prompts to select one reference face and then the faces to be reoriented until ESC is pressed.
parallel to one reference plane.
If multiple faces are preselected, objects will be rotated according
the first face in the selections set. Otherwise the program prompts
to select one reference face and then the faces to be reoriented until
ESC is pressed.


Spin beams by 45 deg. (class spinSect)
Spin beams by 45 deg. (class spinSect)
Tool to spin one object around the "Z" axis of its shape
Tool to spin one object around the "Z" axis of its shape by 45 degrees.
by 45 degrees.


Reverse orientation (class reverseBeam)
Reverse orientation (class reverseBeam)
Tool to spin one object around the "X" axis of its shape
Tool to spin one object around the "X" axis of its shape by 180 degrees.
Notes: if one edge of the object is selected, that is used as the pivot of rotation.
by 180 degrees.
Notes:
- if one circular edge of the object is selected, that is used
as the pivot of rotation.


pivotTheBeam (class pivotBeam)
pivotTheBeam (class pivotBeam)
Dialog to rotate one beam or other object around one of its edges.
Dialog to rotate one beam or other object around one of its edges.
* "Angle (deg):" textbox: insert the degree of rotation.
Angle textbox to insert the degree of rotation.
Reverse button to rotate in the opposite direction, if necessary.
* "move/copy" radiobuttons: select if the object will be also copied.
OK to perform the action and Cancel to close the dialog.
* [Rotate] button: execute the rotation.
* [Reverse]: rotate in the opposite direction, if necessary.


Flush the surfaces (class levelBeam)
Flush the surfaces (class levelBeam)
Tool to flush the parallel faces of two objects.
Tool to flush the parallel faces of two objects.
Actually the command takes to the same level, respect the position and orientation of the first face selected, the center-of-mass of all faces selected. Thus it translates the objects even if the faces are not parallel.
Notes:
- actually the command takes to the same level, respect the
position and orientation of the first face selected, the center-of-mass
of all faces selected. Thus it translates the objects even if the
faces are not parallel.


Mate the Edges (class alignEdge)
Mate the Edges (class alignEdge)
Tool to mate two parallel edges.
Tool to mate two parallel edges.
Actually the command moves the objects along the minimum distance of their selected edge to the first one. Thus it translates the object even if edges are not parallel and it's a good way to place objects in desired position.
Notes:
It is also possible to select two edges of the same objects. With this method is possible to move quickly one object by steps defined on its own geometry.
- actually the command moves the objects along the minimum
distance of their selected edge to the first one. Thus it translates
the object even if edges are not parallel.
- It is also possible to select two edges of the same objects. With
this method is possible to move quickly one object by steps defined
on its own geometry.


rotJoinEdge (class rotJoin)
Rotate + mate the edges (class rotJoin)
Tool to translate and rotate the beams to mate two edges.
Tool to translate and rotate the beams to mate two edges. Same as above but it also makes the edges co-linear.


shiftTheBeam (class shiftBeam)
Shift the beam (class shiftBeam)
Dialog to translate and copy objects.
Dialog to translate and copy objects.
* "x/y/z" textboxes: direct input of amount of translation in each
'''X''', '''Y''' and '''Z''' textboxes for direct input the amount of translation in each direction.
'''Multiple''' textbox is the multiple coefficient of the translation amount.
direction.
'''Steps''' textbox is the denominator of the translation amount. It's used when the amount of translation is to be covered in some steps.
* "Multiple" textbox: the multiple coefficient of the translation
'''Get displacement''' button to take the amount and direction of translation from the distance of selected entities (points, edges, faces) or even from a single edge. In the latter case, a green arrow is displayed to show the direction.
amount.
'''OK''' to perform the action and '''Cancel''' to close the dialog.
* "Steps" textbox: the denominator of the translation amount. It's
used when the amount of translation is to be covered in some steps.
* "move/copy" radiobuttons: to select if the selected objects shall
be copied or only translated.
* [Displacement] button: takes the amount and direction of translation
from the distance of selected entities (points, edges, faces).
* [Vector] button: defines the amount and direction of translation
by the orientation and length of the selected edge.
* [Translate] button: execute the translation


stretchTheBeam (class stretchBeam)
Stretch the beam (class stretchBeam)
Dialog to change the length of beams.
Dialog to change the length of beams.
* "mm" textbox: the new length that will be applied to selected beams.
In the textbox write the new length that will be applied to selected beams or pipes.
* [Get Length] button: takes the new length from the selected geometry,
Otherwise '''Get Length''' button takes the new length from the selected geometry (either the length of a beam or edge or the distance between geometric entities).
With the slider it's possible to change the length wirtten in the text-box from -100% to +100%.
either the length of a beam or edge or the distance between geometric
entities (point, edges, faces).
* [Stretch] button: execute the stretch operation to the selected beams.
* slider: extends the reference length from -100% to +100%.


extendTheBeam (class extend)
Extend the beam (class extend)
Dialog to extend one beam to one selected target.
Dialog to extend one beam to one selected target.
Note: - if entities are preselected before calling this command, the
If entities are preselected before calling this command, the first entity is automatically taken as target and the object attached to it is removed from the selection set. In any case it's possible to change the target object with the push-button '''Select'''.
first entity is automatically taken as target and the object attached
to it is removed from selection set.


adjustFrameAngle (class adjustFrameAngle)
Adjust frames' angle (class adjustFrameAngle)
Tool to adjust the beams at square angles of frames.
Tool to adjust the beams at square angles of frames. To understand at best how it works, refer to the previous tutorial.


Insert path (class insertPath)
Insert a path (class insertPath)
Tool to create a continuous DWire over the path defined by the edges selected in the viewport, even if these are not touching or are intersecting in the middle or belongs to different objects. The only constraint is that exists the intersection between two subsequent edges, in the order that they were selected.
Tool to create a continuous DWire over the path defined by the
Also the DWire is given the view-properties of a center-line, i.e. orange and dash-dotted.
edges selected in the viewport, even if these are not continuous or
belongs to different objects.


FrameLine manager (class FrameLineManager)
FrameLine manager (class FrameLineManager)
Dialog to create and change properties of objects FrameLine
Same as for "pype-line" objects, this is a dialog to create and change properties of "frame-line" objects.
Also similarly to what seen above, the frame-lines are objects that collects properties common to a set of beams (namely the beam's section) which are included in a common group in the tree of the model.
providing the following features:
They also have an optional property ".Base", by default set to None, which is the centerline of the beams of the frame. After a path, alias .Base, is defined (a DWire or a Sketch) other beams can be added to the frame-line but they will be deleted when '''Redraw''' is invoked.
* a list of beams' profiles previously included in the model
The dialog provides the following features:
by "insertSection" dialog;
* a list of beams' profiles previously included in the model by "Insert Std. Sections" dialog (read further);
* a combo-box to select the active FrameLine among those already
created or <new> to create a new one;
* a combo-box to select the active FrameLine among those already created or <new> to create a new one;
* a text-box where to write the name of the FrameLine that is going
* a text-box where to write the name of the FrameLine that is going to be created; if nothing or "<name>", the FrameLined will be named as default "Telaio00n";
* '''Insert''' button: creates a new FrameLine object or adds new members to the one selected in the combo-box if edges are selected in the active viewport.
to be created; if nothing or "<name>", the FrameLined will be named
* '''Redraw''' button: creates new beams and places them over the selected path. New beams will be collected inside the group of the FrameLine. Does not create or update beams added to the FrameLine outside its defined path.
as default "Telaio00n";
* '''Clear''' button: deletes all beams in the FrameLine group. It applies also to beams added to the FrameLine outside its defined path.
* [Insert] button: creates a new FrameLine object or adds new members
to the one selected in the combo-box if edges are selected in the
* '''Get Path''' button: assigns the Dwire selected to the attribute Path of the FrameLine object.
* '''Get Profile''' button: changes the Profile attribute of the FrameLine object to the one of the beam selected in the viewport or the one selected in the list.
active viewport.
* '''Copy profile''' checkbox: if checked generates a new profile object for each beam in order to avoid multiple references in the model.
* [Redraw] button: creates new beams and places them over the selected
* '''Move to origin''' checkbox: if checked, moves the center-of-mass of the profile to the origin of coordinates system: that makes the centerline of the beam coincide with the c.o.m. of the profile.
path. New beams will be collected inside the group of the FrameLine.
If the name of a FrameLine object is modified, also the name of the relevant group will change automatically but not viceversa
Does not create or update beams added to the FrameLine outside
its defined path.
* [Clear] button: deletes all beams in the FrameLine group. It applies
also to beams added to the FrameLine outside its defined path.
* [Get Path] button: assigns the Dwire selected to the attribute Path
of the FrameLine object.
* [Get Profile] button: changes the Profile attribute of the FrameLine
object to the one of the beam selected in the viewport or the one
selected in the list.
* "Copy profile" checkbox: if checked generates a new profile object
for each beam in order to avoid multiple references in the model.
* "Move to origin" checkbox: if checked, moves the center-of-mass
of the profile to the origin of coordinates system: that makes the
centerline of the beam coincide with the c.o.m. of the profile.
Notes:
- if the name of a FrameLine object is modified, also the name
of the relevant group will change automatically but not viceversa.


Insert Std. Sections (class insertSection)
Insert Std. Sections (class insertSection)
Dialog to create the set of profiles to be used in the model for
Dialog to create the set of profiles to be used in the model for object FrameLine.
* '''Section''' list: it includes all the sections defined in the .csv file corresponding to the selected section type.
object FrameLine.
* "Section:" list: it includes all the sections defined in the .csv
* '''Section types''' list: the types of profiles defined with the .csv files included in the folder /tables
* '''Insert''' button: creates the group "Profiles_set", if not already existing, and adds to it the object of the selected profile.
file corresponding to the selected section type.
Other profiles tables can be created by adding the relevant .csv file in the /tables folder. The rules to create or customize such tables are similar to those for pipe-lines.
* "Section types:" list: the types of profiles defined with the .csv
Other profiles can be drafted in the model and dragged inside the group "Profiles_set".
files included in the folder /tables
The orientation of the DWires may influence the rendering of beams.
* [Insert] button: creates the group "Profiles_set", if not already
existing, and adds to it the object of the selected profile.
Notes:
- other profiles tables can be created by adding the relevant
.csv file in the /tables folder.
- Other profiles can be drafted in the model and dragged inside
the group "Profiles_set".
- The orientation of the DWires may influence the rendering of beams


==Installation==
==Installation==

Revision as of 08:26, 15 July 2017

Introduction

"Flamingo tools" is a set of commands, collected in different toolbars, made to speed up some actions in FreeCAD. It is available among the list of official addons, so it's possible to get it using the addons-installer macro.

File:Flamingos frame.png

CommandsFrame.py: that is one simple toolbox of 12 commands to arrange frames, trusses and similar in FreeCAD with the Arch`s Structure objects. Read tutorialFrame.pdf for more informations.

CommandsEagle.py: that's basically an addition, and shortcut, to the very fine FreeCAD-PCB workbench, to import position of objects from a .brd Eagle's file on a PCB drawn in FreeCAD with the a.m. workbench relating only on their names. -> "If the parts in the group Parts of the .FCStd file have the same name of the parts in the .brd file, they will be moved to the position of the PCB specified in the .brd file." Read tutorialEagle.pdf for more informations

CommandsPolar.py: to import a set of polar coordinates from a spreadsheet and use them to draw a sketch. That is for future development of a project that includes also a prototype electronic board and a ultrasonic range finder...

File:Flamingos pipe.png

CommandsPipe.py: new toolbar under development from September '16. Read tutorialPype.pdf for some anticipations. Read tutorialPype2.pdf for more specific features.

References

Tools

Detailed description inside the tutorials folder (pdf files)

Frame tools commands:

Place one-beam over one-edge (class frameIt) Given a beam object and an edge in the model, this tool lay down the beam over the edge by selecting them one after the other until ESC is pressed.

Fill the frame (class fillFrame) Dialog to create over multiple edges selected in the viewport the beams of the type of that previously chosen among those present in the model. With the button Select it's possible to change the type of beam.

alignFlange (class alignFlange) Tool to rotate beams (or other objects) so that their surfaces are parallel to one reference plane.

If multiple faces are preselected, objects will be rotated according the first face in the selections set. Otherwise the program prompts to select one reference face and then the faces to be reoriented until ESC is pressed.

Spin beams by 45 deg. (class spinSect) Tool to spin one object around the "Z" axis of its shape by 45 degrees.

Reverse orientation (class reverseBeam) Tool to spin one object around the "X" axis of its shape by 180 degrees.

Notes:  if one  edge of the object is selected, that is used as the pivot of rotation.

pivotTheBeam (class pivotBeam) Dialog to rotate one beam or other object around one of its edges. Angle textbox to insert the degree of rotation. Reverse button to rotate in the opposite direction, if necessary. OK to perform the action and Cancel to close the dialog.

Flush the surfaces (class levelBeam) Tool to flush the parallel faces of two objects. Actually the command takes to the same level, respect the position and orientation of the first face selected, the center-of-mass of all faces selected. Thus it translates the objects even if the faces are not parallel.

Mate the Edges (class alignEdge) Tool to mate two parallel edges. Actually the command moves the objects along the minimum distance of their selected edge to the first one. Thus it translates the object even if edges are not parallel and it's a good way to place objects in desired position. It is also possible to select two edges of the same objects. With this method is possible to move quickly one object by steps defined on its own geometry.

Rotate + mate the edges (class rotJoin) Tool to translate and rotate the beams to mate two edges. Same as above but it also makes the edges co-linear.

Shift the beam (class shiftBeam) Dialog to translate and copy objects. X, Y and Z textboxes for direct input the amount of translation in each direction. Multiple textbox is the multiple coefficient of the translation amount. Steps textbox is the denominator of the translation amount. It's used when the amount of translation is to be covered in some steps. Get displacement button to take the amount and direction of translation from the distance of selected entities (points, edges, faces) or even from a single edge. In the latter case, a green arrow is displayed to show the direction. OK to perform the action and Cancel to close the dialog.

Stretch the beam (class stretchBeam) Dialog to change the length of beams. In the textbox write the new length that will be applied to selected beams or pipes. Otherwise Get Length button takes the new length from the selected geometry (either the length of a beam or edge or the distance between geometric entities). With the slider it's possible to change the length wirtten in the text-box from -100% to +100%.

Extend the beam (class extend) Dialog to extend one beam to one selected target. If entities are preselected before calling this command, the first entity is automatically taken as target and the object attached to it is removed from the selection set. In any case it's possible to change the target object with the push-button Select.

Adjust frames' angle (class adjustFrameAngle) Tool to adjust the beams at square angles of frames. To understand at best how it works, refer to the previous tutorial.

Insert a path (class insertPath) Tool to create a continuous DWire over the path defined by the edges selected in the viewport, even if these are not touching or are intersecting in the middle or belongs to different objects. The only constraint is that exists the intersection between two subsequent edges, in the order that they were selected. Also the DWire is given the view-properties of a center-line, i.e. orange and dash-dotted.

FrameLine manager (class FrameLineManager) Same as for "pype-line" objects, this is a dialog to create and change properties of "frame-line" objects. Also similarly to what seen above, the frame-lines are objects that collects properties common to a set of beams (namely the beam's section) which are included in a common group in the tree of the model. They also have an optional property ".Base", by default set to None, which is the centerline of the beams of the frame. After a path, alias .Base, is defined (a DWire or a Sketch) other beams can be added to the frame-line but they will be deleted when Redraw is invoked. The dialog provides the following features:

  • a list of beams' profiles previously included in the model by "Insert Std. Sections" dialog (read further);
  • a combo-box to select the active FrameLine among those already created or <new> to create a new one;
  • a text-box where to write the name of the FrameLine that is going to be created; if nothing or "<name>", the FrameLined will be named as default "Telaio00n";
  • Insert button: creates a new FrameLine object or adds new members to the one selected in the combo-box if edges are selected in the active viewport.
  • Redraw button: creates new beams and places them over the selected path. New beams will be collected inside the group of the FrameLine. Does not create or update beams added to the FrameLine outside its defined path.
  • Clear button: deletes all beams in the FrameLine group. It applies also to beams added to the FrameLine outside its defined path.
  • Get Path button: assigns the Dwire selected to the attribute Path of the FrameLine object.
  • Get Profile button: changes the Profile attribute of the FrameLine object to the one of the beam selected in the viewport or the one selected in the list.
  • Copy profile checkbox: if checked generates a new profile object for each beam in order to avoid multiple references in the model.
  • Move to origin checkbox: if checked, moves the center-of-mass of the profile to the origin of coordinates system: that makes the centerline of the beam coincide with the c.o.m. of the profile.

If the name of a FrameLine object is modified, also the name of the relevant group will change automatically but not viceversa

Insert Std. Sections (class insertSection) Dialog to create the set of profiles to be used in the model for object FrameLine.

  • Section list: it includes all the sections defined in the .csv file corresponding to the selected section type.
  • Section types list: the types of profiles defined with the .csv files included in the folder /tables
  • Insert button: creates the group "Profiles_set", if not already existing, and adds to it the object of the selected profile.

Other profiles tables can be created by adding the relevant .csv file in the /tables folder. The rules to create or customize such tables are similar to those for pipe-lines. Other profiles can be drafted in the model and dragged inside the group "Profiles_set". The orientation of the DWires may influence the rendering of beams.

Installation

Automatic installation

See Installing

From GitHub

To install the workbenches, you may copy as usual the files of this repository in a subfolder of \Mod in you FreeCAD installation of your system or use the addons-installer macro.

Links to Flamingo WB

Other useful links