FreeCad leren
Moderator: Moderators
Re: FreeCad leren
Als ik weer even tijd heb ga ik er nog eens naar kijken. Met nu de wetenschap dat het überhaupt kan en de ervaring dat het vaak wèl lukt als je het een tijdje laat rusten heb ik weer goede hoop. Thanks!
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something. - Robert Heinlein
Re: FreeCad leren
Je hebt toch redelijk uitgebreide mogelijkheden om de referenties en modificaties van zo'n LCS aan te passen. Dit was een rotzak waar ik aan heb moeten morrelen, want behoorlijk rotte geimporteerde data. Je kent het wel: geen circeltjes maar meerdere vlakken zodat je geen middelpunt van een gat kunt kiezen, edges op een vreemde plek, spul net niet symmetrisch, etcetera.
Maar de offset en rotatie ten opzichte van je gekozen referenties kun je best aardig aanpassen dus.
Zo'n L(okaal)CS hoeft ook niet parallel aan het globale CS te staan. Hij moet logisch staan ten opzichte van de 'feature'. In geval van een gat dus in het centrum van dat gat met de Z parallel aan het gat, en XY het liefst ook enigsins logisch. Maar als het gat scheef staat, dan staat dat LCS dus ook scheef.
En kom je er echt niet uit, dan kun je altijd nog een schets aanbrengen en daar datumobjecten op plakken.
Daar is FreeCAD geen held in (of ik weet gewoon nog niet hoe; zo'n ervaren FC-gebruiker ben ik nog niet). Ik denk dat je parts wel in een document kunt tekenen en naderhand indien gewenst af kunt splitsen naar een los document.
Maar dan nog: dat het ooit handig is snap ik, maar het is maar al te vaak een substituut voor gebrek aan planning en overzicht. En dan kom je al gauw op het punt uit dat direct modellers (Spaceclaim/Designspark Mechanical, Rhino, Sketchup, bla) je beter passen.
Da's ook geen schande hoor; een maat van me tekent de prachtigste dingen op die manier. Die moet echt niks hebben van parametertjes en schetsen enzo.
Ieder z'n eigen mening.Want dat is nog begin 20e eeuw op die manier ontwerpen zo vind ik.
Wat 'snel en efficient' is varieert aardig met de grootte en complexiteit van een project, IMHO dan. Een nieuw modelletje vuilnisbak is een heel andere schaal dan een 5-assig bewerkingscentrum met alles erop en eraan.Producten nu wil je er gewoon snel efficient uittimmeren (zegt degene die al jaren bezig is met een 3d printertje ontwikkelen).
Kies wat je wil. 'Klieder maar raak voor een knaak', oftewel beginnen met een framebuis, daar onderdeel B, C en D op plakken, vlakje kiezen, onderdeel E erop schetsen, op een ander vlakje onderdeel F, en afmaken met een dikke extrude door alles heen voor de boutjes om het vast te zetten, dat ken ik onderhand wel.
Wat ik ook ken zijn de verloren referenties, geel/rood kleurende zaken in de historie, modellen die opeens ontploffen als je er naar wijst, schetsen of constructievlakken die in het verkeerde part staan, na een jaartje niet meer mee bezig zijn geweest een halfuur studie nodig hebben om te vinden waar dingetje X nou ook al weer in de history zat, enzovoorts.
Hoe de basis voor complexere zaken nu precies beter moet weet ik ook niet. Ik probeer maar eens wat anders. De boel sturen met expressies en spreadsheets en aan elkaar knopen via lokale coordinaatsystemen/referentievlakken/assen/etc. en layoutschetsen lijkt tot nu toe te werken voor 'apparaten in CAD tekenen'. Maar het zou zomaar kunnen dat als je het me over een jaar nog eens vraagt dat ik er een ander idee over heb.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: FreeCad leren
Zitten er ook bibliotheken met duizenden standaard onderdelen bij of moet je echt alles zelf tekenen ?
Re: FreeCad leren
Niet dat ik weet. Maargoed: grabcad, traceparts, mcmaster-carr, 3dcontentcentral, ....
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: FreeCad leren
Hallo,
Ik probeer uit te vogelen of er een handige manier is om alle belangrijke maten van een assembly -- inclusief maten van onderdelen -- vanuit een enkel spreadsheet aan te sturen. Voor de plaatsing van onderdelen heb ik het principe wel door, al zit ik nog wel op het steile stuk van de leercurve voor het 'hoe'.
Waar ik nog niet achter ben hoe ik bijvoorbeeld de lengte van een (gelinkt) onderdeel automatisch aan kan passen aan een verandering van de grootte. Ik vermoed dat in DaBit's voorbeeld de 'XZ-axis bearing plate thickness' zo werkt, maar snap dat niet helemaal.
Ik probeer uit te vogelen of er een handige manier is om alle belangrijke maten van een assembly -- inclusief maten van onderdelen -- vanuit een enkel spreadsheet aan te sturen. Voor de plaatsing van onderdelen heb ik het principe wel door, al zit ik nog wel op het steile stuk van de leercurve voor het 'hoe'.
Waar ik nog niet achter ben hoe ik bijvoorbeeld de lengte van een (gelinkt) onderdeel automatisch aan kan passen aan een verandering van de grootte. Ik vermoed dat in DaBit's voorbeeld de 'XZ-axis bearing plate thickness' zo werkt, maar snap dat niet helemaal.
DaBit schreef: ↑05 apr 2021 20:42
Wel een hele simpele, namelijk enkel een lijn. De locatie en lengte van de lijn word gestuurd vanuit een spreadsheet op het bovenste niveau van de hele samenstelling. De verticale assen zijn vervolgens geassembleerd aan de eindpunten van de lijn.
Zo geef ik straks alles een plekje. Dus een 2D-grondplan als basis, en daar knoop ik zaken als de verticale assen, de lagerblokken, de motoren, framedelen, etc. aan vast.
'Jamaar DaBit, da's toch bottom-up wat je nu doet?' Klopt; die X-as moet eerst naar volle tevredenheid werken voor ik beslis of ik ermee doorga. Dus die is eerst getekend.
Re: FreeCad leren
Je kunt zo'n beetje overal waar je een getal in moet vullen refereren aan een ander veld. Bijvoorbeeld in een schets geef je een dimensie de naam 'Lengte':
Dan kun je er in een andere dimensie aan refereren en ermee rekenen, bijvoorbeeld de hoogte de helft van de breedte:
Als ik nu van de breedte 60mm maak, dan word de hoogte automatisch 30mm.
Externe documenten en spreadsheets gaan op dezelfde manier:
De breedte komt van document 'Dabit3D2_toplevel', spreadsheet 'master_dimensions' en veld 'Z_bearingplate_width'.
Klinkt lastiger dan het is; FreeCAD's 'auto-complete' is meestal slim genoeg met snappen wat je wil en suggereert al snel het juiste item.
Dan kun je er in een andere dimensie aan refereren en ermee rekenen, bijvoorbeeld de hoogte de helft van de breedte:
Als ik nu van de breedte 60mm maak, dan word de hoogte automatisch 30mm.
Externe documenten en spreadsheets gaan op dezelfde manier:
De breedte komt van document 'Dabit3D2_toplevel', spreadsheet 'master_dimensions' en veld 'Z_bearingplate_width'.
Klinkt lastiger dan het is; FreeCAD's 'auto-complete' is meestal slim genoeg met snappen wat je wil en suggereert al snel het juiste item.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: FreeCad leren
Dabit,
Bedankt voor de snelle reactie. Ik was ondertussen zelf ook al een stukje verder gekomen, het stukje syntax wat ik miste is de # verbinding tussen de root file en het spreadsheet. Als ik de hoofdspreadsheet binnen mij assy-file stop werkt het.
Wat is het verschil tussen de syntax met en zonder <<>>?
Bedankt,
Harm
Bedankt voor de snelle reactie. Ik was ondertussen zelf ook al een stukje verder gekomen, het stukje syntax wat ik miste is de # verbinding tussen de root file en het spreadsheet. Als ik de hoofdspreadsheet binnen mij assy-file stop werkt het.
Wat is het verschil tussen de syntax met en zonder <<>>?
Bedankt,
Harm
Re: FreeCad leren
Ja er zijn standaardbibliotheken met onderdelen maar stel je er niet te veel van voor - en ik heb ze zelf nooit geinstalleerd daar mijn machines niet op 't netje zitten anders dan deze internet PC met linux die al compleet platgehackt is om die reden. Dus heb alles zelf getekend of pak met grabcad een stepfile.
De bouten en moertjes heb ik allemaal zelf getekend. Je ziet dan ook geen draad. Draadje in freecad is historisch ellende. Er zijn wat pythonscripts ooit voor gepend naar het schijnt maar toen ik die uitprobeerde werkte dat van geen meter hier. Dateert uit 0.13 of 0.12 tijdperk meen ik.
Naar verluid zijn er wat freecadbobo's die 't met een eigengeschreven pythonscript wel voor elkaar krijgen.
Ondanks dat ze moderator oid zijn - waarom dat dan weer niet geintegreerd ooit wordt in 't hoofdproduct is me ook weer zo'n raadsel. Het is open source software dus je moet je niet te veel overal van voorstellen. Wat Dabit hier laat zien is al amazing zogezegd.
Bekende bug in freecad is dat kleuren fout gaan. Je stelt ergens in een object iets een paar tiende mm bij en HOP alles is ineens grijs van alle objecten of bovenliggende documenten.
Dan delete weer iets maand later zodat je de onderliggende objecten hebt en ineens verschiet de kleur weer omdat het originele object een andere kleur had. Bij spiegelen van objecten dan is het gespiegelde object ook regelmatig kleurloos - dus grijs.
Allemaal known bugs die 'r 15 jaar ingezeten hebben, waarvan ik niet weet of 0.19 dat allemaal al gefixed heeft gekregen.
Dus 0.19 is echt enorme stap voorwaarts als ik 't zo zie (nog niet uitgeprobeerd).
Of het dan hetzelfde probleem gaat krijgen als de andere CAD software moeten we nog zien maar ik vrees er wel voor. Namelijk dat het niet ergonomisch ontworpen wordt en dat dingen niet logisch meer werken.
Een andere feature die ik in 3D wereld wel mooi zou vinden is bedrading. Bij TurboCAD/AutoCAD is het heel logisch dat je met 1 toets iets ergens aan kunt vastrijgen - dat lukt in FreeCAD niet op dezelfde manier. Erg lastig als je wat draadjes wilt tekenen en die kronkelen normaliter klein beetje en zitten niet in rechte strakke lijnen natuurlijk maar met mooie bogen door het 3D landschap heen. Nu is het bot rekenwerk om dat allemaal aansluitend te krijgen. Enorme moeite voor 1 pokkedraadje.
Re: FreeCad leren
Deze herringbone heb ik eerst gepoogd te ontwerpen in freecad met tooltjes die in de loop der jaren waren gemaakt om tandwielen in freecad te ontwerpen. Maar dat werkte allemaal van gene meter die tooltjes. Alleen 'straight gears' lukt als je die extrudeert.
(die straight gears ben ik ook niet zo kapot van want je hebt geen controle over hoe de tandjes eruit zien bij de straight gears)
Dus dit is weer iets wat ik ontworpen heb in OpenScad.
Er is daar wel een onderliggende sourcecode op 't netje voor herringbones en de rest is dan triviaal natuurlijk om uit te tekenen.
Re: FreeCad leren
Een gedeeltelijk antwoord op mijn eigen vraag:
Als ik het goed begrijp, hebben FreeCad objecten (of tenminste: files) zowel een naam als een label. Volgens https://wiki.freecadweb.org/Expressions ... o_CAD_data:
Het wordt verder uitgelegd in https://wiki.freecadweb.org/Spreadsheet_WorkbenchReferencing objects
You can reference an object by its DataName or by its DataLabel. In the case of a DataLabel, it must be enclosed in double << and >> symbols, such as <<Label>>.
You can reference any numerical property of an object. For example, to reference a Cylinder's height, you may use Cylinder.Height or <<Long_name_of_cylinder>>.Height.
To reference list objects, use <<object_label>>.list[list_index] or object_name.list[list_index]. If you want for example to reference a constraint in a sketch, use <<MySketch>>.Constraints[16]. If you are in the same sketch you may omit its name and just use Constraints[16].
Note: The index starts with 0, therefore constraint 17 has the index 16.
Het lijkt daarmee verstandiger om altijd met het 'label' te werken.Spreadsheet by Name Spreadsheet by Label
Cell by Position =Spreadsheet042.B5 =<<MySpreadsheet>>.B5
Cell by Alias =Spreadsheet042.MyAlias =<<MySpreadsheet>>.MyAlias
The recommended way to refer to spreadsheet data is to use the spreadsheet label and cell alias name. For a more in-depth explanation of the pros and cons of the addressing modes, see the expanded section below.
The recommended way to refer to spreadsheet data is to use the spreadsheet label and cell alias name. For a more in-depth explanation of the pros and cons of the addressing modes, see the expanded section below.
Using the spreadsheet label has the advantage that it can be freely changed to describe the contents of the spreadsheet. It is also easier to identify the spreadsheet that is being used since the text in the expression matches the label shown in the model and property views. If you decide to change the label of a spreadsheet, existing references to the contents of the spreadsheet will be updated, so you won't break your expressions by renaming the spreadsheet. The internal name of the spreadsheet is not readily available anywhere except within the expression editor, so if you use the internal name and later decide to rename the spreadsheets, you might have a hard time tracing your expression data back to its source.
Be aware that when you create a new spreadsheet, the name and the label are the same, so it is easy to accidentally use the spreadsheet name instead of the label. A simple way to avoid this is to give the spreadsheet a meaningful name before starting to use it in expressions.
While you may use the row and column number in an expression to reference a cell, best practice is to give the cell an alias name and use that. See Cell Properties above on how to set the alias. For example, if the data in cell B1 contained the length parameter for an object, an alias name of MyObject_Length would allow the value to be referred to as <<MyParams>>.MyObject_Length instead of Spreadsheet.B1. Besides being much easier to read and understand, alias names are also much easier to change if you decide to adjust the structure of your spreadsheet. Using an alias also has the advantage that it is reasier to see which cells are used to control other parts of the document. Note that FreeCAD will automatically adjust the positional references in expressions if you insert or remove rows and columns in the spreadsheet, so even if you use row and column numbers in an expression, you can insert rows and columns without breaking the references to the surrounding cells.
Re: FreeCad leren
Ja, ik lijk hier een gigantische expert op gebied van FreeCAD, maar in werkelijkheid heb ik maar enkele uren ervaring en doe ik hetzelfde als jij: even door de documentatie neuzen.
Dat vind ik zowiezo altijd verstandig. Of dacht je dat je een half jaar later nog weet wat Dimension014 of Cell.D07 nu ook al weer precies was?Het lijkt daarmee verstandiger om altijd met het 'label' te werken.
FreeCAD kan op de een of andere manier ook redelijk overweg met OpenSCAD als bron via de openscad workbench. Behalve een meshtool daarvan heb ik daar nog nooit wat mee gedaan.
Maar dat is dan wel weer het leuke van FreeCAD; van een (triangle)mesh een solid maken en er nog wat mee kunnen doen ook is bijvoorbeeld een van die dingen waar de betaalde software niet-thuis geeft.
Alles kost me in FreeCAD 3x zoveel tijd als in bijvoorbeeld Fusion360. Ergens hoop ik nog dat het gewoon enkele uren ervaring met FC vs toch wel een paar uurtjes meer ervaring met F360 is, maar ik heb er een hard hoofd in.
Maargoed, we kunnen wel mopperen, maar ondertussen is het er wel maar mooi, beschikbaar zonder enige kosten, en nog best bruikbaar ook. Als je het er echt niet mee eens bent dan heb je de mogelijkheid om de boel zelf naar je zin te maken. Dat doe ik met andere open-source software zoals Betaflight en LinuxCNC ook; als me iets niet zint verander ik het wel.
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: FreeCad leren
Ben zelf aan het kijken naar FreeCAD en al wat in getekend. Ik denk dat het nog heel wat ontwikkeling nodig heeft, maar dit ziet er veel belovend uit:
https://www.youtube.com/watch?v=I7vtYoOvCiY
https://www.youtube.com/watch?v=t0UUHAVWc90&t=11s
Dit zit dus nog niet in de standaard FreeCAD, hopelijk wordt dit geïmplementeerd. Net zoals Linkstage, een leuke MOD.
https://www.youtube.com/watch?v=I7vtYoOvCiY
https://www.youtube.com/watch?v=t0UUHAVWc90&t=11s
Dit zit dus nog niet in de standaard FreeCAD, hopelijk wordt dit geïmplementeerd. Net zoals Linkstage, een leuke MOD.
Re: FreeCad leren
Freecad is broken
https://youtu.be/QSsVFu929jo
Wel handig om te weten,
dan stap je niet in deze valkuil.
Re: FreeCad leren
Hier een mooi plaatje uit FC :
handig aanhalen (citeren, quoten) : https://cnczone.nl/viewtopic.php?f=37&t=12599