` ``! -------------------------------------------------------` `! 2024-04-19` `! Case na telefon + wtyczka USB-C` `!--------------------------------------------------------` `! W pierwszej kolejności generujemy case - to było na poprzednich zajęciach` `finish !konczy poprzednia analize` `/clear !czysci zmienne` `/title,` `/prep7 !uruchamia preprocesor - podstawowe srodowisko modelowania` `ABBRES,NEW,'toolbar',' ',' '` `rectng,-65,65,-27.5,27.5!,0,8 !prostopadloscian - glowna objetosc` `! adele,1,1,1` `adele,all !likwiduje tylko powierzchnie` `lplot` `lfillt,1,2,8 !zaokraglanie ostrych krawedzi` `lfillt,2,3,8` `lfillt,3,4,8` `lfillt,4,1,8` `al,all !tworzy powierzchnie z wszystkich linii` `! vext,1,1,1,0,0,8` `! vext,1,1,1,,,8` `vext,all,,,,,8` `nummrg,kp !skleja punkty zajmujące te same współrzędne` `numcmp,all !kompresuje numerację obiektów` `rectng,-63,63,-25.5,25.5!,0,8 !prostopadloscian - glowna objetosc` `! adele,1,1,1` `adele,11 !likwiduje tylko powierzchnie` `lplot` `/PNUM,LINE,1 !wyświetla numery linii` `/replot` `lfillt,25,26,8 !zaokraglanie ostrych krawedzi` `lfillt,26,27,8` `lfillt,27,28,8` `lfillt,28,25,8` `! xSEL - k,l,a,v,e,n` `! s-r-a-u (select-reselect-unselect-alsoSelect)` `lsel,s,,,25,32,1 !wyniera linie w zakresu od 25 do 32 co 1` `al,all !tworzy powierzchnię z zestawu linii` `vext,11,11,1,,,6` `vsbv,1,2 !od objętości numer 1 odejmuje objętość nr 2` `! vsel,s,,,1,1,1` `! alls,below,volu` `! lsel,inve` `! al,all` `numcmp,all` `! wpcsys,-1,0 !zerowanie pozycji working plane` `! wpoff,63-4-12,27.5-4-12` `! csys,4 !aktywacja working plane` `! cylind,4,,-100,100` `! wpoff,-10` `! cylind,4,,-100,100` `! wpoff,-10` `! cylind,4,,-100,100` `! vsbv,1,all` `wpcsys,-1,0` `wpoff,63-4-12,27.5-4-12` `csys,4 !aktywacja working plane` `cylind,4,,-100,100` `vgen,3,2,2,1,-10` `vsel,u,,,1` `vgen,2,all,,,,-10` `allsel` `vsbv,1,all` `! ------------------------------------------------` `! wtyczka USB-C` `! ------------------------------------------------` `szer1 = 7 !szerokość pinu` `wyso1 = 2 !wysokość pinu` `rad1 = 0.7 !promień zaokrąglenia pinu` `dlug1 = 7 !długość pinu` `szer2 = szer1 + 1 !szerokość wtyczki` `wyso2 = wyso1 + 1 !wysokość wtyczki` `dlug2 = 10` `rad2 = 1` `skal = 0.8` `rad3 = 1 !promien kabelka` `vsel,none !odselekcjonowujemy wszystkie objętości - czyli nasz case` `allsel,below,volu !wybieramy wszystko co związane z objętością - czyli nic` `wpcsys,-1,0` `! KWPAVE - ustawia układ lokalny w miejscu będącym środkiem ciężkości zespołu punktów` `kwpave,10,11,19,20 !ustawia workplane na srodku dolnej scianki case - tam gdzie będzie otwór na gniazdo USB` `wprota,0,0,-90` `wprota,90` `rectng,-szer1/2,szer1/2,-wyso1/2,wyso1/2` `lfillt,49,50,rad1` `lfillt,50,51,rad1` `lfillt,51,52,rad1` `lfillt,52,49,rad1` `lplo` `! Ponieważ zaokrąglenia wcześniej robiłem przy obecności powierzchni, to linie zaokrągleń powstają, ale nie modyfikują powierzchni i zostają którkie linie w narożach` `adele,1,1,1` `! Odselekcjonowuje krótkie linie w narożach, żeby zostawić jedynie linie zaokrągleń i proste boki` `lsel,u,,,54,55,1` `lsel,u,,,57,58,1` `lsel,u,,,60,61,1` `lsel,u,,,63,64,1` `cm,pierwsza,line !tworzę komponent z linii tworzących zewnętrzny obrys wtyczki, nazywam go "pierwsza"` `lsel,none !odselekcjonowuje wszystkie linie` `! tworzę prostokąt - bazę wewnętrznego obrysu wtyczki` `rectng,-szer1/2*skal,szer1/2*skal,-wyso1/2*skal,wyso1/2*skal` `adel,all !od razu usuwam stworzoną powierzchnię` `lplo` `! Teraz tworząc zaokrąglenia linie narożne kasują się na rzecz linii zaokrągleń` `lfillt,65,66,rad1` `lfillt,66,67,rad1` `lfillt,67,68,rad1` `lfillt,68,65,rad1` `cm,druga,line !tworzę komponent z tych linii` `! Selekcjonuję oba komponenty liniowe i tworzę na ich bazie powierzchnię` `cmsel,s,pierwsza` `cmsel,a,druga` `al,all` `! Powstałą powierzchnię wyciągam i tworzę metalową część wtyczki, potem odselekcjonowuję wszystko` `vext,all,,,,,dlug1` `vsel,none` `alls,below,volu` `wpoffs,0,0,dlug1 !przesuwam układ WP na koniec wtyczki` `rectng,-szer2/2,szer2/2,-wyso2/2,wyso2/2,0,dlug2 !generuję zarys dalszej części wtyczki` `adel,all` `! Zaokrąglanie rogów wtyczki` `lfillt,105,106,rad2` `lfillt,106,107,rad2` `lfillt,107,108,rad2` `lfillt,108,105,rad2` `al,all` `vext,all,,,0,0,dlug2` `wpoffs,0,0,dlug2 !przesuwam układ WP na koniec wtyczki` `pcirc,rad3 !rysuję kółko o promieniu rad3 - z tego powstanie przewód` `! Tworzę zestaw punktów, które posłużą za bazę do linii wzdłuż której wyciągniemy kółko` `k,10000,0,0,0` `k,10001,1,2,10` `k,10002,2,-2,20` `k,10003,-1,4,40` `bspl,10000,10001,10002,10003 !tworzę linię typu spline przez narysowane punkty` `vdrag,60,,,,,,169 !wyciągam kółko wzdłuż utworzonej linii` `vsel,s,,,1,2,1` `csys,4` `vgen,2,1,2,1,,,-7,,1` `vsel,s,,,1,2,1` `vsel,a,,,3` `vdel,all,,,1` `allsel` `vsbv,8,4,,,KEEP` `vdel,1,1,1,1` `/com,materialy` `mp,ex,1,105000` `mp,nuxy,1,0.3` `mp,ex,2,210000` `mp,nuxy,2,0.3` `et,1,187` `! esize,1` `allsel` `nummrg,kp` `numcmp,all` `vadd,2,3` `numcmp,all` `vglu,1,2` `numcmp,all` `mat,1` `vmesh,1` `mat,2` `vmesh,2` `/com,warunki brzegowe` `csys,0` `asel,s,loc,z,8` `nsla,s,1` `nsel,r,loc,x,0,1e3` `d,all,all,0` `allsel` `asel,s,,,52,54,1` `nsla,s,1` `*get,ilwe,node,0,count` `f,all,fz,50/ilwe` `allsel` `/solu !urucamiam solver` `solve !uruchamiam analizę - domyślnie, tp analiza statyczna` `save,gotowycase,db !zapisuję model jako plik gotowycase.db`