Flamingo & Dodo workbench(s) discussion thread

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
oddtopus
Posts: 142
Joined: Tue Sep 20, 2016 6:17 pm

Re: Flamingo (Workbench) discussion thread

Post by oddtopus »

renatorivo wrote: Since to implement other unified profiles in Flamingo, you must implement ArchProfile.py and profiles.csv first.
I did some tests, I implemented profiles L, Z, T, C.

Thank You @renatorivo for the new profiles.
One question: where shall the Arch profiles.csv file live? Under /Mod/Arch or under /Mod/flamingo/tables?

thschrader wrote: Sat Nov 25, 2017 12:26 pm Is there a chance to get the new data via addon-manager/flamingo?

Mmh.. I just read this post, but as far as I understand, Renato hacked ArchProfile.py in the Arch module; so, in order to make the new profiles available for everyone, that code should be added in Arch permanently.
I see two possibilities:
1) Ask to @yorik to add the new profile's classes in the Arch module and modify the makeProfile function as written above. I think that does not interfere with other functionalities of Arch.
2) Add the new profile's classes in flamingo module. But this solution would be less linear and less integrated with other modules.

I think the first way is more neat and allow to use the new Structure objects also from Arch, if Yorik agrees.
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Flamingo (Workbench) discussion thread

Post by renatorivo »

oddtopus wrote: Sat Nov 25, 2017 2:01 pm One question: where shall the Arch profiles.csv file live? Under /Mod/Arch or under /Mod/flamingo/tables?
For now, we need two separate .csv files
Arch profiles.csv separates values with a comma
flamingo/tables separates values with semicolon
there are also other differences.

Renato
oddtopus
Posts: 142
Joined: Tue Sep 20, 2016 6:17 pm

Re: Flamingo (Workbench) discussion thread

Post by oddtopus »

renatorivo wrote: Sat Nov 25, 2017 8:17 pm
oddtopus wrote: Sat Nov 25, 2017 2:01 pm One question: where shall the Arch profiles.csv file live? Under /Mod/Arch or under /Mod/flamingo/tables?
For now, we need two separate .csv files
Arch profiles.csv separates values with a comma
flamingo/tables separates values with semicolon
there are also other differences.

Renato
I tried to use the new profiles replacing the Mod/Arch/ArchProfile.py and /Mod/Arch/Presets/profiles.csv files.
It seems that does not interfere with Arch module: for those interested, herebelow are the differences between the original file and the hacked one.
diff.txt
differences in ArchProfile.py
(35.66 KiB) Downloaded 82 times
Nevertheless I noticed another little difference that may affect the behaviour of frame tools in version 0.17.....
I applied the new profiles (one C40x20x10 and one ZNP5) to a frameLine object:
frameMan.png
frameMan.png (17.04 KiB) Viewed 2879 times
With the C profile the result is ok:
c.png
c.png (4.42 KiB) Viewed 2879 times
Instead the Z profile cause the orientation of beam to be opposite:
z.png
z.png (6.58 KiB) Viewed 2879 times
It seems that all is about different orientation of the new profile's faces, but I also found that the following lines are commented in ArchProfile.py:

#r.reverse()

This is done in the latest version of the file in the repository (for 0.17 release), so it does not deal with Renato's hack.
The workaround is quite simple in the flamingo code: the backdraw is that beams will be drawn in a different way in releases 0.16 and 0.17 (unless I use an "if" clause that execute different code according to the version of FC, or make the function "smarter"... let's see).

Anyway @renatorivo please take care about the orientation of faces of the profiles since CC and Z profiles point in opposite directions; otherwise the beams will be oriented erratically respect to the center-line.
renatorivo
Veteran
Posts: 2611
Joined: Tue Feb 21, 2012 8:07 pm
Location: Torino - Italy

Re: Flamingo (Workbench) discussion thread

Post by renatorivo »

oddtopus wrote: Sun Nov 26, 2017 10:02 am #r.reverse()
removed the comment, the position is the right one, thank you.
venky.naraya
Posts: 1
Joined: Fri Dec 22, 2017 9:27 pm

Re: Flamingo (Workbench) discussion thread

Post by venky.naraya »

I am not sure what I am doing wrong. I cannot seem to get the beams/profiles to align with the path. Please see attached image of the sample file included with the workbench. I get it right sometimes but most of the times the beam is placed far away from the path
Attachments
Cannot seem to get the beams to align with the path
Cannot seem to get the beams to align with the path
1.jpeg (189.3 KiB) Viewed 2737 times
Jee-Bee
Veteran
Posts: 2566
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Flamingo (Workbench) discussion thread

Post by Jee-Bee »

venky.naraya wrote: Fri Dec 22, 2017 9:33 pm I am not sure what I am doing wrong. I cannot seem to get the beams/profiles to align with the path. Please see attached image of the sample file included with the workbench. I get it right sometimes but most of the times the beam is placed far away from the path
Can you add you're file?
ikua
Posts: 159
Joined: Fri Apr 07, 2017 1:32 pm

Re: Flamingo (Workbench) discussion thread

Post by ikua »

Hello!

I asked a time ago to create flange which could be moved with the pipe. At that moment it was not possible. I started now to play around with arch pipes and have found a way to add flanges which move with the pipe. I think the next step to add fitting to the pipe, which move relative with them is close.

My working approach is for planing issues on semi industrial standard. So it is highly iterative. So easy chances on the pipe positions are highly important for me.

I asked the same question on the ose flamingo WB integration thread. With OSE i saw not that much overlapping at the moment, but i wanted to ask here again.

My Workflow at the moment:
-Drawing the center line of the pipe with draft-dwire (so i can manipulate it easily later one)
- Make a pipe with the arch pipe tool

Tools i have developed for myself:
-I can selected created pipe (one or multiple): DN, medium, material and some export options
extras of this: the fillets of the dwire and therefore the radius of the elbow ajust automatically with the DN
if the filling medium is selected the material get selected automatically and also a color is automatically assigned
(for this 2 function is use and external csv to assign color to material DN to diameter ....)
-I can hide/unhide all pipes from the drawing (so i can easily manipulate the dwires)
-I can hide/unide the all base dwire form the drawing
-adding flanges at the end of the pipe which move with the pipe
-with the export options i can autmatically create a bill of quantities for tender issues in the German GAEB format.

Future developments i would like to make:
-add fitting which move with the basic dwire and can be relativly or absolutly fixed on an edge of the dwire (for example in the middle of it)
-add possibilities or insulation to pipes (and use them also in export)
-add pipesupports to the closesd wall automatically
-add an export "token" which you can connect to parts which are not part of an pipe to include them in the bill of quantities

The final idea would be to also develop and P&ID tool in freecad which you could connect to the 3d drawing an check both for completness.

So the ideal workflow would be for me:
PI&D->3d-Drawing->bill of quanities all made based on freecad

I am at the moment at home, but if you are interested in my stuff i can upload some fill next week from my office.

So are we working in the same direction and should join up, or do you see my approach totally different from yours and i would make at the moment no sence to work together?

greets ikua
oddtopus
Posts: 142
Joined: Tue Sep 20, 2016 6:17 pm

Re: Flamingo (Workbench) discussion thread

Post by oddtopus »

Dear @ikua,
I will be happy to integrate your suggestions. Can you send a link to your repository?

I guess we are working in the same direction as I share most of the goals you wrote, but there's always "more than one way to skin a cat".
My workflow is
1) draw the isometric in 3D (with the "hacked-DWire" tool)
2) check the path and lay down all the pipes and bends (I focus on butt-welded components: that is why I don't deal with too much fittings)
3) when the route is decided, refine the drawing breaking the pipe at some points and insert the necessary valves and flanges
I agree it would be nice to start directly from the diagram (as done in some software for electronics like EAGLE or KiCAD) but I don't like too much office-automation when designing.
Nevertheless flamingo is a continuous work-in-progress and I also aim to make things simpler day by day: check the new "PypeBranch" object and last tutorial for example.

About how pype-parts are created, when I started to deal with piping in FreeCAD I decided not to just sweep profiles over the centerlines. Instead I developed FeaturePythons for each part in order to have a more "physical" representation and to extract bill-of-materials more easily. (..and also for my own fun! BTW: the feature to extract b.o.m. is already available in the PypeLine Manager dialog).
More or less at the same time, piping was introduced also in the Arch workbench but with different tasks; so I guess that different representations of piping fit to the application to which they are applied.

The best thing of open-source is that anyone can find or develop instruments according his own needs: thus I appreciate the approach of Rusland in OSE-piping-workbench to provide different options for creating parts. I will also try to do the same as far as possible.

P.S. Despite the initial proverb, I'm respectful to all the cats and other animals. So no feline was skinned for this post. :D
ikua
Posts: 159
Joined: Fri Apr 07, 2017 1:32 pm

Re: Flamingo (Workbench) discussion thread

Post by ikua »

Hey oddtopus!

I have all my freecad stuff on an other computer. Will check out the new details of flamingo tomorrow i hope. Also i wil try to upload my stuff on github.

I am also aware to not automatize to much stuff, but i think it would be a nice tool to draw also the P&ID in freecad (also cause i think, that could attraced a lot of people to freecad, because there is no really good open source tool for this available). On the other hand i see it as a good point to check the consistency in between the P&ID and the 3d-Drawaing. So you would have two files (the P&ID and the 3d) an a routine which checks if everything what is in P&ID is also in the 3d an later one in the call of tender.

I had a translation mistake. I also do not need that much fitting :-) but valves. I would think it would be a nice approch to connect them to edges (not to wires) and position them relative or absolute to the next vertex. So it would move with the pipe if you have to change the position in the routing process. Maybe it would also be nice to add a property to rotate them along this axis.

The tool with the pressure calculation is awesome!!!!!!!!!! (still have to check it out in real life) but that would make all the piping in freecad a killer tool. Maybe i can support here with some extensions of the tool for other liquids, will have an eye on it.

So like i said, i will check out flamingo tomorrow and give some reflections on it and upload my stuff (still have to learn github, at the moment i am only working remote (its my first open source project)). But like i understand it, you are the master of the pipes :-), so if our workflows are somehow mergeable I see my position as support under you guidance. I would try than to put my focus on a P&ID stuff (as main project) and support as much as i can on the pipe tool!

greets ikua
ikua
Posts: 159
Joined: Fri Apr 07, 2017 1:32 pm

Re: Flamingo (Workbench) discussion thread

Post by ikua »

@ oddtopus!

I was playing around a bit an i got aware of something. I do not know it is the user or the program (probably the user). I made a dwire and than added a pypeline, which works like charm. Also i like a lot the change of syle of the path. But than i changed the dwire (one point with the edit draft tool) and tried do redraw it, which i could not work out how. Tried to select parts of the tube, the whole system, in the tree.. could not get it redrawn.

When i tried to insert flanges, i used the dwire as base object and added automatic recomputation. so if i change the dwire also the flanges change position automatically.

here the link to the code
https://forum.freecadweb.org/viewtopic. ... 89#p224289

I think a way like that would ease the workflow especially on planing issues, which are highly iterative and the routing can change every moment.

Also i wrote a small scirpt to move different edges form different dwires at the same time. As an scanacrio imagine that you find out that you have to move 10 parts of different pipes 10 cm more in direction of the celling (cause suddenly someone needs more room under them). With the folllowing scirpt you select the affected parts of the different pipes, run the script with the relative coordinate change an all the segments move at the same time. if the pipes than or also connected with the routing line (dwire) as a base object the update automatically. Also if you have added the flanges connected with the base dwire they also would move. What do you think about that approach?

Here the link to the edge move script.

https://forum.freecadweb.org/viewtopic. ... 68#p224568

greets ikua
Post Reply