[done] Developing a spreadsheet based loaf pan

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
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!
Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

Re: Developing a spreadsheet based loaf pan

Post by Ulicad »

Using workarounds here and there, FC became even nice to work with.. :mrgreen:

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.


Developer-is-spreadsheet002.png
Developer-is-spreadsheet002.png (128.96 KiB) Viewed 1822 times
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 13 times
spreadsheet002-not-in-dropdown.png
spreadsheet002-not-in-dropdown.png (117.35 KiB) Viewed 1822 times
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

It's too bad ...

Post by Ulicad »

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:

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)
Two images here:
Attachments
base.274.loafpan.FCStd
(104.11 KiB) Downloaded 13 times
0.21dev.spreadsheet002-not-in-dropdown.png
0.21dev.spreadsheet002-not-in-dropdown.png (76.59 KiB) Viewed 1789 times
0.21dev.Developer-is-spreadsheet002.png
0.21dev.Developer-is-spreadsheet002.png (85.07 KiB) Viewed 1789 times
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Developing a spreadsheet based loaf pan

Post by Shalmeneser »

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.]
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Developing a spreadsheet based loaf pan

Post by Shalmeneser »

Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

Re: Developing a spreadsheet based loaf pan

Post by Ulicad »

Thanks a lot for your looking into this matter!
Shalmeneser wrote: Mon May 08, 2023 8:57 am Why CutOut is not through the material ? ...
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...)

Shalmeneser wrote: Mon May 08, 2023 8:57 am... You should rotate(98,59 °) Sketch001 to use horizontal and vertical constraint. ...
I can not see this. It is a bit tricky though and I used all my spatial imagination to work this one out ... :roll:

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
view3-section.png (70.27 KiB) Viewed 1646 times
view1-section.png
view1-section.png (71.49 KiB) Viewed 1646 times
view2-section.png
view2-section.png (82.44 KiB) Viewed 1646 times
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

Re: Developing a spreadsheet based loaf pan

Post by Ulicad »

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
Attachments
zko.291.(vector-line-test).loafpan.FCStd
(109.71 KiB) Downloaded 16 times
the-left-hand-yellow-line.png
the-left-hand-yellow-line.png (80.36 KiB) Viewed 1539 times
the-left-hand-yellow-line-not-highlighted.png
the-left-hand-yellow-line-not-highlighted.png (71.47 KiB) Viewed 1539 times
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: Developing a spreadsheet based loaf pan

Post by chrisb »

3) The line in questioon is called 'baseline-vector' and it is the intersection-line between two side-wall-planes
I don't see a line or sketch named like this.

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.
Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

How best to clean out the spreadsheets?

Post by Ulicad »

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 :D

Regards
Uli
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
Ulicad
Posts: 311
Joined: Tue Aug 16, 2022 10:35 am
Location: de_DE

Re: Developing a spreadsheet based loaf pan

Post by Ulicad »

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:

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 11 times
Regards, Ulicad / Uli
---
en: New FC-user, virgin to previous CAD-work, labouring on his new hobby Ulis Blog
de: Neuer FC-Nutzer, ohne vorhergehende CAD-Erfahrung, beschäftigt mit seinem neuen Hobby Ulis Blog
chrisb
Veteran
Posts: 53933
Joined: Tue Mar 17, 2015 9:14 am

Re: Developing a spreadsheet based loaf pan

Post by chrisb »

Ulicad wrote: Sun May 28, 2023 8:49 pm Please DISREGARD anything else except for this alias-problem in 'Developer' spreadsheet, if possible.
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.
Post Reply