Search

Minggu, 07 Agustus 2011

Mengganti elevasi object ke nol (z point = 0)

Bila anda tidak dapat menjalankan command atau perintah fillet terhadap dua object garis, bisa jadi disebabkan oleh perbedaan Z POINT-nya. Lines are non coplanar, pesan tersebut merupakan hasil dari perintah fillet terhadap dua object garis yang berbeda elevasi atau z point-nya. Agar kita dapat menjalankan perintah fillet tersebut, maka elevasi atau z point dua object garis tersebut harus kita samakan dulu. Berikut ini adalah program autolisp untuk mengganti elevasi object yang dipilih menjadi nol ( z point = 0 ) :

(defun c:z0 ()
  (princ "Select objects: ") (setq ss (ssget) count (1- (sslength ss)) asno 9)
  (command "undo" "mark")
  (while (>= count 0)
    (setq curent (entget (ssname ss count)))
    (while (and
                (setq asno (1+ asno))
                (< asno 19)
                (if (not (assoc asno curent)) (progn ; begin if polyline
                  (setq asno 38)
                  (if (assoc asno curent) (progn
                    (entupd (cdr (assoc -1 (entmod
                      (subst
                        (cons asno 0.0)
                        (assoc asno curent)
                        curent
                      )
                    )))) nil
                  )
                  nil
                )
              )
              T
            ) ; if polyline
          )
      (if (/= 0 (cadddr (assoc asno curent)))
        (entupd (cdr (assoc -1 (setq curent (entmod
          (subst
            (cons asno (list (cadr (assoc asno curent)) (caddr (assoc asno curent)) 0))
            (assoc asno curent)
            curent
          )
        ))))) ; entupd
      ) ; if
    ) ; while and
    (setq count (1- count) asno 9)
  ) ; while count
  (princ)
)

Cara menggunakan program ini :
1. Copy dan paste program tsb ke dalam notepad
2. lalu save file tsb dengan extension .lsp
3. dari dalam program Autocad anda ketikan command / perintah APPLOAD

4. Pilih file lsp anda yg tadi kemudian klik tombol "load"
5. Setelah itu tutup dialog box dengan meng-klik tombol "close"
6. Pada command bar anda bisa masukan perintah z0
Silahkan dicoba.. :D

Kamis, 04 Agustus 2011

Menghitung luasan + text hasil luasannya

Command ini untuk menghitung luasan suatu object polyline tertutup dengan tambahan text hasil luasannya dan nama ruangnya. Berikut program autolispnya :

(defun c:ae (/ pil pt txt)
   (setvar "cmdecho" 0)

   (command "undo" "be")
   (setq pil (ssget))
   (command "area" "e" pil)

   (initget 1)
   (setq pt (getpoint "\nPick point for text: "))
   (setq txt (getstring T "\nNama ruang: "))
   (command "text" "j" "mc" pt "" txt )
   (command "text" "" (strcat (rtos (/ (getvar "area") 1000000) 2 0) "m2"))

   (command "undo" "e")
   (princ)
)

Cara menggunakan program ini :
1. Copy dan paste program tsb ke dalam notepad
2. lalu save file tsb dengan extension .lsp
3. dari dalam program Autocad anda ketikan command / perintah APPLOAD

4. Pilih file lsp anda yg tadi kemudian klik tombol "load"
5. Setelah itu tutup dialog box dengan meng-klik tombol "close"
6. Pada command bar anda bisa masukan perintah ae
Silahkan dicoba.. :D