Bagaimana cara membuat nomor secara acak...? mengikuti objek di corelDraw seperti contoh kasus Amplop Keamanan PIN Bank atau Vektor yang terdiri dari kumpulan nomor?
Hemmzzz, sebelum saya jawab saya kasih slogan dulu nih :D
Desain Is Creative, Programing Is Logic & CorelDraw Is Magic :D Horas #GRAFISin.Banyak jalan menuju roma, begitu juga ketika anda mendesain di CorelDraw anda bisa menggunakan tools apa saja sesuka hati anda, dalam hal membuat random nomor berikut cara manualnya:
- Buat objek yang anda inginkan di CorelDraw,
- Buat Nomor secara acak dengan Textool baik tipe paragraph maupun tipe Artistic.
- Copy paste nomor tersebut sampai penuh mengikuti objek yang anda inginkan.
- Masukan nomor acak yang anda buat ke dalam objek pada langkah 1
Saya tidak akan menjelaskan detail cara manualnya, karena akan saya berikan kode Macronya sehingga anda bisa otomatis membuatnya dan memanggilnya saat sewaktu-waktu anda butuhkan.
Berikut ini kodenya:
Sub NomorAcak()
'Membuat Nomor Acak Otomatis
'Publikasi http://goo.gl/nywYWL
'Kode oleh Ade Sanusi | 21 Nopember 2014
'Publikasi http://goo.gl/nywYWL
'Kode oleh Ade Sanusi | 21 Nopember 2014
Dim seleksi As Shape
Dim l_seleksi As Double, t_seleksi As Double
Dim l_bantu As Double, t_bantu As Double
Dim x_awal As Double, y_awal As Double
Dim m_kanan As Double, m_atas As Double
Dim posisi_atas As Double
ActiveDocument.Unit = cdrMillimeter
Set seleksi = ActiveSelection
seleksi.GetSize l_seleksi, t_seleksi
ActiveDocument.ReferencePoint = cdrBottomLeft
seleksi.GetPosition x_awal, y_awal
'--------Atur di bawah ini sesuai selera Anda------------
ukuran_nomor = 12 'pt
jarak_nomor = 2 'mm
j_kanan = ukuran_nomor
m_kanan = 2 'Margin Jarak antar nomor ke samping
m_atas = 2 'Margin jarak antar nomor ke atas
huruf = "Arial" 'Untuk Ganti nama font pastikan Namanya Persis Sama dengan koleksi font di CorelDraw
ukuran_nomor = 12 'pt (Untuk Mengatur Ukuran Font/Nomor)
seleksi.Copy
seleksi.Delete
acak = Rnd()
ActivePage.CreateLayer "www.Grafisin.com " & acak
Dim nomor_bantu As Shape
Set nomor_bantu = ActiveLayer.CreateArtisticText(x_awal, y_awal, 4, cdrIndonesian, , huruf, ukuran_nomor)
nomor_bantu.Fill.UniformColor.CMYKAssign 0, 0, 0, 0
nomor_bantu.GetSize l_bantu, t_bantu
j_kanan = (l_seleksi \ (l_bantu + margin_kanan) + 2)
j_atas = (t_seleksi \ (t_bantu + margin_atas) + 2)
jumlah_nomor = j_kanan * j_atas
'Membuat Perulangan
Dim nomor As Shape
For i = 0 To jumlah_nomor - 1
posisi_atas = i \ j_kanan
nomor_acak = Int((9 - 0 + 1) * Rnd + 0)
Set nomor = ActiveLayer.CreateArtisticText(0, 0, nomor_acak, cdrIndonesian, , "huruf", ukuran_nomor)
nomor.Move x_awal, y_awal
'Mengatur Nomor dari Kiri ke kanan kemudian ke atas
nomor.Move ((i - (j_kanan * posisi_atas)) * l_bantu), (posisi_atas * t_bantu)
'Convert Nomor ke Curve
'Tambahkan tanda petik satu di depan kode nomor.ConvertToCurver jika tidak ingin di Convert
nomor.ConvertToCurves
Next i
nomor_bantu.Delete
ActiveLayer.Shapes.All.AddToSelection
Dim s1 As Shape
Set s1 = ActiveSelection.Group
Dim objek_copy As Shape
Set objek_copy = ActiveLayer.Paste
s1.AddToSelection
s1.AddToPowerClip objek_copy
End Sub
Kode ini saya uji coba di CorelDraw X7, dan jika ada pesan error saat anda coba di Versi CorelDraw di bawahnya silahkan komentar di artikel ini, nanti akan saya berikan solusinya :)
Cara penggunaanya bisa melalui Docker Macro Manager untuk X5 ke atas atau di bawah ini untuk semua versi:
Cara penggunaanya bisa melalui Docker Macro Manager untuk X5 ke atas atau di bawah ini untuk semua versi:
- Buka CorelDraw,
- Tools - Macros - Macro Editor (Alt+F11)
- Cari di sebelah kiri bagian Project Explorer pada GlobalMacros(GlobalMacros.gms)
- Klik pada Folder Modules kemudian
- Klik 2x pada CorelMacros kemudian masukan kode di bawahnya
- Simpan (Ctrl+S) dan tutup Macro Editornya
- Buat objek yang anda inginkan kemudian di seleksi,
- Tools - Macros - Run Macro
- Pilih pada Macro In : Global Macros
- Pilih pada Macro Name : CorelMacros.NomorAcak
- Run
- Tunggu hingga proses selesai
Anda juga bisa menggunakan kode ini untuk gambar vektor anda, berikut contoh hasilnya:
Perhatian!
Pastikan anda menyimpan terlebih dahulu file desain anda, untuk menghindari hank karena proses perulangan yang terjadi, semakin besar ukuran objek anda, semakin banyak juga perulangan yang terjadi. Biasanya saat dijalankan akan terlihat hank, (Not Responding) tunggu saja itu sedang proses, Kecepatan prosesnya tergantung Prosessor dan RAM PC Anda.
#HappyDesign #HappyCoding #GRAFISin
0 Komentar