Mengenal Fungsi Repeat pada AutoLISP

Fungsi “repeat” banyak sekali digunakan para programer lisp, memang repeat artinya untuk mengulang, sebagai gambaran ini biasanya terjadi ketika anda menerima gambar dari vendor, yang didalamnya terdapat ribuan gambar lingkaran dengan diameter layer warna dan lain-lain yang berbeda satu sama lainnya, yangjelas anda akan semakin bingung ketika boss anda mendesak mengerjakan dengan segera.

Format utama fungsi repeat lihat di bawah ini.

Gambar 1. Bentuk repeat yang sering digunakan para programer.

Mungkin para programer pemula pernah menulis kode seperti ini

Gambar 2. Sebuah program yang tidak menggunakan fungsi repeat.

Gambar 3. Sebuah kode yang menggunakan fungsi repeat.

Pada gambar 2 diatas penulis tidak menyalahkan, cuma kode tersebut tidak effisien tidak terpikir bila anda harus membuat 1000 lingkaran dengan kode diatas, turun lagi jadi 250 dan naik lagi, repooooooooot merevisi melulu.

Coba anda bandingkan antara gambar 2 dan 3, sangat jauh perbedaannya kembali ke diri kita sejauh mana kemampuan untuk mengolah data yang kita inginkan dengan menggunakan repeat







  • Pither Rukka

    aku sudah coba tapi kog error seperti ini:
    Command: test
    Masukan nilai: 1
    ; error: bad argument type: fixnump: 1.0
    Command:

    • http://cadesu.multiply.com Adesu

      coba dengan cara ini

      (defun c:test (/ cnt num pt rad)
      (setq pt ‘(0 0 0))
      (setq rad 1)
      (setq num (fix (getreal “\Masukan nilai angka: “)))
      (setq cnt 0)
      (repeat
      num
      (setq rad (+ rad cnt))
      (command “_circle” pt rad “”)
      (setq cnt (1+ cnt))
      ) ; repeat
      (princ)
      ) ; defun

      • Pither Rukka

        Mantap…sudah bisa.
        Terimakasi ilmunya.

  • sumanto

    klo arah repeat tak beraturan misal : melingkar/lingkaran (ket jarak repeat selalu sama tapi sudutnya berbeda “selalu bertambah”)
    penulisannya gmn (klo boleh ksh contoh donk)??????
    thanks……..