[done] Developing a spreadsheet based loaf pan
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
Re: Developing a spreadsheet based loaf pan
Using workarounds here and there, FC became even nice to work with..
Something absolutely new now broke - you never stop learning
Can someone help?
Just 'before' (before what exactly I don't know ..), working with and in the Spreadsheets, including using my labels, was alright.
Now, the reference to Spreadsheet002 is not possible anymore. Neither can the individual labels (Manual, User, Developer) be used.
How would you correct this?
Regards
Uli
Edit:
Hello experienced users, Is there a recommendation please? Can't continue with backups either..
Something absolutely new now broke - you never stop learning
Can someone help?
Just 'before' (before what exactly I don't know ..), working with and in the Spreadsheets, including using my labels, was alright.
Now, the reference to Spreadsheet002 is not possible anymore. Neither can the individual labels (Manual, User, Developer) be used.
How would you correct this?
Regards
Uli
Edit:
Hello experienced users, Is there a recommendation please? Can't continue with backups either..
- Attachments
-
- base.274.loafpan.FCStd
- (104.11 KiB) Downloaded 17 times
-
- spreadsheet002-not-in-dropdown.png (117.35 KiB) Viewed 2079 times
It's too bad ...
I do not want to create noise.
After installing 0.21dev, the problem persists and working with the spreadsheets of FC is not possible for me.
Or, I am doing something seriously wrong.
The system now says:
Two images here:
After installing 0.21dev, the problem persists and working with the spreadsheets of FC is not possible for me.
Or, I am doing something seriously wrong.
The system now says:
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.21.0.32552 (Git)
Build type: Release
Branch: master
Hash: e2b3a5d2f791fb78a61daac9bdab374058f682f2
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: German/Germany (de_DE)
- Attachments
-
- base.274.loafpan.FCStd
- (104.11 KiB) Downloaded 22 times
-
- 0.21dev.spreadsheet002-not-in-dropdown.png (76.59 KiB) Viewed 2046 times
-
- 0.21dev.Developer-is-spreadsheet002.png (85.07 KiB) Viewed 2046 times
- Shalmeneser
- Veteran
- Posts: 9593
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: Developing a spreadsheet based loaf pan
Why CutOut is not through the material ?
You should rotate(98,59 °) Sketch001 to use horizontal and vertical constraint.
liter = l (or L) [not ltr.]
You should rotate(98,59 °) Sketch001 to use horizontal and vertical constraint.
liter = l (or L) [not ltr.]
- Shalmeneser
- Veteran
- Posts: 9593
- Joined: Wed Dec 23, 2020 12:04 am
- Location: Fr
Re: Developing a spreadsheet based loaf pan
cyclic dependencies are illegal : https://wiki.freecad.org/Spreadsheet_Wo ... imitations
Re: Developing a spreadsheet based loaf pan
Thanks a lot for your looking into this matter!
1) The pockets on the right side seem to completely go through the body-wall - or do I see this wrong?
2) The pockets on the left side only appear fully if you zoom out (does that mean they are not 'through all' / badly positioned?
(Definitely, I do not understand all of the setting-parameters for pockets...)
There are two controlling angles in total.
The first, master, is 8.5°. Each side of the pan, including the (still missing) insertion-parts, is slanted by this same angle.
Depending on the master is the slant-angle of 8.593° for the cutouts within the plane of the side-walls.
At this moment, the only problem I can see in this context are the cutouts on the left side. Don't they go through all?
Regards
Uli
Edit:
Completely forgot about the 'cyclic dependencies' ...
Thanks a lot, you got me out of a menatl blockade...
Knowingly, I would not create such a dependency. Now I understood: FC is not accepting the same spreadsheet for in- and output purposes, no matter if such dependencies would exist within them.
I am very uncertain about this because pockets are (as far I understand) visualized only within some other bodies.
1) The pockets on the right side seem to completely go through the body-wall - or do I see this wrong?
2) The pockets on the left side only appear fully if you zoom out (does that mean they are not 'through all' / badly positioned?
(Definitely, I do not understand all of the setting-parameters for pockets...)
I can not see this. It is a bit tricky though and I used all my spatial imagination to work this one out ...Shalmeneser wrote: ↑Mon May 08, 2023 8:57 am... You should rotate(98,59 °) Sketch001 to use horizontal and vertical constraint. ...
There are two controlling angles in total.
The first, master, is 8.5°. Each side of the pan, including the (still missing) insertion-parts, is slanted by this same angle.
Depending on the master is the slant-angle of 8.593° for the cutouts within the plane of the side-walls.
At this moment, the only problem I can see in this context are the cutouts on the left side. Don't they go through all?
Regards
Uli
Edit:
Completely forgot about the 'cyclic dependencies' ...
Thanks a lot, you got me out of a menatl blockade...
Knowingly, I would not create such a dependency. Now I understood: FC is not accepting the same spreadsheet for in- and output purposes, no matter if such dependencies would exist within them.
- Attachments
-
- view3-section.png (70.27 KiB) Viewed 1903 times
-
- view1-section.png (71.49 KiB) Viewed 1903 times
-
- view2-section.png (82.44 KiB) Viewed 1903 times
Re: Developing a spreadsheet based loaf pan
Hello folks,
even with only little time to work on the project, it slowly is proceeding.
Before correcting all previously mentioned inaccuracies and shortcomings in the CAD-model, the last (for a beginner) difficult step is in the make, the insertion part.
For a start in modeling this part, I'd like to be ascertained, that the main test-line is positioned correctly. It does not show the expected looks in the view yet!
The preconditions:
1) All side-walls of the pan are slanted by an angle of 8.5 deg
2) The slanting angle of the cutouts within the side-wall planes is approx. 8.593 deg (this could be slightly wrong only in case the construction computation as such is faulty!)
3) The line in questioon is called 'baseline-vector' and it is the intersection-line between two side-wall-planes
Now, test-line '3-Line' is meant to represent a stretch of this baseline-vector. If everything is correct, this line ought to run fully inside of the left-hand side wall. But: depending on the zoom-factor, part of this line becomes visible in the selected view while it should not - if it is running completely inside of the wall-sheet.
I tried different views and rotations to find this one out - without sufficient certainty (not enough experience).
The question is:
Does this line fully run within the wall-sheet (centered), independent of its appearance in the view?
Oh my, so many words, please forgive...
Hope you can calm my worries... (please disregard most within 'Developer')
Regards
Uli
even with only little time to work on the project, it slowly is proceeding.
Before correcting all previously mentioned inaccuracies and shortcomings in the CAD-model, the last (for a beginner) difficult step is in the make, the insertion part.
For a start in modeling this part, I'd like to be ascertained, that the main test-line is positioned correctly. It does not show the expected looks in the view yet!
The preconditions:
1) All side-walls of the pan are slanted by an angle of 8.5 deg
2) The slanting angle of the cutouts within the side-wall planes is approx. 8.593 deg (this could be slightly wrong only in case the construction computation as such is faulty!)
3) The line in questioon is called 'baseline-vector' and it is the intersection-line between two side-wall-planes
Now, test-line '3-Line' is meant to represent a stretch of this baseline-vector. If everything is correct, this line ought to run fully inside of the left-hand side wall. But: depending on the zoom-factor, part of this line becomes visible in the selected view while it should not - if it is running completely inside of the wall-sheet.
I tried different views and rotations to find this one out - without sufficient certainty (not enough experience).
The question is:
Does this line fully run within the wall-sheet (centered), independent of its appearance in the view?
Oh my, so many words, please forgive...
Hope you can calm my worries... (please disregard most within 'Developer')
Regards
Uli
- Attachments
-
- zko.291.(vector-line-test).loafpan.FCStd
- (109.71 KiB) Downloaded 18 times
-
- the-left-hand-yellow-line.png (80.36 KiB) Viewed 1796 times
-
- the-left-hand-yellow-line-not-highlighted.png (71.47 KiB) Viewed 1796 times
Re: Developing a spreadsheet based loaf pan
I don't see a line or sketch named like this.3) The line in questioon is called 'baseline-vector' and it is the intersection-line between two side-wall-planes
Edges are shown in 3D view with their specified thickness. This is independent from the zoom level, i.e. zooming out makes the edges seemingly bigger. If you zoom far enough out, you can see the lines on the far side where they geometrically are not.
If you have a flat face and a straight line, and the start as well as the end of the line are on the same side of the face, the the line will not cross the face.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
How best to clean out the spreadsheets?
Hello all,
for cleaning out spreadsheets I very much would appreciate any useful tips.
Especially helpful would be an outomated way to find out unused / unreferenced aliases.
Would be happy if you can suggest something
Regards
Uli
for cleaning out spreadsheets I very much would appreciate any useful tips.
Especially helpful would be an outomated way to find out unused / unreferenced aliases.
Would be happy if you can suggest something
Regards
Uli
Re: Developing a spreadsheet based loaf pan
Hello @all,
at the moment I somehow do'nt trust my eyes and hope someone can help with experience.
While busy again with cleaning and rearranging a big mess in a spreadsheet, I discovered that a certain alias could not be set.
Ok, assuming that it already was set somwhere, I simply copied the whole spreadsheet into a neutral word processor (Notepad++) to more easily find out. Since each alias name has a copy in column C, the search was easy to do. To care for an unintended exception from this rule of copying, each alias in the complete sheet was checked directly.
The finding until now is:
- The problem-alias (Ip_noseHeigth_D) already is REFERENCED in two cells (D137 & D144) , but it seems to be assigned (or defined) NOWHERE.
For ease of handling, the whole 'bare'-copy of the spreadsheet is given as 'code'.
Is such a situation possible without a bug? Or my misconception?
Regards
Uli
Please DISREGARD anything else except for this alias-problem in 'Developer' spreadsheet, if possible.
Developer spreadsheet:
at the moment I somehow do'nt trust my eyes and hope someone can help with experience.
While busy again with cleaning and rearranging a big mess in a spreadsheet, I discovered that a certain alias could not be set.
Ok, assuming that it already was set somwhere, I simply copied the whole spreadsheet into a neutral word processor (Notepad++) to more easily find out. Since each alias name has a copy in column C, the search was easy to do. To care for an unintended exception from this rule of copying, each alias in the complete sheet was checked directly.
The finding until now is:
- The problem-alias (Ip_noseHeigth_D) already is REFERENCED in two cells (D137 & D144) , but it seems to be assigned (or defined) NOWHERE.
For ease of handling, the whole 'bare'-copy of the spreadsheet is given as 'code'.
Is such a situation possible without a bug? Or my misconception?
Regards
Uli
Please DISREGARD anything else except for this alias-problem in 'Developer' spreadsheet, if possible.
Developer spreadsheet:
Code: Select all
Name see pencil sketches Copy of alias Value
Loaf Pan values continued:
Categories are listed alphabetically. Entries in each category are listed counterclockwise, beginning mainnly at (0;0) in the drawing.
... Angular
... Chamfers
... Fillets
Fillet, bottom, inner Lp_filletInner_D =<<User>>.Lp_filletBottomInner == 0mm ? 0.001mm : <<User>>.Lp_filletBottomInner
Fillet, bottom, outer Lp_filletOuter_D =<<User>>.Lp_filletBottomInner == 0mm ? 0.001mm : <<User>>.Lp_filletBottomInner + <<User>>.Lp_sheetThickness_D
... Lengths
Mean values are computed using the center-plane of the sheet (depending on its thickness). Wherever possible, computations are using these values to avoid confusion.
Mean top width Lp_mW =<<User>>.Lp_W_D - cos(Cu_beta_D) * <<User>>.Lp_sheetThickness_D
Mean base width Lp_mB =Lp_mW - 2 * tan(Cu_beta_D) * Lp_mH
Mean heigth (center of sheet on top-face to X-Y plane of pan) Lp_mH =<<User>>.Lp_H_D + Delta_Z_top
LpmH/cosalpha=breadth
Mean sidewall-breadth. Not to be mistaken with pan-height! Lp_mS_breadth =Lp_mH / cos(<<User>>.Lp_Alpha_D)
Clearances:
Clearance between different parts of the loaf pan are listed here. Clearances are meant to be altered by designing users only!
Insertion part to side of pan D1 Cl_D1_clearanceSidewards =0.2mm
Measured orthogonal to vector!
Upper nose edge to upper edge of cutout D2 Cl_D2_noseToTopEdge =0.5mm
Locking nose to notch heigth D6 Cl_D6_noseToNotchHeight =0.7mm
Insertion sheet to cutout (narrowest) D7 Cl_D7_sheetToNarrowCutout =0.8mm
Insertion part to bottom D50 Cl_D50_Ip_Bottom_D =0.4mm
Measured along vector!
Insertion part to top D51 Cl_D50_Ip_Top_D =0.4mm
Measured along vector!
Offsets:
Offset values required are listed here. Editing of offsets is not recommended.
Offsets are calculated using mean values of the pan-sheet, if applicable!
... Cutout plane
Cutout plane offset Cu_plane_Offset_D =0.5 * Lp_mB
Mean value is used!
Top left vertex of pan (horizontal) Cu_topLeftPan_X =-0.5 * <<User>>.Lp_L_D
"Outside" and mean values are identical!
Top left vertex of pan (vertical) L2 Cu_topLeftPan_mY =Lp_mH / cos(<<User>>.Lp_Alpha_D)
Mean value!
Cutout1 Pv1 offset (horizontal) C1Pv1_offHor =7mm
"Outside" and mean values are identical!
"Outside" and mean values are identical!
Cutout1 Pv1 offset (vertical) Ov1 C1Pv1_off_mVert =8mm
... Insertion part plane
Insertion part plane X-offset Ip_X_planeOffset_D =-C1_Pc1Y_horizontal_D - Delta_X_Pv1
Auxiliary values:
Since the user-set heigth of the pan is measured on its outer edge, we need the mean height and width for calculations, depending on the sheet thickness!
Delta X (for mean-values) Delta_X_top =0.5 * cos(Cu_beta_D) * <<User>>.Lp_sheetThickness_D
Delta Z (for mean-values) Delta_Z_top =0.5 * sin(Cu_beta_D) * <<User>>.Lp_sheetThickness_D
Vector to insertion part (orthogonal) vector_to_InsertionPart =0.5 * <<User>>.Lp_sheetThickness_D + Cl_D1_clearanceSidewards
Adjustment X-value tinyX
Mean base vector length Lp_meanBaseVectorLength =Lp_mH / cos(Cu_beta_D)
Z-difference to Pi2 Pi2_delta_Z =cos(Cu_beta_D) * Pv2_to_Pi2_distance
... Translation values for baseline-vector points to insertion part vector points
Heights' are identical both in the slanted 'short' and 'long' sidewall sketcher-planes.
Delta X translation value translate_delta_X =-cos(Cu_beta_D) * (0.5 * <<User>>.Lp_sheetThickness_D + Cl_D1_clearanceSidewards)
Delta Z translation value translate_delta_Z =sin(Cu_beta_D) * (0.5 * <<User>>.Lp_sheetThickness_D + Cl_D1_clearanceSidewards)
Cutouts (plane parallel to length of pan):
... Cutout1
... ... Anchor Pc1
Cutout1 anchor Pc1 (vertical) C1_Pc1Y_horizontal_D =Cu_topLeftpan_X + C1Pv1_offHor
Cutout1 anchor Pc1 (horizontal) C1_Pc1_Z_D =Lp_mS_breadth - C1Pv1_off_mVert
... ... Angular
Baseline angle angle_L1 Cu_beta_D =atan(sin(<<User>>.Lp_Alpha_D))
... ... Lengths preprocesssing
Cutout baseline (Pv1o Pv2) L1 / D11 Cu_baseline_D =Cu_d22_upper + Cu_d44_lower + Ip_noseHeigth_D
Cutout upper section d22 Cu_d22_upper =Cl_D2_noseToTopEdge / tan(Cu_beta_D)
Cutout middle section d44 Cu_d44_lower =(<<User>>.Lp_sheetThickness_D + Ip_noseProtrusion) / tan(Cu_beta_D)
Cutout lower width L2 Cu_L2_lowerWidth_D =Ip_thickness + Cl_D7_sheetToNarrowCutout + Cu_L4_notchDepth_D
Cutout notch heigth L3 Cu_L3_notchHeigth_D =Ip_noseHeigth_D + Cl_D6_noseToNotchHeight
Cutout notch depth L4 Cu_L4_notchDepth_D =0.6mm
(closing line only) (L5) --- ---
Cutout top line L6 Cu_L6_topLine_D =Ip_thickness + Cl_D7_sheetToNarrowCutout + Cl_D2_noseToTopEdge
... Cutout2
... ... Anchor Pc2
Cutouts D15 (vertical) D15 Cu_D15_vertical =C1_Pc1_Z_D - C2_Pc2Z_vertical_D
Cutouts D13 (horizontal) D13 Cu_D13_horizontal =tan(Cu_beta_D) * Cu_D15_vertical
Cutout2 anchor Pc2 (vertical) D16 C2_Pc2Z_vertical_D =21mm
Cutout2 anchor Pc2 (horizontal) C2_Pc2Y_horizontal_D =C1_Pc1Y_horizontal_D + Cu_D13_horizontal
Insertion part (plane parallel to width of pan):
... Anchor Pi1
X-coordinate (see Pi1_X_D)
Z-coordinate (see Pi1_Z_D)
Nose extra length Ip_nose_extraLength =1mm
Nose length Ip_noseLength_D =Cl_D1_clearanceSidewards + <<User>>.Lp_sheetThickness_D + Ip_nose_extraLength
Nose heigth =Cu_baseline_D - Cl_D2_noseToTopEdge
Vector lengths (in plane along width of pan):
Major vector lengths are listed in this section. Some are purposely repeated (redundant) for easier comprehension.
Vector Pv0 to Pv1 T1 Ve_0_1 =C1Pv1_off_mVert / cos(Cu_beta_D)
Vector Pv0 to Pv2 Ve_0_2 =Ve_0_1 + Ve_1_2
Vector Pv0 to Pv5 (full vector line) Ve_0_5 =Lp_mH / cos(Cu_beta_D)
Vector Pv1 to Pv2 Ve_1_2 =Cu_baseline_D
Identical to cutout baseline! (see cutout lengths)
Vector Pv1 to Pv5 Ve_1_5 =Ve_0_5 - Ve_0_1
Vector Pv2 to Pv5 Ve_2_5
Vector delta X- and Y- values
All delta values are distances to the X- and Y- axis, measured at the denoted starting point.
Delta-X Pv1 (horizontal) Delta_X_Pv1 =tan(Cu_beta_D) * C1_Pc1_Z_D
Point coordinates:
Points located on the insertion part vector line are denominated as Pin... Other points do NOT bear the 'i' for 'insertion'.
... Pv0 ???
Pv0 X-coordinate Pv0_X (see Lp_mW)
Pv0 Z-coordinate Pv0_Z (see Lp_mH)
... Pv1
Pv1 X-coordinate Pv1_X =0.5 * Lp_mW - Pv0_to_Pv1_deltaX
Pv1 Z-coordinate Pv1_Z =Lp_mS_breadth - C1Pv1_off_mVert
... Pi0 Anchor-Point insertion part
Pi0 X-coordinate Pi0_X_D
Pi0 Z-coordinate Pi0_Z_D
... Pi1 Anchor-Point insertion part (in plane of insertion part!)
Pi1 X-coordinate Pi1_X_D =Pv1_X + translate_delta_X
Pi1 Z-coordinate Pi1_Z_D =Pv1_Z + translate_delta_Z
... Pi2 Anchor-Point insertion part
Pi2 X-coordinate Pi2_X_D =0.5 * <<User>>.Lp_W_D - Pv0_to_Pv1_deltaX - Pv1_to_Pv2_deltaX
Pi2 Z-coordinate Pi2_Z_D =Lp_mH
... Vector point 1 ???
Pv1 X-coordinate Pv1_X_coord
Pv1 Z-coordinate Pv1_Z_coord
... Vector point Pv2 ???
X-coordinate Pv2_X_coord
Pv2 Z-coordinate Pv2_Z
???
... Point Pi5 (Y = zero)
Pi5 X-coordinate Pi5_X_coord_D
Pi5 Z-coordinate (constant) Pi5_Z_coord_D =0mm
Delta distances for pairs of points (Pvn to Pvm and Pin to Pim):
... Pv0 to Pv1
Pv0 to Pv1 vector Pv0_to_Pv1_V =C1Pv1_off_mVert / cos(Cu_beta_D)
Pv0 to Pv1 delta-X value Pv0_to_Pv1_deltaX =tan(Cu_beta_D) * C1Pv1_off_mVert
Pv0 to Pv1 delta-Z value Pv0_to_Pv1_deltaZ (see C1Pv1_off_mVert)
... Pv0 to Pv2
Pv0 to Pv2 delta-X value Pv0_to_Pv2_deltaX =Pv0_to_Pv1_deltaX + Cu_baseline_D
Pv0 to Pv2 delta-Z value Pv0_to_Pv2_deltaZ =Lp_mH - Pv1_to_Pv2_deltaZ
... Pv0 to Pv5
Pv0 to Pv5 Delta-X-value Pv0_to_Pv5_deltaX =tan(Cu_beta_D) * Lp_mH
Pv0 to Pv5 Delta-Z-value Pv0_to_Pv5_deltaZ (identical to Lp_mH)
... Pv1 to Pv2
Pv1 to Pv2 vector (baseline) Pv1_to_Pv2_V (see Cu_baseline_D)
Pv1 to Pv2 delta-X value Pv1_to_Pv2_deltaX =sin(Cu_beta_D) * Cu_baseline_D
Pv1 to Pv2 delta-Z value Pv1_to_Pv2_deltaZ =cos(Cu_beta_D) * Cu_baseline_D
... Pv2 to Pi2
Pv2 to Pi2 distance Pv2_to_Pi2_distance =0.5 * <<User>>.Lp_sheetThickness_D + Cl_D1_clearanceSidewards
Pv2 to Pi2 delta-X value Pv2_to_Pi2_deltaX =cos(Cu_beta_D) * Pv2_to_Pi2_distance
- Attachments
-
- zko.323.(alias-problem).loafpan.FCStd
- (118.13 KiB) Downloaded 17 times
Re: Developing a spreadsheet based loaf pan
You should reduce the file yourself as far as possible - which BTW often leads to a solution anyway.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.