Daire ortasına aks çizen lisp

ehya - 30.09.2005 07:56
Forum bölümünde istekte bulunulmuş, herkesin kullanabileceğini düşünerek burayada ekleme gereği duyulmuştur.

Lisple ilgili forum linki İleti #726

;;; pas payları konusunda düşündüm ki, isteğe bağlı olsun, tek kişiye değil, genele hitap etsin istedim. Komutun ismi "dec" çoklu seçim yapabilirsiniz.
Bu lispi kodlayan ehya 'ya teşekkürler.

Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz

Kod:

(defun c:dec ()
(setvar "cmdecho" 0)
(setvar "modemacro" "Archme Design 2005 ©")
(setq dec_sec (ssget (list (cons 0 "CIRCLE"))))
(if (= dec_sec nil)
(progn
(princ "
Seçim yok!...Komut bitirildi.."))
(progn
(if (= dec_pas nil)(setq dec_pas 3))
(initget 2)
(setq dec_p (getdist (strcat "
Pas Payı:<" (rtos dec_pas)">:")))
(if (= dec_p nil)(setq dec_p dec_pas))
(setq dec_pas dec_p)
(setq dec_c 0)
(setq dec_say (sslength dec_sec))
(while (< dec_c dec_say)
(setq dec_sec_tek (ssname dec_sec dec_c))
(setq dec_sec_tek_yr (cdr (assoc 40 (entget dec_sec_tek)))
dec_sec_tek_mr (cdr (assoc 10 (entget dec_sec_tek))))
(setq dec_os (getvar "osmode"))
(setvar "osmode" 0)
(setq dec_1a (polar dec_sec_tek_mr (angtof "0") (+ dec_sec_tek_yr dec_pas))
dec_1b (polar dec_sec_tek_mr (angtof "180") (+ dec_sec_tek_yr dec_pas))
dec_2a (polar dec_sec_tek_mr (angtof "90") (+ dec_sec_tek_yr dec_pas))
dec_2b (polar dec_sec_tek_mr (angtof "270") (+ dec_sec_tek_yr dec_pas)))
(command "line" dec_1a dec_1b "")
(command "line" dec_2a dec_2b "")
(setq dec_c (+ dec_c 1))
)))
(setvar "osmode" dec_os)
(princ)
)
(PRINC "--> 'www.autocadokulu.com' Çizim yardımları yüklendi !")

Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.

Yazar: ehya
İçerik:
Tag:

Yorumlar :
nzka   18.04.2009 12:36 #10956  

emeğine sağlık güzel bir çalışma

Copyright © 2004-2022 SQL: 0.082 saniye - Sorgu: 35 - Ortalama: 0.00234 saniye