V0.19: Clayton Steam Wagon--UPDATE #4

Show off your FreeCAD projects here!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
Kunda1
Veteran
Posts: 13434
Joined: Thu Jan 05, 2017 9:03 pm

Re: V0.19: Clayton Steam Wagon--work in process

Post by Kunda1 »

I vote for @ppemawm to be the official mascot of FreeCAD :ugeek:
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: V0.19: Clayton Steam Wagon--work in process

Post by abdullah »

ppemawm wrote: Sun May 19, 2019 11:28 pm
abdullah wrote: Sun May 19, 2019 6:29 pm Have you tried to first click the "toggle construction geometry" button and then use CarbonCopy?
Yes I have, at the suggestion of kilsolre, and it is exactly what I wanted. Thanks for all your comments.
Sorry, I got a notification and replied without realising there were other answers already there. :)
abdullah
Veteran
Posts: 4935
Joined: Sun May 04, 2014 3:16 pm
Contact:

Re: V0.19: Clayton Steam Wagon--work in process

Post by abdullah »

Kunda1 wrote: Sun May 19, 2019 11:53 pm I vote for @ppemawm to be the official mascot of FreeCAD :ugeek:
mascot?

The guy is beyond that, he is what I hope to be in 3 or 4 reincarnations time... ;)
User avatar
sliptonic
Veteran
Posts: 3457
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: V0.19: Clayton Steam Wagon--work in process

Post by sliptonic »

ppemawm wrote: Sun May 19, 2019 1:06 pm
If anyone is interested in this process, I could strip out the reverser sub-assembly and attach the file if it is not too large.
Yes please!
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.19: Clayton Steam Wagon--work in process

Post by ppemawm »

sliptonic wrote: Mon May 20, 2019 1:54 pmYes please!
File is attached.
Please note that several components of the subassembly were deleted to reduce the file size.
Any questions or comments are welcome.
Clayton_1.3--Reverser_Subassembly.FCStd
(981.69 KiB) Downloaded 88 times
"It is a poor workman who blames his tools..." ;)
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.19: Clayton Steam Wagon--UPDATE #1

Post by ppemawm »

I have been working on the components of the boiler such as the water box, feedwater heater, and the boiler assembly as shown in the following screen captures. Much of the boiler is complete except for all the connection fittings and internal tube banks which are currently in process.

This is the complete assembly so far except for all the myriad fasteners and rivets.  I deleted these from the file because of the painfully slow graphics response during modelling and autosave.
This is the complete assembly so far except for all the myriad fasteners and rivets. I deleted these from the file because of the painfully slow graphics response during modelling and autosave.
Picture8.jpg (66.36 KiB) Viewed 2685 times
The water box was fairly simple to model but the boiler has many detail components that will take a bit time.  All the external and internal components of the boiler are in their own Part container so that they can be easily isolated during modelling as can be seen in the model tree.  These Part containers in turn contain Part containers for various sub-assemblies of bodies.
The water box was fairly simple to model but the boiler has many detail components that will take a bit time. All the external and internal components of the boiler are in their own Part container so that they can be easily isolated during modelling as can be seen in the model tree. These Part containers in turn contain Part containers for various sub-assemblies of bodies.
Picture9.jpg (67.79 KiB) Viewed 2685 times
The feedwater heating coils were a bit challenging to accurately model the interconnection with the inlet and exit fittings.
The feedwater heating coils were a bit challenging to accurately model the interconnection with the inlet and exit fittings.
Picture10.jpg (62.74 KiB) Viewed 2685 times
The tubing was created using a helical coil as a starting point and then elbows and straight sections were added by PartDesign revolves and face pads as shown above.  Only one sketch (tube cross-section) is required.<br /><br />Datum lines attached to the tube end faces were used as axes for the revolves.  It is fairly easy to adjust the routing of the tubes in 3D space by changing the datum attachment properties (angle and offset bend radius) and the revolution parameters.  The use of faces, however, make the process a bit brittle and prone to breaking if major changes to add or subtract sections are necessary.
The tubing was created using a helical coil as a starting point and then elbows and straight sections were added by PartDesign revolves and face pads as shown above. Only one sketch (tube cross-section) is required.

Datum lines attached to the tube end faces were used as axes for the revolves. It is fairly easy to adjust the routing of the tubes in 3D space by changing the datum attachment properties (angle and offset bend radius) and the revolution parameters. The use of faces, however, make the process a bit brittle and prone to breaking if major changes to add or subtract sections are necessary.
Picture11.jpg (69.09 KiB) Viewed 2685 times
I am continuing to explore the power of master sketches and Sketcher&gt;CarbonCopy to link sketches in a body.  All of the features in the above Body188 (Grate) were created from one CarbonCopy of the constrained master sketch shown above.  <br /><br />This CarbonCopy sketch was then Edit&gt;Duplicated for each sequential feature and appropriate construction lines toggled to create the specific construction geometry for each feature.  The duplicated CarbonCopy attachment elevation (Z) was adjusted as required.
I am continuing to explore the power of master sketches and Sketcher>CarbonCopy to link sketches in a body. All of the features in the above Body188 (Grate) were created from one CarbonCopy of the constrained master sketch shown above.

This CarbonCopy sketch was then Edit>Duplicated for each sequential feature and appropriate construction lines toggled to create the specific construction geometry for each feature. The duplicated CarbonCopy attachment elevation (Z) was adjusted as required.
Picture12.jpg (77.42 KiB) Viewed 2685 times
~
This process of duplicating the master CarbonCopy sketch saves much time and effort compared to using external references IMO. In the next update I will cover the use of a simple master and CarbonCopy as a way to link subassemblies. Also, one way to locate bodies and part containers in context of a complex assembly such as this truck model will be discussed. I am still trying to break 'bad' habits from V0.16 in which I primarily located all bodies by using sketch Placement properties.

I have tentatively settled on using Sketch attachment for feature location only, Body placement for location within a subassembly, and Part placement for subassembly location in a top assembly. Sketches are NEVER attached to faces, edges, or vertices of the model and all transformations (mirror, polar pattern, fillets, chamfers, etc.) are done at the end of the tree. This combination, in addition to simple master sketches attached to origin planes + CarbonCopy, is proving to be an exceptionally robust modelling approach. That alone is a huge improvement over V0.16.

V0.19 crashed a few times while trying to refine this approach but I have not yet been able to reproduce it. It seems as if you have to be somewhat thoughtful about copying and linking sketches. Then again, maybe it was not intended to be used this way....

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16824 (Git)
Build type: Release
Branch: master
Hash: 81ae5688d48fe9037f431b5cb8e1c9cee07f22b9
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
"It is a poor workman who blames his tools..." ;)
un1corn
Posts: 240
Joined: Sat Dec 26, 2015 2:06 pm

Re: V0.19: Clayton Steam Wagon--UPDATE #1

Post by un1corn »

H,i I hope you enjoy this project also, I did this underslung engine model in V0.16 a little over a year ago, had a problem with the drive chain though.
Nice work.
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.19: Clayton Steam Wagon--UPDATE #1

Post by ppemawm »

un1corn wrote: Thu Jun 06, 2019 6:04 am H,i I hope you enjoy this project also
Thanks for your comments.
It seems as though we have the same interest in these elegant machines and the challenge of modelling them with FreeCAD.
The models you share on the Forum have always been an inspiration to me.
"It is a poor workman who blames his tools..." ;)
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.19: Clayton Steam Wagon--UPDATE #2

Post by ppemawm »

The boiler assembly is now complete including all of the valves, connections, tube bundle, and superheater coils as shown in the following screen grabs with a few comments on the work process:

The boiler assembly is organized in the tree as two part containers:  internal and external components.  Part containers are also used to organize all of the valve sub-assemblies.<br />Draft&gt; Polar arrays were used for the tube bundle.
The boiler assembly is organized in the tree as two part containers: internal and external components. Part containers are also used to organize all of the valve sub-assemblies.
Draft> Polar arrays were used for the tube bundle.
Picture13.jpg (118.98 KiB) Viewed 2409 times
.
In order to stay in the PartDesign workbench, the superheater coils were created using an additive sweep, face pads, and revolves with datum lines as axes.  The datum lines used for the tube elbows are attached to an edge of a tube end face using a &quot;normal to edge&quot; or &quot;tangent&quot; mode depending on the desired direction of revolution.  They are then offset perpendicularly to obtain the bend radius.  <br /><br />Although this method is a bit fragile due to the topological naming problem, you can generally change the pad lengths and bend radii in order to align the tube to its end connector without breaking the model.
In order to stay in the PartDesign workbench, the superheater coils were created using an additive sweep, face pads, and revolves with datum lines as axes. The datum lines used for the tube elbows are attached to an edge of a tube end face using a "normal to edge" or "tangent" mode depending on the desired direction of revolution. They are then offset perpendicularly to obtain the bend radius.

Although this method is a bit fragile due to the topological naming problem, you can generally change the pad lengths and bend radii in order to align the tube to its end connector without breaking the model.
Picture14.jpg (135.94 KiB) Viewed 2409 times
.
This is an example of using a CarbonCopy of a simple master sketch to create each of the bodies in this subassembly.  The Part container for the subassembly has the same origin placement as the boiler top assembly so that the radial position defined in the master sketch is easily changed if necessary.  Each body origin is located in their proper placement in the subassembly.<br /><br />All of the bodies in this subassembly were created by duplicating a single CarbonCopy sketch in the XY view and toggling construction lines to geometry for each feature.
This is an example of using a CarbonCopy of a simple master sketch to create each of the bodies in this subassembly. The Part container for the subassembly has the same origin placement as the boiler top assembly so that the radial position defined in the master sketch is easily changed if necessary. Each body origin is located in their proper placement in the subassembly.

All of the bodies in this subassembly were created by duplicating a single CarbonCopy sketch in the XY view and toggling construction lines to geometry for each feature.
Picture15.jpg (102.56 KiB) Viewed 2409 times
.
In this example, two separate CarbonCopy sketches of the master sketch were used to generate all of the bodies of the upper and lower Part subassemblies. Each CarbonCopy sketch was located by changing the sketch attachment elevation (Z placement).  These sketches were then duplicated for each feature of the bodies.<br /><br />For those bodies or features that could not generated directly from the CarbonCopy in the XY plane (e.g. the handle) a shapebinder of the CarbonCopy was used to attach and locate the feature sketches in the proper plane.
In this example, two separate CarbonCopy sketches of the master sketch were used to generate all of the bodies of the upper and lower Part subassemblies. Each CarbonCopy sketch was located by changing the sketch attachment elevation (Z placement). These sketches were then duplicated for each feature of the bodies.

For those bodies or features that could not generated directly from the CarbonCopy in the XY plane (e.g. the handle) a shapebinder of the CarbonCopy was used to attach and locate the feature sketches in the proper plane.
Picture16.jpg (100.83 KiB) Viewed 2409 times
.
This is another example of using a single CarbonCopy of a master sketch to create a complex manifold with many features and several mating components in a subassembly.  The master sketch and CarbonCopy's were created in a body container.  Four separate CarbonCopy's of the master sketch differing only in their elevation (Z placement) were then duplicated to create each feature of each body.
This is another example of using a single CarbonCopy of a master sketch to create a complex manifold with many features and several mating components in a subassembly. The master sketch and CarbonCopy's were created in a body container. Four separate CarbonCopy's of the master sketch differing only in their elevation (Z placement) were then duplicated to create each feature of each body.
Picture17.jpg (109.7 KiB) Viewed 2409 times
.
Duplicating CarbonCopy sketches has been a real timesaver especially when so many sketches have to be created for a model of this complexity. The downside of course is that the CarbonCopy does not update if you change the geometry of the master sketch although dimensions can be changed. The CarbonCopy also does not respect the placement of the master sketch.

If these limitations are not tolerable then shapebinders of the master sketch must be used with external references in the feature sketches with a whole lot of added work to create each sketch. So far, I prefer the CarbonCopy approach mainly because I am working from drawings rather than original design where you would expect more changes during modelling.

Next up is the twin cylinder steam engine and its transmission....oh ,boy.

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16824 (Git)
Build type: Release
Branch: master
Hash: 81ae5688d48fe9037f431b5cb8e1c9cee07f22b9
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
"It is a poor workman who blames his tools..." ;)
User avatar
ppemawm
Veteran
Posts: 1240
Joined: Fri May 17, 2013 3:54 pm
Location: New York NY USA

Re: V0.19: Clayton Steam Wagon--UPDATE #3

Post by ppemawm »

I have been working on the underslung steam engine that drives the the truck. Completed components include the crankcase housing, steam chest, lubricator, water pump, drive chain, and miscellaneous fittings. The models are shown in the photos below with some minor comments. Note that the engine has been placed in its own file and will be merged later with the truck assembly which has grown too large and less responsive during modelling.
The steam engine and crankcase are mounted underneath the truck chassis as shown in the inset picture taken from the plans.  A shapebinder of the driven sprocket on the rear axle assembly was imported from the truck file to serve as a locator for the engine.
The steam engine and crankcase are mounted underneath the truck chassis as shown in the inset picture taken from the plans. A shapebinder of the driven sprocket on the rear axle assembly was imported from the truck file to serve as a locator for the engine.
Picture18.jpg (116.46 KiB) Viewed 2256 times
The origin of the engine was placed at the centerline of the crankshaft.  Each subassembly was then placed at its proper location with respect to the engine origin and each body with respect to its subassembly origin.  This simplifies master sketch attachment location for the various body features.
The origin of the engine was placed at the centerline of the crankshaft. Each subassembly was then placed at its proper location with respect to the engine origin and each body with respect to its subassembly origin. This simplifies master sketch attachment location for the various body features.
Picture19.jpg (99.44 KiB) Viewed 2256 times
This is an up-close detail of a spring on the lubricator which was a bit tricky to model accurately.  The technique of pads and revolves described in earlier posts was used.  It is important to 'square' the ends of the helix parallel to an origin plane before adding the end features.
This is an up-close detail of a spring on the lubricator which was a bit tricky to model accurately. The technique of pads and revolves described in earlier posts was used. It is important to 'square' the ends of the helix parallel to an origin plane before adding the end features.
Picture20.jpg (108.99 KiB) Viewed 2256 times
The drive chain model was created using a method worked out in an earlier post https://forum.freecadweb.org/viewtopic.php?f=24&amp;t=18267&amp;hilit=roller+chain.<br /><br />One link and one pin were created at the chain subassembly origin as shown in the picture.  The link is centered symmetrically at the origin.  Note that the pin must be located in its proper location in the link rather than the origin.  This creates a small error since the pin does not exactly follow the path sketch at the circular arcs.  (Path array locates the sketch origin on the path sketch.) This is quite minor for large diameter sprockets but can be significant for small sprockets or longer link pitches.<br /><br />Draft&gt;PathArray was then used to align the chain links and pins to a sketch of the chain pitch-line.  The arrays were Draft&gt;downgraded twice to obtain individual solids.  The even and odd numbered links were separated and moved to group folders.  The chain link solids could then be moved to the inside and outside locations of the sprockets using placement properties to form the chain assembly.  Some minor placement adjustments of several links on the small sprocket was required to more closely match the location of the pins. <br /><br />This is not an exact model of the chain path due to limitations of the draft path array but is usually close enough for most purposes.  See the roller chain post for discussion of these limitations.
The drive chain model was created using a method worked out in an earlier post https://forum.freecadweb.org/viewtopic.php?f=24&t=18267&hilit=roller+chain.

One link and one pin were created at the chain subassembly origin as shown in the picture. The link is centered symmetrically at the origin. Note that the pin must be located in its proper location in the link rather than the origin. This creates a small error since the pin does not exactly follow the path sketch at the circular arcs. (Path array locates the sketch origin on the path sketch.) This is quite minor for large diameter sprockets but can be significant for small sprockets or longer link pitches.

Draft>PathArray was then used to align the chain links and pins to a sketch of the chain pitch-line. The arrays were Draft>downgraded twice to obtain individual solids. The even and odd numbered links were separated and moved to group folders. The chain link solids could then be moved to the inside and outside locations of the sprockets using placement properties to form the chain assembly. Some minor placement adjustments of several links on the small sprocket was required to more closely match the location of the pins.

This is not an exact model of the chain path due to limitations of the draft path array but is usually close enough for most purposes. See the roller chain post for discussion of these limitations.
Picture21.jpg (110.2 KiB) Viewed 2256 times
This is the spreadsheet used to calculate the link pitch and center distance of the chain.  This is an iterative process as described in the earlier roller chain post.<br /><br />In this example for the truck drive chain the drawings gave the center distance, number of links (70) and a link pitch of 16 mm which seems to be an approximation.  An exact link pitch  of 16.28 mm was necessary to obtain the specified center distance and number of links.  The difference of 0.28 mm does not sound significant but when added up for 70 links it creates a significant error either in the center distance or number of links.
This is the spreadsheet used to calculate the link pitch and center distance of the chain. This is an iterative process as described in the earlier roller chain post.

In this example for the truck drive chain the drawings gave the center distance, number of links (70) and a link pitch of 16 mm which seems to be an approximation. An exact link pitch of 16.28 mm was necessary to obtain the specified center distance and number of links. The difference of 0.28 mm does not sound significant but when added up for 70 links it creates a significant error either in the center distance or number of links.
Picture22.jpg (120.82 KiB) Viewed 2256 times
.
Next up are all details of the steam engine internals such as the pistons, connecting rods, valves, etc. which will wrap up this interesting and challenging project.

OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.16824 (Git)
Build type: Release
Branch: master
Hash: 81ae5688d48fe9037f431b5cb8e1c9cee07f22b9
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)
"It is a poor workman who blames his tools..." ;)
Post Reply