Membuat bentangan dengan LISP

Coding ini dibilang masih sederhana karena hanya bisa membentangkan profil U dari polyline yang tidak memiliki radius dan masih bersifat horizontal dan vertikal saja.

Konsep penulisan coding disusun untuk meletakkan formula. Tapi sayangnya formula yang dicari hilang :-P. Kalau ada formula bentangan plate boleh dikirim ke saya ya. Ke UdaafAtYahooDotCoDotId.

Berikut coding sederhana untuk membuat bentangan U. Semoga bisa dipelajari

[sourcecode language='cpp']

(defun c:FP1 (/ ss ename ed obj elist thelist pt1 pt2 pt3 pt4 cnt len)
(vl-load-com)
(setq ss (ssget '((0 . "LWPOLYLINE"))))
(setq ename (ssname ss 0))
(setq ed (entget ename))
(setq obj (vlax-ename->vla-object ename))
(setq elist (vlax-get-property obj 'coordinates))
(setq thelist (vlax-safearray->list  (variant-value elist)))
(setq cnt 0)
(setq oldosn (getvar "osmode"))

(repeat 1
(setq pt1 (list (nth cnt thelist) (nth (1+ cnt) thelist)))
(setq cnt (+ 2 cnt))
(setq pt2 (list (nth cnt thelist) (nth (1+ cnt) thelist)))
(setq cnt (+ 2 cnt))
(setq pt3 (list (nth cnt thelist) (nth (1+ cnt) thelist)))
(setq cnt (+ 2 cnt))
(setq pt4 (list (nth cnt thelist) (nth (1+ cnt) thelist)))
)
(princ )
(setq len (+ (+(abs(- (car pt1) (car pt2))) (abs(- (cadr pt1) (cadr pt2))))
(+(abs(- (car pt2) (car pt3))) (abs(- (cadr pt2) (cadr pt3))))
(+(abs(- (car pt3) (car pt4))) (abs(- (cadr pt3) (cadr pt4))))
)
);setq
(entdel ename)
(setvar "osmode" 0)
(setq pt5 (list (+ (car pt1)len) (cadr pt1)))
(command "line" pt1 pt5 "")
(setvar "osmode" oldosn)
(princ)
)
(princ)

[/sourcecode]

Semoga bisa bermanfaat.

Salam,

Abu Labib

About Afri zanirman

Berpengalaman sebagai pengajar di ATC (Authorized Training Center) baik di Indonesia maupun Malaysia untuk pengambilan sertifikasi dari Autodesk. Software yang dikuasai AutoCAD, AutoCAD Mechanical, AutoCAD P&ID dan Inventor. Sekarang bekerja freelance sebagai CAD Instructor diberbagai perusahaan. Jikalau ada kebutuhan mengenai training,services dan konsultasi seputar software CAD bisa kontak saya di udaaf@yahoo.co.id. No. telp 08179870990 / 021-92031733

Iklan

Diskusi

Diskusi