Aslikah dimensi digambarku?

Dalam Kategori: AutoCAD, AutoLISP
28 December 2008, 10:51 pm | oleh: santos | 15 Komentar | 851 views

Sebagai seorang drafter, terkadang mendapat softcopy drawing dari orang lain untuk meneruskan gambar, merevisi, atau sekedar menambah gambar detail berikut dimensi-dimensinya. Suatu saat pada saat merevisi dan membuat gambar detail ternyata ada gambar yang membuat ruwet…. eh ternyata setelah dicari-cari ternyata drafter terdahulu memodifikasi dimensi, sehingga seolah-olah gambar terskala dengan benar…. membuat pusing kepala dan menghabiskan banyak waktu untuk mengeditnya.

Coba saja sudah tahu dari sebelumnya, bisa kita complain ke drafter sebelumnya… atau paling tidak diawal kita sudah tahu sumber permasalahannya. Mari kita cari solusinya… begini….:p

Coba kode AutoLISP dibawah ini dan simpan dalam file cekdim.lsp dan pakai command line: cd

(defun c:cd ( / oby cd v0 v1 i ssval ssvalnama ssvaldim a aa)
(setq oby (ssget))
(setq cd nil)
(setq cd (ssadd))
;
(setq v0 (cons 0 “DIMENSION”))
(setq v1 (cons 1 “”))
;
(setq i -1)
(repeat (sslength oby)
(setq i (1+ i))
(setq ssval (ssname oby i))
(setq ssvalnama (assoc 0 (entget ssval)))
(setq ssvaldim (assoc 1 (entget ssval)))
(if (equal ssvalnama v0)
(if (not (equal ssvaldim v1))
(ssadd ssval cd)
);end if
);end if
);end repeat
(terpri)
(setq a (sslength cd))
(setq aa (itoa a))
(if (equal a 0) “OK!, tidak ada modifikasi dimensi”
(strcat “Ada ” aa ” modifikasi dimensi”)
)
);end defun cd

Bila sakit berlanjut hubungi dokter…. Selamat mencoba!

Popularity: 3%


Selanjutnya:

Tulisan Terkait

«
»

15 Diskusi

  1. Amatir says:

    Maaf kode tsb berfungsi buat ngechek dimensi yang gmana?dimensi yang di edit dgn cr di ketik atw dimensi yang tidak sesuai dgn Scala?n cekdim.lsp itu di save di autocad ya….atw dimana?
    maklum saya blm tau autolisp sama sekali….

  2. udaaf says:

    Sepertinya dimensi yang dirubah adalah yang menggunakan fasilitas ddedit atau merubah properties dari dimensi tersebut. Script bisa dicopy paste ke dalam notepad lalu disimpan dalam format *.lsp
    untuk menjalan script gunakan command appload atau ap. Pilih file dan jalankan command sesuai dengan definisi. Kalau script diatas didefinisikan menjadi cd. Jadi ketik CD pada command prompt.
    Selamat mencoba :)

  3. Cupu says:

    Maaf
    setelah kode tersebut dicopy ke notepad sewaktu mau disave dlm format *.Isp.format *.Isp nya kok ga tersedia cuma dlm bentuk *.txt
    apa cuma komputer tertentu yang bisa?

  4. udaaf says:

    ya itu default notepad. Langsung aja ketik chkd.lsp atau cd.lsp

  5. udaaf says:

    Oh iya sekalian lupa. pemilihan object masih dilakukan secara manual silahkan ganti script
    (setq oby (ssget))
    menjadi
    (setq oby (ssget “_X” (list (cons 0 “DIMENSION”))))
    untuk pemilihan dimensi secara keseluran tanpa melakukan pemilihan satu persatu. Kalo milih satu persatu jadi 200 deh :P.

    Dirubah dikit ya Om Santos

  6. santos says:

    Terima kasih atas commentnya dari pembaca terutama untuk om udaaf.
    Cara lainnya untuk memilih dimensi secara keseluruhan dengan cara saat “Select objects:” dan kemudian ketik “all”.

  7. MLQ says:

    jadi cuma untuk mengecek bahwa ada dim yang diedit valuenya. Dan bila dipilih semua kita tidak tahu Dimensi mana yang telah diedit.

    Saya biasa menggunakan perintah Express> Dimension > Reset Dim Value
    kalau menerima softcopy..

  8. amien says:

    asalamualaikum

    :S owh….. gitu hiya mas :s

    ntar aku cobainn deh :s

    he he :p

  9. santos says:

    terima kasih informasinya…

  10. ast says:

    ada 2 masalah,
    pertama perhatikan beberapa baris dibawah,

    (setq oby (ssget))
    (setq cd nil)
    (setq cd (ssadd))
    ;
    (setq v0 (cons 0 “DIMENSION”))
    (setq v1 (cons 1 “”))
    ;
    (setq i -1)
    (repeat (sslength oby)
    (setq i (1+ i))
    (setq ssval (ssname oby i))
    (setq ssvalnama (assoc 0 (entget ssval)))
    (setq ssvaldim (assoc 1 (entget ssval)))
    (if (equal ssvalnama v0)
    (if (not (equal ssvaldim v1))
    (ssadd ssval cd)
    );end if
    );end if
    );end repeat

    seluruh baris diatas hanya berfungsi untuk mencari obyek dimensi dari sekelompok obyek yang dipilih.
    Seluruh baris tersebut dapat disingkat menjadi 1 baris dengan memanfaatkan DXF Code 0 pada ssget awal yang berfungsi memfilter select object sehingga prosesnya lebih cepat.

    dan yang lebih penting,
    AutoCAD memiliki command DIM > NEW yang bisa melihat apakah dimension text teubah manual atau tidak.

    Dimensi yang tidak terubah nilainya adalah “”

    atau pengujian bisa dilakukan dengan command ed

    sehingga seluruh baris diatas bisa dirubah dengan 1 baris berikut :

    (command “dim1″ “n” “”)

    apabila dimensi text yang terpilih dari menjalankan command tersebut berubah, maka dimensi tersebut sudah terubah secara manual.

    salam

  11. ast says:

    lho… respon tidak bisa menulis tanda lebih kecil lebih besar secara langsung

    Mods, ini perlu di koreksi

    baris

    Dimensi yang tidak terubah nilainya adalah “”

    mestinya Dimensi yang tidak terubah nilainya adalah “”

    (command “dim1? “n” “simbol lebih kecil lebih besar”)

    seharusnya adalah (command “dim1? “n” “ simbol lebih kecil lebih besar”)

  12. ast says:

    argh…. sorry… typo error.

    tanda tanya di post koreksi semestinya “

Ayo Diskusikan di Sini!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>