* E Posta Adresiniz:
* Kodu Girin:

entmake fonksiyonu-5

entmake ile LAYER olusturmak
shark - 17.12.2005 08:29
Yazar: Derya KILIÇ
İçerik:

(Kontrol panelinizde görünür)
;Fonksiyon Tanımı:
;;;**********************************************
(defun layer-ekle(_ad _renk _cizgitipi _cizgikalinligi)
(if (null _renk) (setq _renk 7))
(if (null _cizgitipi) (setq _cizgitipi "Continuous"))
(if (null _cizgikalinligi) (setq _cizgikalinligi -3))
(if (not (tblobjname "LAYER" _ad))
(entmake (list (cons 0 "LAYER")
(cons 100 "AcDbSymbolTableRecord")
(cons 100 "AcDbLayerTableRecord")
(cons 2 _ad)
(cons 6 _cizgitipi)
(cons 62 _renk)
(cons 70 0) ;_ layer state
(cons 290 1) ;_ plot flag
(cons 370 _cizgikalinligi) ;_ (enum) -3: Default, 0: 0.00 5: 0.05, 9:0.09,...
) )
);_if
);_layer-ekle
;;;**********************************************
;Kullanımı :
;;;**********************************************
(layer-ekle "deneme" 1 nil nil)
;;;**********************************************
;Açıklama :
; Yukarıdaki kod "deneme" isimli kırmızı renkli bir layer oluşturur. Oluşan layer'in çizgitipi default yani 'continuous', çizgi kalınlığı da default'tur.
; (cons 70 0) satırındaki değer oluşacak layer'in durumunu belirler (ON/OFF, FREEZE/THAW). bu değer ayarlanabilir hale getirilebilir. Ancak layer-ekle fonksiyonunda bu deger default, yani 0 olarak alınmıştır.
;Aynı şekilde (cons 290 1) satırı da Layer'in plot işlemine girip girmeyecegini belirler. Bu fonksiyonda bu deger de default olarak 1 alınmıştır. Yani Layer 'çizilecek'.
;çizgi kalınlığı parametresi de 'nil' olarak verilirse fonksiyon içinde default dğere ayarlanır (-3). 0.00 için 0, 0.05 için 5, 0.09 için 9,... verilir.
;Oluşturulmak istenen layer'in zaten mevcut olup olmadığı fonksiyon içinde kontrol edilir. Varsa bir işlem yapılmaz, yoksa oluşturulur.
Yorumlar :
ismailasi   23.11.2010 18:55 #13526  

sevgili ehya bu sorunun cevabı bu olmamalıydı. cevap şu:
gördüğün lisp kodlarının en başına parantez açıp defun c:dilediğin komut ismi () yazıyorsun sonra da tüm kodların sonuna kapalı parantez, yani başta açıp en sonda kapatıyoruz. sonra autocad'de lispi yükleyip komut satırına lispin başında c: dan sonra verdiğin komut ismini yazıp enter e basıyorsun. lispin sonucunu göreceksin.

ehya   13.09.2007 10:48 #5521  

Bu kullanabileceğiniz bir komut değil. Entmake fonsiyonunun lisp içerisinde işlevini anlatan bir lisp...

yazici_m   13.09.2007 10:42 #5520  

bu lispin komutu nedir acaba açamadık da

Copyright © 2004-2019 | Tüm Hakları Saklıdır | 1902 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam | İletişim