Corel FORUM Strona Główna Corel FORUM
Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload

Poprzedni temat «» Następny temat
Przesunięty przez: JarekDRAW
13 Lipiec 2009, 16:31
grupowa zmiana parametów wymiaru obiektów
Autor Wiadomość
elmo 
Początkujący
elmo


Dołączył: 20 Cze 2009
Posty: 5
Skąd: Skierniewice
Wysłany: 20 Czerwiec 2009, 12:11   grupowa zmiana parametów wymiaru obiektów

dzień dobry

to mój pierwszy post na forum - więc nie bijcie za bardzo...

mam pytanie: czy istnieje możliwość zmiany wymiarów identycznych obiektów (np. elips - o takich samych parametrach) ale w taki sposób aby nie zmieniły po tej transformacji swoich położeń???

z góry dziękuję za pomoc
elmo
 
 
tlomiej 
Bywalec


Dołączył: 08 Sty 2009
Posty: 43
Skąd: le
Wysłany: 20 Czerwiec 2009, 21:30   

jesli cie dobrze zrozumiałem to wystarczy wpisac nowe wymiary w "górnym pasku"
 
 
elmo 
Początkujący
elmo


Dołączył: 20 Cze 2009
Posty: 5
Skąd: Skierniewice
Wysłany: 22 Czerwiec 2009, 06:54   

niestety nie do końca...
chodzi o to że po zaznaczeniu grupy obiektów wpisanie nowych parametrów wymiaru będzie się odnosić do całości zaznaczenia a nie poszczególnych obiektów (co powoduje że zmienia się położenie konkretnych obiektów)...
mi zaś chodzi o zaś o to aby np. w grupie 20 elips zmienić ich wymiary ale bez zmiany ich położenia - oczywiście można to zrobić z każdą oddzielnie ale jest to strasznie pracochłonne...

zatem czy jest jakiś sposób przyśpieszenia tej pracy???
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 22 Czerwiec 2009, 17:02   

Moze tak:
1. wyszukac w dokumencie te owale o konkretnych parametrach (Edycja- znajdz i zamien - znajdz obiekty i tu wybrac wlasciwe i nast. znajdz wszystkie)
2. zaznaczone obiekty wyciac skrot (ctrl x)
3. Otworzyc nowy dokument i ctrl v (wkleic te owale) - rozgrupowac jesli sa zgrupowane
4. Uzyc tego macro z visual basic - narzedzia Visual Basic - uruchom
macro do uzycia:

Sub Scaleforumcorel()
Dim s As Shape
ActiveDocument.ReferencePoint = cdrCenter
For Each s In ActiveDocument.ActivePage.Shapes
s.Stretch 0.7
Next s
End Sub

parametry skalowania mozna oczywiscie zmienic - te cyfe.

przykladowa skala:

pomniejszanie
0.5 - skala 50%
0.55 - skala 55%
0.7 - skala 70%

powiekszanie
1.5 - skala 150 %
itd

To macro powinno nam przeskalowac hurtem wszystkie obiekty w dokumencie.

5. Zaznaczamy wszystko, kopiujemy i wklejamy do tego pierwszego domumentu.

Jesli tych elementow jest mniej to wystarczy (zamiast tego macro) w nowym dokumencie zmniejszyc jeden owal i nastepnie nacisnac tab (skok do nastepnego obiektu) i kombinacje klawiszy ctrl R (powtorz) i tak powtarzac kilka razy.
pozdr.
 
 
elmo 
Początkujący
elmo


Dołączył: 20 Cze 2009
Posty: 5
Skąd: Skierniewice
Wysłany: 23 Czerwiec 2009, 07:23   

dzięki Wawel :)

drugi sposób działa
przy czym, w moim przypadku nie muszę kopiować do nowego dokumentu ponieważ rysuję głównie z zastosowaniem wielu warstw tak więc mogę wykonać tę procedurę w obrębie danego rysunku

pytanie co do pierwszego sposobu - wykonuję ten rysunek w Corelu "9" (może ma to jakiś wpływ) ale po skopiowaniu grupy obiektów do nowego rysunku i... no właśnie nie mogę użyć "narzędzia - visual basic" - ponieważ nie jest on aktywny (podświetlony) zatem skąd należy pobrać owe macro lub w jaki sposób stworzyć je?

dzięki i pozdrawiam
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 23 Czerwiec 2009, 08:18   

Co do rozwiazania nr 1
Makro nie jest aktywne bo go trzeba zrobic lub zmodyfikowac jakies inne gotowe dostepne w corelu. To makro przygotowalem pod ten problem wiec na liscie makr byc go nie moze.
Wrzucilem w wersji tekstowej tak zeby bylo widac o co tam chodzi i aby mozna bylo zobaczyc gdzie modyfikowac parametr dot. skalowania.

Nie wiem jak w wersji 9 sie to sprawdzi to rozwiazanie ale na 12 to dziala wiec mozna np tak.
sposob 1.
1. Narzedzia -> visual basic -> uruchom i w tym okienku ktore sie pojawi wybrac jakies dostepne z listy rozwijanej na dole macros in. Jesli nie ma tam makr mozna sciagnac dowolne darmowe np. CropMarks.gms np z tej strony www.oberonplace.com/vba/drawmacros/index.htm tam tez jest instrukcja gdzie to zainstalowac.
2. Po wybraniu makra z listy naciskamy z prawej edit
3. Otworzy sie edytor i pod tymi wpisanymi makrami wkleic trzeba ten tekst

Sub Scaleforumcorel()
Dim s As Shape
ActiveDocument.ReferencePoint = cdrCenter
For Each s In ActiveDocument.ActivePage.Shapes
s.Stretch 0.7
Next s
End Sub

4. File -> save macro
5. Wychodzimy z edycji kombinacja klawiszy Alt Q

6. Teraz powinnismy otrzymac na liscie obok roznych innych makr w ramach tego makra - Crop marks jako dodatkowa opcje scaleforumcorel.
7. po jego wskazaniu naciskamy run
8. Macro dziala i skaluje wszystkie elementy teksty, wektory i mapy bitowe - jest wiec uniwersalne.

Jesli ten sposob nie zadziala w wersji 9
mozna sprobowac tak:
1. rysujemy dowolny element np prostokat
2. Narzedzia -> visual basic -> rejstruj
3. powiekszamy ten kwadrat
4. Narzedzia -> visual basic -> zatrzymaj
5. Narzedzia -> visual basic ->uruchom -> edytuj i w miejsce tego zapisanego wpisu wklejamy

Sub Scaleforumcorel()
Dim s As Shape
ActiveDocument.ReferencePoint = cdrCenter
For Each s In ActiveDocument.ActivePage.Shapes
s.Stretch 0.7
Next s
End Sub

teraz wykonujemy kroki tak jak wyzej od pt 4

Gdy chcemy zmienic skale w zapisanym makro przechodzimy do jego edycji i zmieniamy np 0.7 na 0.5 lub dowolna inna wartosc.
Corel pokazuje nam zawsze skale wiec nie ma problemu zeby dobrac do zmniejszonego czy powiekszonego elementu skale bo pokazuje na pasku wlasciwosci skale nawet jesli zmniejszylismy rozmiar w mm.

Narzedzia Visual basic tez byc moze nie sa aktywne bo moze nie bylo pelnej instalacji corela?
pozdr.
 
 
elmo 
Początkujący
elmo


Dołączył: 20 Cze 2009
Posty: 5
Skąd: Skierniewice
Wysłany: 23 Czerwiec 2009, 19:46   

wielkie dzięki - działa :)
 
 
wawel 
Ekspert
wawel


Pomógł: 261 razy
Dołączył: 30 Mar 2008
Posty: 2143
Skąd: podgorze
Wysłany: 24 Czerwiec 2009, 12:19   

Wlasciwie skoro masz to na warstwach
to wklejajac ten tekst z jedna modyfikacja

Sub Scaleforumcorel()
Dim s As Shape
ActiveDocument.ReferencePoint = cdrCenter
For Each s In ActiveDocument.ActiveLayer.Shapes
s.Stretch 0.7
Next s
End Sub

to przeskaluje wszystkie elementy w ramach aktywnej (wybranej) warstwy bez wychodzenia do innego dokumentu, i skalowania innych obiektow na nie zaznaczonych warstwach.
pozdr.
 
 
Krasbit 
Początkujący
Jarosław Kraska


Dołączył: 25 Cze 2009
Posty: 6
Skąd: Kędzierzyn-Koźle
Wysłany: 28 Czerwiec 2009, 19:35   

elmo napisał/a:
mam pytanie: czy istnieje możliwość zmiany wymiarów identycznych obiektów (np. elips - o takich samych parametrach) ale w taki sposób aby nie zmieniły po tej transformacji swoich położeń???


Szybko, wygodnie i bez znajomosci VBA można wykonac te zadanie zrobic korzystając z tych makr do przenoszenia właściwości obiektu.


1. zaznacz obiekt wzorcowy w ktorym zmieniles wymiar na pożądany
2. wybierz makro Właściwości do skopiowania i zaznacz szerokosc, wysokosc oraz punkt odniesienia = cdrCenter (w przypadku elips i chęci pozostawienia niezmiennie centrum w srodku okregu - jezeli o to Ci chodzilo)
3. kliknij w kopiuj właściwości zaznaczonego obiektu.
4. zaznacz pozostałe obiekty ktorym chcesz nadac te same wymiary
5. kliknij w przenieś właściwości na zaznaczone obiekty.
Dodatkowym atutem jest mozliwość przeniesienia tych wlasciowsc na wszystkie obiekty w wybranym zakresie stron jednym kliknięciem korzystając z makra przenieś właściwości na nazwane obiekty . Warukiem jest odpowiednie przygotowanie projektu (po prostu nazwanie wszystkich tych elips wspólna nazwą np "elipsy") i podanie tej nazwy jako parametru.
 
 
Krasbit 
Początkujący
Jarosław Kraska


Dołączył: 25 Cze 2009
Posty: 6
Skąd: Kędzierzyn-Koźle
Wysłany: 30 Czerwiec 2009, 12:50   

Korzystając z tych makr możesz również kopiować i wklejać inne właściwości miedzy obiektami ( w tym efekty i wypełnienia). Zobacz przykład pod tym adresem:
Copy and Paste properties between objects - the simplest way!
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
         
Strona wygenerowana w 0.11 sekundy. Zapytań do SQL: 13