Closed kaklik closed 6 years ago
V tom případě tam je asi problém protože.. První obrázek je při X = 0
A tento druhý obrázek je při X = 1
A když zkusíš nějaké jiné, než tyhle extrémní hodnoty? Třeba 0.01 a 0.99 ? Je pravda, že jsem netestoval co se stane, když se tam dosadí meze. Je nahraný ten aktuální soubor, na kterém to testuješ, abych si to zkusil?
Je nahrane vse.
Myslím, že to funguje korektně i s mezními hodnotami
Chyba je v tom, že to nejdřív musíš správně otočit a pak teprve posunout. Jinak se ti union otáčí okolo počátku souřadnic.
Opraveno.
Zřejmě to sem ještě není nahrané.
Navíc je potřeba hlavně pomocí těchto funkcí umístit otvory pro šrouby v podložce. Protože tam to konečně zajistí aby všechny šrouby byly kolmo na stěnu a matky stejně hluboko pod krytem.
Neco jsem nahravala, ale toto to asi jeste nebylo. Jen jsem ti chtela napsat, ze se mi to podarilo opravit. Jeste jsem tam chtela neco dodelat, tak to nahraju pak dnes v noci :)
Tak jsem to nahrála. Otvory pro šrouby jsem vytvořila funkcí "surface_angle". Ale otvory byly těsně pod povrchem, tak aby mohly být trochu níž, tak jsem rozšířila na výšku otvor pro hlavičku šroubu.
Jen je tam ještě detail, který je potřeba dodělat a to, že je třeba trochu pootočit otvor na matku, aby na špičky matky pěkně dosedal ten kvádřík, o který je otvor rozšířen na výšku.
Dobrá, ale pořád je to jenom kryt. V podložce 1027 žádné změny nejsou.
Ale to řešení spoje mezi díly C a D mi přijde hodně originální. :)
Změnila jsem pozice šroubů podle proměnné surface_angle. Pro každý typ šroubového spojení je zaveden globální parametr. Akorát jsem si všimla, že nefunguje u spodního krytu šrouby pro připevnění k podložce v části E. Hledala jsem příčinu a zjistila jsem, že u "bottom_screw_position" je smazaná pozice 5, která byla určena pro pozici šroubů v části E. Tys ji mazal?
Ano smazal, těch šroubů tam bylo zbytečně moc a potřeboval jsem uvést podložku do tisknutelného stavu. Ten šroub překážel dělení podložky. Myslím že jsem to ale opravoval i v krytu.
V krytu jsi to právě nechal. Proto mě to zmátlo.
Tak jsem to tam nechal omylem. Promiň.
Změna šroubů v podložce i v krytech podle "surface_angle" a "surface_distance".
Muselo ti dát hroznou práci tam všude napočítat ty přesné parametry jako třeba: hull_drop_length * 0.0927866
Myslel jsem, že to použiješ tak, že místo toho čísla tam přímo vložíš tu funkci. Takže třeba tohle:
translate([hull_drop_length * (bottom_screw_position[4]/hull_drop_length), main_tube_outer_diameter/4, - hull_drop_length * 0.0927866])
rotate([0, -17.0902,0])
Upravíš nějak takhle:
translate([hull_drop_length * (bottom_screw_position[4]/hull_drop_length), main_tube_outer_diameter/4, - hull_drop_length * surface_distance(x = bottom_screw_position[4]/hull_drop_length , naca=hull_airfoil_thickness, open = false)])
rotate([0, surface_angle(x = bottom_screw_position[4]/hull_drop_length, naca=hull_airfoil_thickness, open = false),0])
Může to tak být proto, protože funkce se chovají stejně, jako proměnná. Proměnné navíc jdou přepisovat. Takže jiná možnost je mít u každého šroubu spočítané hodnoty v proměnných třeba screw_angle a screw_distance. U dalšího šroubu se tyhle proměnné zas přepíší na aktuální hodnotu funkcemi a tak dále. Ten model se počítačem čte postupně. Takže jeden název proměnné lze použít víckrát.
Já tam ten kód takhle vypsala, ale nefunguje to správně a já opět nevím, kde je chyba... :(
Dala jsem to na net.
Připadá mi, že jsem to opravil.
Hlavní chyba byla v tom, že jsi tam měla použitou proměnnou "hull_wall_thickness" místo "hull_airfoil_thickness". Vytvořím na tu opravu zas pull-request.
Snažila jsem se to opravit, ale ty spojovací šrouby se mi nějak pokazily.. Zítra to opravím a nahraju novou verzi.
Opraveno a nahráno.
Ano, teď to vypadá, že u horního krytu to už funguje správně. Díval jsem se na model podložky a spodního krytu a připadá mi, že tam je to umístění šroubů zatím řešené tak, že se míchá starý a nový způsob. Je nějaký důvod, proč nový způsob s použitím funkcí nejde někde použít?
Tam, kde nebyl žádný úhel, jsem nechala ten starý kód pro posunutí, protože mi přišlo zbytečné to opravovat, když je tam rovná hrana. Ale už jsem tam to opravila a do posunutí dala ten nový způsob.
ta nová funkce surface_angle je použitá špatně minimálně u modelu 666_1025. Neboť funkce obsahuje parametr x, kterým se zadává v jakém místě po délce profilu má být spočítaný úhel. Rozsah tohoto parametru je 0 až 1. Kde 0 je náběžná hrana profilu a 1 je odtoková hrana profilu. V modelu 666_1025 ale tento parametr zůstal nastavený na konstantní hodnotu 0,6 z mého příkladu. Správný postup je, že tento parametr se bude měnit podle požadované pozice šroubu.