Showing posts with label Sketchup. Show all posts
Showing posts with label Sketchup. Show all posts

Tuesday, July 12, 2011

Zaczynamy

THIS POST IN ENGLISH


Jak było widać w poprzednim poście, algorytm do automatycznego rozwijania w Sketchupie działa.
Ale ponieważ programowanie nie jest główną ideą tego bloga, postanowiłem zacząć coś bardziej praktycznego.
Na pierwszy ogień poszedł Su-17M. Dlaczego akurat ten samolot? Hmmm...
Wydaje mi się, że zadecydowała o tym w miarę prosta bryła, kadłub , stateczniki...
Miejscem, które przysporzy na pewno problemów będą skrzydła.
Intensywnie myślę nad mechanizmem składania skrzydeł. Może uda się zsynchronizować obie strony.




Pierwszy etap projektowania , to zgromadzenie dokumentacji. Zestawienie widoków (góra-dół-przód-strona) i odpowiednie ich skalowanie w dowolnym programie, to kolejny krok.
Aby ułatwić sobie zadanie, usunąłem tło w każdym z rzutów i zapisałem poszczególne pliki jako PNG, co pozwoliło zachować przeźroczystość. Pozostało wstawić wszystko do Sketchupa.

Kolejnym krokiem było obrysowanie kształtu kadłuba w widokach z góry i z boku. Wybrałem taki sposób modelowania, ponieważ poszczególne przekroje kadłuba, dostępne w tym zestawie planów średnio pasowały do obrysów. Można co prawda wrysować poszczególne wręgi i potem skalować je tak aby pokrywały się z widokami. Ale postanowiłem, że podejście w drugą stronę w tym wypadku też jest możliwe, bo przekroje kadłuba są w przybliżeniu okrągłe - eliptyczne.
Sam obrys kadłuba wykonałem przy pomocy BZ CURVES - rozszerzenia Sketchupa które pozwala kreślić sp lajny i inne krzywe.
Wcześniej wrysowane obrysy wyciągnąłem  i wykonałem przecięcie (intersection). Następnie wykonałem kilka przecięć pionowymi płaszczyznami w miejscach w których zaplanowałem wręgi i otrzymałem szereg prostokątów.
na poszczególnych prostokątach elips. W tym celu posłużyłem się kolejnym rozszerzeniem do Sketchupa: TOOLS ON SURFACES.
Potem pozostawiłem jedynie wyrysowane elipsy.

Kadłub rozpiąłem na zdefiniowanych przekrojach przy użyciu narzędzia CURVILOFT.
Można również spróbować innego skryptu: SKIN.
Tutaj widać efekt wraz z już wykonanymi skrzydłami.
O skrzydłach w kolejnej odsłonie.

Let's begin

SEE THIS POST IN POLISH

As was seen in previous post, the script to automatically develop elements in Sketchup works.
But since the programming is not the main part of ​​this blog, I decided to start with something more practical.
So we go with the Su-17M. Why this plane? Hmmm ...
It seems to me that a simple fuselage and overall shape decided ...
The place, which surely will bring the problems will be wings.
I think intensively over the folding mechanism of the wings. Maybe I will able to synchronize both sides.




The first stage of design is documentation. Aligning views (up-down-front-page) and appropriate scaling of them is made in any graphics software.
To make modelling easier I removed the background in each of the view and saved it as PNG, which allowed to maintain transparency. Then I inserted everything into SketchUp.

The next step was to trace the shape of the fuselage in views from the top and side. I chose this way of modeling, since the individual sections of the fuselage, available in this set of plans do not fit well to top and side view of plane. So I decided to approach the fuselage modelling from another direction. Because the fuselage sections are approximately round - elliptical, I will draw hull first and then create it's cross-sections.
The outline of the fuselage is dwith BZ CURVES - Sketchup extension that allows you to draw spines and other curves.
I pulled both shapes and made intersection. Then I drew vertical planes in places where I planned bulkheads and after another intersection and removing not necesary geometry I received a series of rectangles.
In the individual rectangles I drew elipses. To do  this, I used to be another extension for SketchUp: TOOLS ON SURFACES.

Fuselage was constructed on defined sections using yet another Sketchup extension: CURVILOFT.
You can also try a different script: SKIN.
Here you can see the effect already made with the wings.










Construction of wings in the next post.

Tuesday, July 5, 2011

Good bye Excel , Welcome Ruby

SEE THIS POST IN POLISH
So... Here comes the time, when you have to lower your head and admit: I was wrong.

I was wrong, thinking that Excel or other calculation sheet will be the most universal way to unroll parts...

I was also wrong, thinking that learning another programming language is a bit too much...

I am wrong and probably will be wrong on several occasions, but the work continues , but this time only in Sketchup and in RUBY :


To Be Continued

Żegnaj Excelu , witaj Ruby

SEE THIS POST IN ENGLISH
No tak... nadhodzi taka chwila ,że trzeba pochylic głowę z pokorą i powiedzieć: Pomyliłem się.

Pomyliłem się, myśląc że Excel, albo inny arkusz kalkulacyjny będzie najbardziej uniwersalnym narzędziem do rozwijania...

Pomyliłem się , myśląc że kolejny język programowania którego trzeba się nauczyć, to przesada...

Prawdopodobnie mylę się i będę się mylił jeszcze w wielu sprawach, ale praca dalej idzie do przodu, tym razem jednak wyłącznie w Sketchupie i RUBY :

CDN.

Sunday, May 22, 2011

Wideo!!!Jak to działa

SEE THIS POST IN ENGLISH
Witam ponownie.
Od ostatniego wpisu minęło trochę czasu, ale jestem ponownie on-line.
Dzisiaj mały podgląd jak działa to, co do tej pory udało się napisać.
Bez dźwięku – nie podoba mi sie mój głos :D
Pierwsze wideo to tylko Sketchup.
Mamy dwie krzywe definiujące narysowane przy pomocy pluginu BezierCurves.
Obie krzywe maja taką samą dokładność (50 odcinków).
Trzecia krzywa, zamknięta to nasza definicja kamuflażu..
Pierwszym krokiem jest rozpięcie powierzchni na krzywych definiujących. Wykorzystamy do tego kolejny plugin - skin.
Ustawienia, jakich używam można zobaczyć na filmie.
Następnie wyciągamy naszą definicję kamuflażu aż przeniknie całkowicie wcześniej utworzoną powierzchnie.
Wykonujemy przecięcie elementów i usuwamy niepotrzebne już części. Na naszej powierzchni mamy zrzutowane linie kamuflażu.
Kolejnym krokiem jest wyeksportowanie punktów. Czynność tą wykonujemy 3 razy, dla 2 krzywych definiujących oraz dla punktów na powierzchni.



Drugie wideo to pierwsza część obliczeń w Excelu.
Importujemy punkty krzywych. W drugim arkuszu Excela mamy podgląd krzywych z ponumerowanymi punktami. Zasada, która została przyjęta do obliczeń mówi, że krzywa powinna przebiegać przeciwnie do ruchu wskazówek zegara. Nasze krzywe powinny zaczynać się w dolnej części, więc punkty nr 51 powinny być punktami nr 1 a punkty 50 punktami nr 2 . Na podglądzie widać również, że w górnej części krzywej nr 2 ( niebieskiej ) występuje małe zamieszanie przy punktach 1,2 i 3 ( kolejność punktów).
Wracamy do pierwszej zakładki i wpisujemy przy punktach 50 i 51 odpowiednio 1 i 2 ( Patrz pierwsza kolumna, nie numer wiersza!) Sortujemy punkty pierwszej krzywej i patrzymy na podgląd 3D. Sortujemy drugą krzywą i sprawdzamy czy krzywe mają odpowiedni układ.
Nasza powierzchnia jest już rozwinięta.
Przechodzimy teraz do trzeciego arkusza, aby rozwinąć również linie kamuflażu.
(Ignorujemy komunikat o błędzie – pojawia się, ponieważ nie ma dostępnych żadnych danych..)
Importujemy punkty I uruchamiamy makro, które rozwinie punkty na powierzchni.
Rozwinięcie 300 punktów na powierzchni zdefiniowanej przy pomocy 2x 50 odcinków zajęło niecałą minutę. Czas ten jest oczywiście zależny od ilości punktów i definicji krzywych.
Po zakończonych obliczeniach eksportujemy rozwinięte punkty do pliku CSV ( wartości rozdzielone przecinkami).


Co można zrobić z tym plikiem, pokażę w kolejnej odsłonie.

Video !!! How it works so far.

SEE THIS POST IN POLISH
Welcome again.
It has been a while, but I am back online.
So today a small preview of how it works so far.No voice over - My voice just sounds strange :D
First video is pure Sketchup.
We have 2 definition curves created with Bezier curves.
Note that precision of both curves is set to the same value (50 parts).
There is also another closed curve that will be used as a definition of camouflage.
First we create our surface with another ruby script - skin.
You can see what settings I used.
Then we pull our camouflage definition, and create intersection with our surface.
When cleared from all not necessary parts we can see camo lines on our surface.
Next part is to export points to a files, one for top curve, one for bottom curve and one for all camo points.



Second video is first part of excel calculations.
First we import points for definition curves. On a preview you can see that points are numbered and this will be used for sorting. Calculations are made in a way that curves should go anticlockwise. So our starting point is at bottom, and first point should be where nor point 51 is.Next point would be where now 50's are. Also You can see at the top that on curve 2 ( blue ), there is something wrong ( look at the points 2,1 and 3)
So we go back to curves input , and set points nr 51 on both curves as 1 and points 50 as 2 , after resorting points on first curve You can seethe effect ( best on 3d preview).
Resorting second curve gets us our developer surface.
We can import camouflage line points.
(Error message occurs because there is no points data available.)
We run a macro to develop points onto surface , and after some time we get all points developed.
Time it takes is dependent on number of points to develop and number of points on definition curves.
When all calculations are done we can export all points to CSV file to get it to Sketchup again.


Third part next time.

Tuesday, March 29, 2011

An advantage of using Sketchup

SEE THIS POST IN POLISH

Why Sketchup ?
The biggest advantage :  it's free .
You can also extend it's capabilities using multiple Ruby scripts .
From a point of view of a model designer, RHINO has 2 very interesting functions . One is developing of surfaces , and as a bonus Rhino can also develop a lines and curves that are on those surfaces . Second function is a possibility to project curves onto a surface .

How does it look in Sketchup  ?
 
Surface and an element to project
Here we have an surface with an element we want to project .




 



Pushed / pulled surface
We push / pull this element , and then make an intersection between those two .








Result of intersection
We erase pulled element and on our surface we get projected shape .








In sketchup all the curves are represented as a set of lines or a polyline . At first it can look as an disadvantage , but is it so ?
On a picture abowe all the points  (ends of lines) ar bolded . How can we use it ? We can calculate a distance between every point an 2 points of a triangle , and use our algorythm to find this point on a developed surface.
Points inside triangle











To be continued . . .

Monday, March 28, 2011

Zalety używania Sketchup'a

SEE THIS POST IN ENGLISH

Dlaczego Sketchup ?
Zdecydowanie największą zaletą jest to , że to darmowy program.
Posiada również wiele różnorodnych rozszerzeń , w postaci skryptów RUBY .
Kilka z nich omówie później , gdy przyjdzie czas na omawianie zagadnień związanych z modelowaniem .

Program RHINO posiada z punktu widzenia modelarza 2 bardzo ciekawe funkcje . Jedna z nich to wspomniane rozwijanie powierzchni wraz z możliwością rozwinięcia krzywych które znajdują się na tej powierzchni . Druga to możliwość rzutowania krzywych na powierzchnie .
Jest to bardzo wygodne ponieważ zazwyczaj pracuje się na ortogonalnych rzutach które stanowią referencje projektu .

Jak wygląda to w Sketchupie ?
 
Powierzchnia i element do zrzutowania
Mamy nasza powierzchnie i element np kamuflarzu który będzimy chcieli umieścić na powierzchni.






 
Tymczasowa bryła

Wyciągamy nasz element, tworząc nową bryłę , zaznaczamy oba obiekty i wykonujemy ich przecięcie .







Rezultat przecięcia
Naszą tymczasową bryłę możemy usunąć i otrzymujemy jej rzut na naszej powierzchni .








Sketchup interpretuje krzywe jako zbiór odcinków ( lub polilinie ), co teoretycznie może wydawać się wadą . Jednak daje to nam nowe możliwości. Na powyższym rysunku wszystkie punkty za zaznaczone pogrubieniem . Co z tego wynika ? Że jeżeli mamy dowolny punkt który znajdyje się wewnątrz trójkąta, to możemy wyznaczyć jego odległości do 2 wierzchołków, a następnie zastosować wcześniej omówiony algorytm i wyznaczyć położenie punktu na rozwinięciu .

Wyznaczanie punktów wewnątrz trójkąta








C.D.N.