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
Pomoc przy zautomatyzowaniu procesu ustawiania obiektów
Autor Wiadomość
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 5 Marzec 2019, 16:06   Pomoc przy zautomatyzowaniu procesu ustawiania obiektów

Witam, i od razu z prośbą o pomoc.
Czy znajdzie się ktoś kto pomoże w kłopocie.
Mam załóżmy kilkaset stron z obiektami/projektami (każdy inny ale o tych samych wymiarach), po 1 na stronę (zgrupowane do 1 obiektu) i muszę je poukładać jeden obok drugiego. Do tej pory robiłem to ręcznie ale to upierdliwa robota i zajmuje od groma czasu.
Czy jest jakieś makro lub coś w tym stylu aby zautomatyzować ten proces.
Wydruk seryjny tutaj niestety odpada bo z corela nie jest to drukowane tylko z jakiegoś innego ripa czy coś takiego i trzeba przygotowywać pod ten program gotowe strony.

Myślałem aby można było zrobić to tak że przykładowo mamy rozmiar strony (obiekty mają taki sam rozmiar) 15x60mm czyli x=15mm y=60mm.
Odpalamy makro i podajemy wartość x i y oraz dodatkowo wartość Z (która będzie określała ilość przesunięć w x - tak jakby to była ilość wierszy w tabeli).
Po wczytaniu tych danych makro zaznacza obiekt ze str1 i przesuwa go w pionie o wartość x (czyli tak jakby przesuwa obiekt poza stronę) i przechodzi na kolejną stronę i robi tak samo z obiektem na stronie 2 ale o wartość 2x i kolejnych aż do wartości Z. (tworzy „wiersze” tabeli)
Potem wartość Z się resetuje, zaznaczane są wszystkie obiekty (te przesunięte poza stronę) i przesuwane o wartość Y. Potem przechodzi na kolejną stronę i zaczyna od nowa przesuwać obiekty o wartość X. I tak dalej przez te kilkaset stron.

Nie znam się za bardzo na skryptach i makrach ale liczę że znajdzie się dobra duszyczka która mnie w tym temacie poratuje ;-)
Zawsze można się jakoś dogadać :mrgreen:
 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 5 Marzec 2019, 22:03   

Zamiast podawać łopatologiczny opis sposobu działania makra, lepiej dołącz przykładowy plik (ten wielostronicowy) i ten z wynikowym montażem. To wcale nie musi działać zgodnie z Twoim opisem.

Przyznaję, że jakoś mrozi mnie fakt pracy z dokumentem corelowym o kilkuset stronach. To nie może kończyć się dobrze.
 
 
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 6 Marzec 2019, 08:19   

Ok. załączyłem pliki przed i po ułożeniu.
Mniej więcej o coś takiego mi chodzi.

plik_przed ulozeniem.part2.rar
Pobierz Plik ściągnięto 273 raz(y) 400.48 KB

plik_przed ulozeniem.part1.rar
Pobierz Plik ściągnięto 294 raz(y) 2 MB

plik_ulozony.cdr
Pobierz Plik ściągnięto 239 raz(y) 368.59 KB

 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 6 Marzec 2019, 08:32   

Chodzi o układanie tekstów w tabeli? To ma być później drukowane czy cięte ploterem? Spady są potrzebne? Znaczniki cięcia?

Pokaż prawdziwą jedną stronę pliku przed ułożeniem, o ile to nie jest specjalnie tajne.
 
 
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 6 Marzec 2019, 08:40   

Nie jest tajne ;-)
będzie to drukowane. znaczniki cięcia są gotowe jak na załączonym pliku. trzeba je tylko poukładać jeden obok drugiego, żeby można było umieścić na formatkach do zadruku.

60x14mm_1.cdr
Pobierz Plik ściągnięto 295 raz(y) 460.03 KB

60x14mm.cdr
Pobierz Plik ściągnięto 261 raz(y) 15.01 KB

 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 6 Marzec 2019, 09:04   

Wybacz, że Cię tak ciągnę za język, ale nikt się tego nie podejmie (albo podejmie - ale po dwóch dniach rzuci w kąt), jeżeli będzie się okazywać co chwilę, że czegoś nie dopowiedziałeś.

W Twoich pierwszych załączonych plikach nie ma znaczników cięcia - teraz nagle się pojawiają.
Mają być między użytkami - czy tylko na zewnątrz?

Dołącz finalny, prawdziwy plik z Twoim montażem tych kodów, który wysyłasz do drukarni, wtedy wszystko będzie jasne (nie jakieś uproszczone symulacje z "wzór 1").

A tak przy okazji: nie lepiej wygenerować z tego pliku pdfa wykorzystując corelowy mechanizm impozycyjny?

 
 
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 6 Marzec 2019, 09:29   

Nie ma sprawy, nie znam się na skryptach i makrach więc pytam :-)
chodzi tylko o ustawienie tego jak w załączonym pliku 60x14_1 jeden obok drugiego, a nie o przygotowanie całej formatki do druku ;-)
Pasery są także pomiędzy użytkami, ale to nie przeszkadza bo później i tak nie będą widoczne po wydrukowaniu i późniejszej obróbce.
Potem mogę takie użytki poukładać na formatce do wydrukowania razem z innymi projektami bo często na 1 formatce jest kilka różnych rzeczy do wydrukowania.

Próbowałem już generować pdf przez wydruk seryjny w corelu ale i tak muszę potem ponownie importować do corela w celu ustawienia użytków na formatkach. Myślałem, że da się takie coś zrobić tylko w corelu aby nie skakać między programami.

Nie wysyłam do drukarni tylko sam drukuję z jakiegoś ripa który czyta tylko .eps więc generuję je z corela.
Próbowałem drukować spod corela, ale też nie działa :-| Zostaje mi łopatologiczne ustawianie użytków na formatce i generowanie .eps

60x14mm_1.cdr
Pobierz Plik ściągnięto 292 raz(y) 460.03 KB

 
 
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 12 Marzec 2019, 13:30   

Hej znalazłem taki kod od kolegi tomek123,
Kod:
Public Sub UNION()
Dim s As Shape, x As Double, y As Double, _
i As Integer, j As Integer, b_union As Boolean, _
doc1 As Document, doc As Document, pg As Page, frame As Shape
Const col_count As Integer = 10 'ilosc stron w kolumnie
b_union = False
i = 0
j = 0
Optimization = True
Set doc = ActiveDocument
doc.Unit = cdrMillimeter
doc.ActivePage.GetSize x, y
For Each pg In doc.Pages
    If b_union = False Then
        Set doc1 = CreateDocument
        doc1.Name = "union"
        doc1.Unit = cdrMillimeter
        b_union = True
    End If
    Set frame = pg.ActiveLayer.CreateRectangle(0, y, x, 0)
    Set s = pg.SelectShapesFromRectangle(-1.5, y + 1.5, x + 1.5, -1.5, False)
    s.Copy
    frame.Delete
    Set s = doc1.ActiveLayer.Paste
    s.SetPosition j * x, y - (i * y)
    i = i + 1
    If i = col_count Then
        i = 0
        j = j + 1
    End If
Next
'doc.Close
Optimization = False
End Sub

i generalnie o to mi chodziło, z tym, że nie wszystkie strony ułożyły się w tabeli i nie bardzo wiem dlaczego. Może ktoś w was pomóc i poprawić kod tak aby wszystkie obiekty ze stron układały się jeden obok drugiego i nie było brakujących pustych miejsc?
Załączam plik przed ułożeniem (50x25mm_lista) oraz po odpaleniu skryptu (plik union).
Z góry dzięki za jakąkolwiek pomoc

union.cdr
Pobierz Plik ściągnięto 311 raz(y) 1.81 MB

50x25mm_lista.part2.rar
Pobierz Plik ściągnięto 263 raz(y) 245.94 KB

50x25mm_lista.part1.rar
Pobierz Plik ściągnięto 261 raz(y) 2 MB

 
 
tegraf 
Ekspert
tegraf


Pomógł: 74 razy
Dołączył: 21 Mar 2011
Posty: 1954
Skąd: Zielona Góra
Wysłany: 12 Marzec 2019, 14:29   

U mnie (Corel 2017) wypełniło bez dziur.
 
 
kam_fafik 
Początkujący


Wersja CorelDRAW: x7
Dołączył: 05 Mar 2019
Posty: 6
Skąd: Poznań
Wysłany: 13 Marzec 2019, 10:23   

Po wyłączeniu i włączeniu rano kompa i kolejnych próbach (a nóż coś zaskoczy) działa tak jak powinien czyli bez dziur :mrgreen:
 
 
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.22 sekundy. Zapytań do SQL: 14