Strona korzysta z plików cookies m.in. na potrzeby statystyk.
Więcej >>>
stronę najlepiej oglądać z wykorzystaniem przeglądarki Chrome w rozdzielczości min. 1024 x
768 (zalecane 1280 x 1024)
Blog i czasopismo
o tematyce CAD, CAM, CAE,
systemach wspomagających projektowanie...
Nieoceniony
(bo chyba doceniony) Ralph Grabowski w jednym ze swoich
ostatnich upFront.ezine odniósł się do artykułu na temat
słabych stron Onshape (autorstwa Tara Roopinder), a także
poruszył temat wprowadzonej nowej funkcjonalności – możliwości
pisania własnych skryptów, własnych narzędzi. To istotnie
nowość, jeśli nie przełom – mówimy przecież o oprogramowaniu,
które pracuje tylko „on-line”, w całości w oknie
przeglądarki...
Maciej
Stanisławski
Zacznijmy od „słabych stron”, a
potem przyjrzymy się tej „mocniejszej” nowości. Podobnie jak
Tara Roopinder, ja również zawsze „punktowałem” stabilność i
szybkość łącza internetowego jako najsłabszy element systemu,
który de facto pracuje tylko w sieci – i dotyczy to wszystkich
takich rozwiązań, a nie tylko Onshape. W sytuacji, gdy
infrastruktura którą dysponujemy nie jest w stanie
zagwarantować nam bezproblemowej przepustowości danych, nie
możemy liczyć na to, że używany w oknie przeglądarki system
CAD będzie pracował wydajnie i stabilnie. Owszem, nasze dane
pozostają bezpieczne i nie grozi nam ich utrata, ale praca
może okazać się uciążliwa.
Co prawda Darren Henry (dyrektor
marketingu Onshape) zastrzegł, iż Onshape istotnie „może nie
być najlepszym wyborem dla wszystkich regionów”, ale
jednocześnie podkreślił, że daleki jest od uznania za piętę
achillesową wpływu jakości połączeń internetowych na komfoft
pracy z Onshape. Informacje zwrotne ze strony użytkowników
wskazują bowiem na to, że nie napotykają na większe trudności,
niż ma to miejsce w przypadku firm, które wykorzystują co
prawda systemy CAD stacjonarne (instalowane lokalnie na
komputerach), ale za to zarządzają licencjami przez sieć,
współdzielą dane i informacje drogą internetową – innymi słowy
także w znacznym stopniu uzależnione są od jakości łączy i
szybkości przesyłu sygnału.
Onshape bez
wątpienia jest jednym z najdroższych startupów w historii
systemów CAD. Czy istotnie będzie w stanie wspierać rozwój
branży i nowej generacji użytkowników-inżnierów, którzy gotowi
będą realizować swoje projekty tylko on-line?
Tara Roopinder zadaje jednak –
nie całkiem wprost – pytanie, czy od systemu CAD, na którego
powstanie i rozwój wydano wręcz zawrotną kwotę ok. 169 mln USD,
nie należałoby wymagać czegoś więcej (tylko w kwietniu br.
dofinansowanie dla projektu wyniosło... 100 mln USD, co wg
Schnitger Corp,
http://schnitgercorp.com/ firmy zajmującej się
profesjonalnym analizowaniem rynku CAD, czyni Onshape
najdroższym „startupem” w historii branży)? On sam, jak
przyznaje, najchętniej pracuje z aplikacjami, które
wykorzystują cloud-computing, ale które pozwalają jednak na
pracę lokalnie, poza siecią. Słowem: off-line. Cóż, nie
ukrywam, że ja także.
Bolid
F1 projektowany w Onshape? Z pewnością PERRINN będzie pierwszym w
historii F1 pojazdem
zaprojektowanym od początku do końca w
chmurze! A może nie tylko w historii F1?
Onshape nie ma problemu z
pozyskaniem inwestorów gotowych, jak dosadnie określa Tara,
głęboko sięgnąć do swoich portfeli. Za projektem stoi w końcu
m.in. osoba odpowiedzialna za „ostatnią rewolucję w branży CAD”
– Jon Hirschtick, założyciel SolidWorks, którego wizja
realizowana jest w zasadzie przez wszystkie współczesne
rozwiązania CAD 3D. Nie zmienia to jednak faktu, iż Onshape
nie jest stowarzyszeniem, ani organizacją charytatywną, tylko
prywatnym przedsiębiorstwem nastawionym w końcu na zysk. A
tymczasem największe zyski branży CAD jak do tej pory
przynosiła nie obsługa techniczna, tylko sprzedaż stanowisk
(obecnie trend ten ulega odwróceniu) – po prostu z każdą
sprzedaną wieczystą licencją, na konto firmy wpływała
konkretna suma liczona nierzadko w tysiącach dolarów. A
obecnie? W modelu subskrypcyjnym od każdej profesjonalnej
licencji kwota ta wynosi ok. 100 USD miesięcznie, a przecież
wielu użytkowników (wliczając piszącego te słowa) korzysta z
możliwości pracy nieodpłatnie (realizacja do 10. projektów
jednocześnie). Z drugiej jednak strony, nie znam liczby
zarejestrowanych obecnie użytkowników Onshape (podczas beta
testów wynosiła ona kilkanaście tysięcy, obecnie szefowie
Onshape mówią o kilkudziesięciu tysiącach osób). Ile spośród
nich zdecydowało się (lub zdecyduje) na rozszerzenie licencji
do wersji profesjonalnej? I czy to wystarczy, by zapewnić
przedsięwzięciu stabilność i możliwości rozwoju, bez uciekania
się do zastrzyków finansowych z zewnątrz? A jeśli nie... to
gdzie szukać przyczyny, dla której tak się dzieje – i czy
problem nie tkwi właśnie w modelu cloud-based-computing?
Odpowiedź na to pytanie poznamy
zapewne w ciągu kilku-kilkunastu miesięcy. Czas teraz
przyjrzeć się wspomnianej przez Ralpha „mocnej nowości”,
kolejnemu atutowi po stronie Onshape. A jest nim...
FeatureScript Wszystkie systemy MCAD
posiadają wbudowane funkcje, które pozwalają na tworzenie
operacji geometrycznych, takich jak wyciągnięcia brył,
fazowania, szkice, etc. Ale kod, który odpowiada za ich
realizację w praktyce, nie jest tak zwyczajnie dostępny dla
zwykłego, końcowego użytkownika. Nikt nie zakładał, iż będzie
można go samemu modyfikować, dostosowywać pod kątem swoich
potrzeb etc. Kiedy użytkownik chce, aby dana funkcjonalność
realizowała swoje zadanie w inny sposób, albo kiedy chciałby
dodać jakieś nowe, potrzebne narzędzie (operację etc.),
najczęściej zmuszony jest do użycia API (ang. Application
Programming Interface). Z drugiej strony API nie jest dostępne
w każdym systemie i nie powstało z myślą o tym, by powszechnie
korzystali z nich projektanci, czy wręcz kreślarze na co dzień
pracujący z systemami CAD. Z założenia praca z CAD ma być
prosta, a nie polegać na dodatkowym układaniu skryptów, czy
podprogramów – bo to już raczej dziedzina ocierająca się o
informatykę.
Tymczasem FeatureScript pozwala użytkownikowi na intuicyjne
pisanie własnych, krótkich kodów generujących niestandardowe,
parametryczne cechy geometryczne. Co więcej, kodami tymi można
wymieniać/dzielić się z innymi użytkownikami Onshape. Jest to
znakomite ułatwienie, pozwalające np. na zdefiniowanie w ten
sposób gotowych elementów (typu koła zębate, wałki etc.). Gdy
są to powtarzające się elementy naszych projektów, trudno
przecenić takie ułatwienie, szczególnie w przypadku bardzo
specyficznych funkcjonalności (czy form geometrycznych),
których nie znajdziemy w „standardowym wyposażeniu” systemów
CAD.
„Cody Armstrong z
zespołu Onshape zademonstrował mi w zeszłym tygodniu
funkcjonalność, która może okazać się najmocniejszym atutem,
kluczowym argumentem przemawiającym na korzyść wykorzystania
Onshape w praktyce: to FeatureScript. Co więcej, jest to ten
sam język programowania, który został użyty do napisania
samego Onshape...”
Ralph
Grabowski, upFront.ezine, nr 905, 13.06.2016
Proszę nie odnieść jednak mylnego
wrażenia, że Onshape udostępnił jedynie coś na kształt języka
AutoLISP, pozwalającego na modyfikowanie, czy wręcz
samodzielne kreowanie geometrii modelowanych w CAD kształtów.
Twórcy Onshape posunęli się o krok dalej – FeatureScript jest
bowiem niczym innym, jak językiem, który posłużył do napisania
Onshape, a firma obecnie udostępnia go niemalże na zasadach
Open Source (vide fot).
Onshape
napisany został w FeatureScript. Firma udostępniła cały kod na
zasadzie Open Source...
FeatureScript został wdrożony w
latach 2012-2013, czyli właściwie w początkach Onshape (wtedy
jeszcze firma nazywała się Belmont Technology Inc., o czym
pisałem m.in.
tutaj) i
miał ogromny wpływ na rozwój i ogólny kształt nowego systemu
CAD 3D. Wszystkie operacje geometryczne, wszystkie funkcje
dostępne w Onshape powstały właśnie w oparciu o FeatureScript.
I – jak z tego wynika – to działa :). Język programowania
zawiera tzw. IDE (ang. integrated development enviroment), co
można przetłumaczyć jako zintegrowane środowisko
programistyczne, o nazwie Feature Studio (video poniżej).
Użytkownik
Onshape może tworzyć własne fragmenty kodu, własne
funkcje/operacje w Create Feature Studio,
albo korzystać z gotowych przykładowych FeatureScript, np. do
projektowania wałków, kół zębatych etc.
Kiedy oglądamy model w środowisku
Onshape, widzimy także jego drzewo operacji, uwzględniające
wszystkie cechy (jak wyciągnięcia, fazowania, profile etc.).
Każda z cech związana jest z kodem FeatureScript – wystarczy
kliknąć „Refresh” (Odśwież), a Onshape odbudowuje model na
podstawie kodu FeatureScript dołączonego do dokumentu. Co
więcej, można go poddać edycji, zmieniając w ten sposób wygląd
modelu. Istnieje oczywiście ryzyko, że możemy w ten sposób
uszkodzić nasz model (tutaj Ralph Grabowski wskazuje na bardzo
bliską analogię do pracy z kodem HTML odpowiedzialnym za
wygląd i działanie witryn, np. CADblog.pl), ale Onshape ma
wbudowany mechanizm pozwalający na cofanie błędnych operacji (Undo)
w zasadzie w nieskończoność, także możemy w najgorszym wypadku
w ten sposób wrócić do sytuacji wyjściowej.
Można modyfikować kod napisany przez kogoś innego (zasady Open
Source). Zainteresowana firma może też stworzyć swoją prywatną
stronę z kodem stworzonym wewnętrznie, a zarejestrowani
użytkownicy, którzy nie czują się dobrze w roli „niemalże
informatyków”, mogą zwrócić się o napisanie kodu do osób
trzecich. Albo użyć bez żadnych zmian kodu napisanego przez
innych, pod warunkiem, że owi „inni” zdecydowali się na jego
upublicznienie. A wszystko dzieje się... w chmurze!
Liczba
dostępnych gotowych kodów, ułatwiających tworzenie własnego
projektu, zwiększa się w zasadzie każdego dnia :)
Onshape poważnie myśli o
stworzeniu czegoś na kształt „Rynku FeatureScript” (na
zasadach zbliżonych do już działających AppStore), na którym
programiści (lub zwykli użytkownicy Onshape) będą mogli nie
tylko dzielić się, ale wręcz sprzedawać nowe niestandardowe
funkcje/operacje napisane w FeatureScript. Natomiast wiele
skryptów jest dostępnych już w tej chwili, nieodpłatnie, pod
adresem:
https://www.onshape.com/featurescript. Zachęcam do
odwiedzin i wypróbowania rozwiązań Onshape we własnym
zakresie.
(ms)
P.S. Artykuł przygotowany na
zlecenie dwumiesięcznika „STAL. Metale i nowe technologie”
wyd. ELAMED.
Jak
wspomniałem, kod FeatureScript można znaleźć wewnątrz
dokumentów tworzonych i edytowanych w Onshape, a mechanizm
współdzielenia i wymiany danych pozwala na użycie kodów
pochodzących z jednego dokumentu – w innym projekcie. Oto, jak
może to wyglądać na prostym przykładzie.
1. Zaczynamy od
kliknięcia przycisku Create Tab, który umieszczony jest na
dolnym pasku narzędzi Onshape (lewy dolny róg) i następnie ze
wstążkowego menu wybieramy Create Feature Studio – przejdziemy
do okna Feature Studio.
2. Na górnym pasku klikamy polecenie „New Feature”, otwarty
zostanie „szkielet” naszego kodu.
3. W pierwszym kroku zdefiniujemy interfejs użytkownika naszej
nowo tworzonej funkcji/operacji (jej określenie, wybór
możliwych wartości, parametrów – np. średnicy etc.).
4. W kolejnym definiujemy sposób działania funkcji, rodzaj
wybranej operacji, zmienne, które będą uwzględniane; można
wybrać wartości domyślne, można wprowadzić własne już
założone.
5. W obu przypadkach dokonujemy tego, podświetlając kursorem
myszy dany fragment kodu wymagający uzupełnienia i wskazując
odpowiednie opcje z paska narzędzi.
6. Edycję kończymy wciśnięciem klawisza Commit.
Teraz wystarczy
przejść do środowiska modelu (Part Studio) i kliknąć przycisk
„Add Custom Feature”, aby dodać funkcję do naszego projektu.