|
Corel FORUM Forum użytkowników programów firmy Corel. Grafika wektorowa, rastrowa i obróbka zdjęć cyfrowych |
|
CorelDRAW - grafika wektorowa - Wypełnianie grup obiektów (każdy osobno) tym samym tekstem
Łobuzińska - 28 Sierpień 2020, 18:40 Temat postu: Wypełnianie grup obiektów (każdy osobno) tym samym tekstem Witam serdecznie,
Błagam o pomoc
Od pewnego czasu mam zagwozdkę, której nie jestem w stanie rozgryźć
Otóż w pewnej grafice wektorowej mam tysiące małych obiektów, które są pogrupowane kolorami. Potrzebuję w każdej z grup dodać inny tekst (w każdym obiekcie osobno). Jestem w stanie tylko łopatologicznie to wyjaśnić, dlatego stworzyłam profesjonalną grafikę (załącznik) by rozjaśnić o co chodzi
Każdy kolor to inna grupa obiektów.
Czy istnieje w x7 jakieś polecenie, które ułatwi mi życie tak, bym nie musiała uzupełniać tysięcy obiektów jednym tekstem?
Pozdrawiam
Cysorz - 28 Sierpień 2020, 20:55
Czy najprostsze polecenie "Znajdź i zamień tekst" nie zadziała w tym przypadku?
Artur Miernik - 28 Sierpień 2020, 20:58
Uf, obiekty jednej barwy nie są takie same kształtem, więc odpada robienie z grupy symbolu… poza napisaniem makra nic mądrego mi do głowy nie przychodzi, ale nawet ręcznie można tę działalność uprościć:
1) utworzyłbym tyle stron ile jest barw.
2) Używając panelu, który pokazuje warstwy, obiekty każdej z barw przeniósłbym na inną stronę, rzecz jasna bez zmiany ich położenia względem strony.
3) Na każdej ze stron/barw utworzyłbym stosowny tekst w docelowej już wielkości.
4) Każdy z tych tekstów zamieniłbym w symbol.
5) Nagrałbym makro, które by z grubsza działało tak:
— znajduje grupę, która nie jest tekstem,
— wstawia na niej symbol (napis),
— centruje go, grupuje i wyszukuje kolejny obiekt.
6) Czyli trzeba utworzyć i uruchomić makra tyle razy ile mamy stron/barw.
7) po skończonej pracy składamy wszystko w jedną stronę za pomocą [Ctrl]+[C] i [Ctrl]+[V].
Inny wariant tego, samego, leży w zmianie kolejności:
1) Nie robimy żadnego symbolu z tekstu, tylko tworzymy makro, które nakłada taki sam tekst na każdą grupę i grupuje ją z tym tekstem.
2) Potem przenosimy grupy tak, by na osobnych stronach znalazły się tylko grupy z obiektami jednej barwy.
3) Puszczamy dla każdej ze stron z osobna „szukaj i zamień tekst”
4) składamy ponownie wszystko do kupy na pojedynczej stronie.
Może ktoś będzie miał prostszy zamysł?
Łobuzińska - 28 Sierpień 2020, 21:30
Cysorz napisał/a: | Czy najprostsze polecenie "Znajdź i zamień tekst" nie zadziała w tym przypadku? |
Niestety nie, ponieważ obecnie wszystkie obiekty są puste
Artur Miernik napisał/a: | Może ktoś będzie miał prostszy zamysł? |
Artur Miernik dziękuję za wyczerpującą odpowiedź, ale niestety to zbyt skomplikowane dla takiego laika jak ja
Poza tym grup obiektów mam kilkadziesiąt - dlatego potrzeba szybkiego i prostego rozwiązania Być może takowe w ogóle nie istnieje, ale z doświadczenia wiem, że warto pytać
Artur Miernik - 29 Sierpień 2020, 00:57
Jeśli tylko kilkadziesiąt to pójdzie i bez makra.
Raz utworzysz tekst dla danego koloru grupy, a potem:
1) dodasz do zaznaczenia grupę docelową,
2) wycentrujesz na niej tekst kolejno naciskając [C] i [E]
3) odznaczysz obiekt i duplikujesz tekst naciskając [+] z bloku numerycznego klawiatury.
Powtarzasz czynności od pkt. 1) do 3) aż wszystkie grupy danego koloru będą miały swój tekst.
Martin Nez - 23 Listopad 2020, 19:10
Witam,
spróbuj tego:
Kod: | Sub lobuzinska()
ActiveDocument.ReferencePoint = cdrCenter
ActiveDocument.Unit = cdrPoint
Dim rozmiarFonta As Single
Dim nazwaFonta, napis As String
Dim s1, s2 As Shape
' -------------------------
' tutaj ustawić dane
rozmiarFonta = 5
nazwaFonta = "Arial"
napis = "Ab"
' -------------------------
Optimization = True
For Each s1 In ActiveSelectionRange
Set s2 = ActiveLayer.CreateArtisticText(0, 0, napis, , , nazwaFonta, rozmiarFonta, , , , cdrCenterAlignment)
s2.SetPosition s1.PositionX, s1.PositionY
Next
Optimization = False: Refresh
End Sub |
Zaznacz grupę obiektów, rozgrupuj je i uruchom makro.
Pozdr,
MN
|
|