Bölüm indeksi
Makaleler
Sık Sorulan Sorular
Download
İzle Öğren
Eğitim Videoları
AutoCAD Videoları
3ds Max Videoları
AutoCAD Kursu Ders Videoları
AutoCAD Kursu 2 Boyut Dersleri
AutoCAD Kursu 3 Boyut Dersleri
Proje Dökümanları
Çizimler
Mimari Çizimler
Elektrik
DoÄŸalgaz
Harita Çizimleri
Tesisat
Ferforje
Makine
3 Boyut
3ds Max
ArchiCAD
Solidworks
Diğer Çizimler
Lispler
Menüler
Fontlar
FreeMUST
Eğitim Dökümanları
Genel Kategori
Çizim Programları
IES Dökümanları
AutoCAD
AutoLISP
Konu Anlatımları
Örnek Lispler
Pline 'ları se.
Merdiven çizen.
Rectangle Solid.
2D Polyline 'ı.
Sürekli Kopya
Civata ve Somun.
Seçilen nesnen.
Z yönünde kop.
Z yönünde taÅ.
Daire ortasına.
Rakam sıralaya.
Artan sırayla .
Sırasıyla num.
Sayfadaki textl.
Yazıyı refera.
Seçilen nesnen.
...
Sürümler
Menüler
DWF Dosyaları
Programlama
AutoCAD Püfleri
EÄŸitim
AutoCAD EÄŸitimi
Karma 3 Boyut Dersleri
Adım Adım AutoCAD Eğitimi
01.Bölüm
02.Bölüm
03.Bölüm
04.Bölüm
05.Bölüm
06.Bölüm
07.Bölüm
08.Bölüm
09.Bölüm
10.Bölüm
11.Bölüm
12.Bölüm
Uygulamalar
Adım Adım 3 Boyut Eğitimi
Kariyer
3ds Max
Attribute lar
Sık Sorulan Sorular
Download
İzle Öğren
Eğitim Videoları
AutoCAD Videoları
3ds Max Videoları
AutoCAD Kursu Ders Videoları
AutoCAD Kursu 2 Boyut Dersleri
AutoCAD Kursu 3 Boyut Dersleri
Proje Dökümanları
Çizimler
Mimari Çizimler
Elektrik
DoÄŸalgaz
Harita Çizimleri
Tesisat
Ferforje
Makine
3 Boyut
3ds Max
ArchiCAD
Solidworks
Diğer Çizimler
Lispler
Menüler
Fontlar
FreeMUST
Eğitim Dökümanları
Genel Kategori
Çizim Programları
IES Dökümanları
AutoCAD
AutoLISP
Konu Anlatımları
Örnek Lispler
Pline 'ları se.
Merdiven çizen.
Rectangle Solid.
2D Polyline 'ı.
Sürekli Kopya
Civata ve Somun.
Seçilen nesnen.
Z yönünde kop.
Z yönünde taÅ.
Daire ortasına.
Rakam sıralaya.
Artan sırayla .
Sırasıyla num.
Sayfadaki textl.
Yazıyı refera.
Seçilen nesnen.
...
Sürümler
Menüler
DWF Dosyaları
Programlama
AutoCAD Püfleri
EÄŸitim
AutoCAD EÄŸitimi
Karma 3 Boyut Dersleri
Adım Adım AutoCAD Eğitimi
01.Bölüm
02.Bölüm
03.Bölüm
04.Bölüm
05.Bölüm
06.Bölüm
07.Bölüm
08.Bölüm
09.Bölüm
10.Bölüm
11.Bölüm
12.Bölüm
Uygulamalar
Adım Adım 3 Boyut Eğitimi
Kariyer
3ds Max
Attribute lar
AutoCAD Genel
AutoCAD EÄŸitimi
Özel Yazılımlar
- aLd Fonksiyonu
- TCad Metraj
- FacadeCAD
- Cephe Kot
- HQ Library
- FreeMUST
- ALS/Pasdoc.A
- Excele Tablo Aktaran Lisp
- Nokta Koordinat Tablosu
- Plana İç Ölçü Verme
- Toplam Alanı Yazan Lisp
- Alan ve Çevre Yazan Lisp
- Koordinat, Alan ve Çevre Tablo Halinde Yazma
- AutoCAD'de Nokta Dökümü
- Hava Kanalı Metraj Fonksiyonu
- Boru Metrajı Fonksiyonu
- OptiCAD
- Özel Çizgi Tipi Oluşturmak
- AutoCAD te Koni Açılımı Nasıl Yapılır?
- PolyLine & Point Objelerinden Aplikasyon Çizelgesi
- Z değerini sıfırlama
- AutoCAD te Polyline üzerine uzunluk yazdırma
- Sıralı numaralandırma
- Yazı içindeki sayıları toplama
- Karmaşık Path ile Loft Uygulaması
- Çoklu Fillet Fonksiyonu
- Ölçekli Türk Bayrağı çizen lisp
- Duvar-Lento-Kapı-Pencere Metraj Programı
Duvar çizen lisp
Hızlı duvar çizimi (sıvalı), lsp
veysela - 27.09.2006 15:00
veysela - 27.09.2006 15:00
;BU BÖLÜM DUVAR LİSPİ İÇİN (.LSP)
(defun intersect2line (#a #b)
(setq pt3 (inters
(cdr (assoc 10 (entget #a)))
(cdr (assoc 11 (entget #a)))
(cdr (assoc 10 (entget #b)))
(cdr (assoc 11 (entget #b)))
nil
)
)
(command ".change" #a "" pt3 ".change" #b "" pt3)
(princ)
)
(defun dialog ()
(setq dcl_id (load_dialog "FORMLAR.dcl"))
(if (not (new_dialog "DUVAR" dcl_id))
(exit)
)
(set_tile "DUVAR_GEN" "20")
(set_tile "SIVA_GEN" "3")
(set_tile "DUVAR_YUK" "220")
(if (= durum 1)
(progn
(set_tile "U" "1")
)
)
(if (= durum 2)
(progn
(set_tile "O" "1")
)
)
(if (= durum 3)
(progn
(set_tile "A" "1")
)
)
(mode_tile "DUVAR_GEN" 2)
(action_tile
"U"
"(setq durum 1)"
)
(action_tile
"O"
"(setq durum 2)"
)
(action_tile
"A"
"(setq durum 3)"
)
(action_tile "help" "(yardim)")
(action_tile
"cancel"
"(done_dialog)"
)
(action_tile
"accept"
(strcat
"(progn (setq dg (atof (get_tile "DUVAR_GEN")))"
"(setq sk (atof (get_tile "SIVA_GEN")))"
"(setq md (atof (get_tile "DUVAR_YUK")))"
" (done_dialog)(setq userclick T))"
)
)
(start_dialog)
;(unload_dialog dcl_id)
)
(defun c:duvar ()
(command "thickness" "2.6")
(if (eq durum nil)
(setq durum 1)
)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq cnt 0)
(setq nosmode (getvar "osmode"))
(if (eq userclick nil )
(dialog)
)
(while (eq (setq pt1 (getpoint "nduvarı çizmeye başlayınız: "))
nil
)
(dialog)
)
(setq pt2 (getpoint pt1 "ndevam ediniz: ")
stpt pt1
)
(setvar "osmode" 0)
(if (eq durum 1)
(setq d1 0
d2 dg
d3 (+ d1 sk)
d4 (+ sk d2)
)
)
(if (eq durum 2)
(setq d1 (/ dg 2.0)
d2 (/ dg 2.0)
d3 (+ d1 sk)
d4 (+ sk d2)
)
)
(if (eq durum 3)
(setq d1 (* dg 1)
d2 0
d3 (* (+ d2 sk) -1.0)
d4 (* (+ d1 sk) -1.0)
)
)
(setvar "highlight" 0)
(while (/= pt2 nil)
(command "_undo" "begin")
(setvar "blipmode" 0)
(setq a1 (angle pt1 pt2))
(setvar "osmode" 0)
(command "layer" "m" "duvar" "c" "red" "" "")
(command ".line"
(polar pt1 (+ a1 1.5707963) d1)
(polar pt2 (+ a1 1.5707963) d1)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l1a (entlast)
l1f l1a
)
(progn
(setq l1b l1a
l1a (entlast)
)
(intersect2line l1a l1b)
)
)
(command "layer" "m" "duvar" "c" "red" "" "")
(command ".line"
(polar pt1 (- a1 1.5707963) d2)
(polar pt2 (- a1 1.5707963) d2)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l2a (entlast)
l2f l2a
)
(progn
(setq l2b l2a
l2a (entlast)
)
(intersect2line l2a l2b)
)
)
(command "layer" "m" "siva" "c" "white" "" "")
(command ".line"
(polar pt1 (+ a1 1.5707963) d3)
(polar pt2 (+ a1 1.5707963) d3)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l1c (entlast)
l3f l1c
)
(progn
(setq l1d l1c
l1c (entlast)
)
(intersect2line l1c l1d)
)
)
(command "layer" "m" "siva" "c" "white" "" "")
(command ".line"
(polar pt1 (- a1 1.5707963) d4)
(polar pt2 (- a1 1.5707963) d4)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l2c (entlast)
l4f l2c
)
(progn
(setq l2d l2c
l2c (entlast)
)
(intersect2line l2c l2d)
)
)
(command "layer" "m" "duvar" "c" "red" "" "")
(setvar "osmode" nosmode)
(command "_undo" "end")
(setq pt1 pt2
pt2 (getpoint pt1)
cnt (1+ cnt)
)
)
(initget "evet hayır")
(if (equal stpt pt1)
(progn
(setq yn (getkword "nduvar kapansin mi? (/hayır): "))
(if (not et)
(setq et "evet")
(setq et (strcase et))
)
(if (= et "evet")
(progn
(intersect2line l1a l1f)
(intersect2line l2a l2f)
(intersect2line l1c l3f)
(intersect2line l2c l4f)
)
)
)
)
(command "thickness" "0.0")
(setvar "osmode" nosmode)
(setvar "blipmode" 0)
(setvar "highlight" 1)
(princ)
)
(defun reset ()
((princ) "nrestoring settings")
(setq *error* temperr)
(setvar "clayer" oldlayer)
(setvar "blipmode" 1)
(setvar "menuecho" 0)
(setvar "highlight" 1)
(setvar "blipmode" 1)
;(setvar "osmode" oldsnap)
(setvar "pickbox" oldpick)
(princ)
)
(defun yardim (/ yardim_kutusu cizgi veri_dosyasi dcl_id)
(if (= yardim_kutusu nil)
(progn
(setq cizgi "")
(setq veri_dosyasi (open (findfile "MK_HELP.txt") "r"))
(while (/= cizgi nil)
(setq cizgi (read-line veri_dosyasi))
(if (/= cizgi nil)
(setq yardim_kutusu (append yardim_kutusu (list cizgi)))
)
)
(close veri_dosyasi)
)
)
(setq dcl_id (load_dialog (findfile "FORMLAR.dcl")))
(if (not (new_dialog "sembol2" dcl_id ""))
(exit)
)
(start_list "listeler")
(mapcar 'add_list yardim_kutusu)
(end_list)
(action_tile "accept" "(done_dialog)")
(start_dialog)
(unload_dialog dcl_id)
)
;****************************************************************************
;BU BÖLÜM DUVAR DİALOG TABLOSU İÇİN (.DCL)
DUVAR : dialog {
label = "DUVAR";
: boxed_column {
label = "Duvar Ayarları";
: edit_box {
label = "Duvar GeniÅŸliÄŸi";
key = "DUVAR_GEN";
edit_width = 20;
fixed_height = true;
}
: edit_box {
label = "Sıva Kalınlığı";
key = "SIVA_GEN";
edit_width = 20;
fixed_height = true;
}
: edit_box {
label = "Duvar Yüksekliği";
key = "DUVAR_YUK";
edit_width = 20;
fixed_height = true;
}
: boxed_column {
label = "Duvar Yakalam Noktaları";
: row {
:radio_button {
key = "U";
label = "Ãœstten";
}
:radio_button {
key = "O";
label ="Ortadan";
}
:radio_button {
key = "A";
label = "Alttan";
}
}
}
}
ok_cancel_help ;
}
(defun intersect2line (#a #b)
(setq pt3 (inters
(cdr (assoc 10 (entget #a)))
(cdr (assoc 11 (entget #a)))
(cdr (assoc 10 (entget #b)))
(cdr (assoc 11 (entget #b)))
nil
)
)
(command ".change" #a "" pt3 ".change" #b "" pt3)
(princ)
)
(defun dialog ()
(setq dcl_id (load_dialog "FORMLAR.dcl"))
(if (not (new_dialog "DUVAR" dcl_id))
(exit)
)
(set_tile "DUVAR_GEN" "20")
(set_tile "SIVA_GEN" "3")
(set_tile "DUVAR_YUK" "220")
(if (= durum 1)
(progn
(set_tile "U" "1")
)
)
(if (= durum 2)
(progn
(set_tile "O" "1")
)
)
(if (= durum 3)
(progn
(set_tile "A" "1")
)
)
(mode_tile "DUVAR_GEN" 2)
(action_tile
"U"
"(setq durum 1)"
)
(action_tile
"O"
"(setq durum 2)"
)
(action_tile
"A"
"(setq durum 3)"
)
(action_tile "help" "(yardim)")
(action_tile
"cancel"
"(done_dialog)"
)
(action_tile
"accept"
(strcat
"(progn (setq dg (atof (get_tile "DUVAR_GEN")))"
"(setq sk (atof (get_tile "SIVA_GEN")))"
"(setq md (atof (get_tile "DUVAR_YUK")))"
" (done_dialog)(setq userclick T))"
)
)
(start_dialog)
;(unload_dialog dcl_id)
)
(defun c:duvar ()
(command "thickness" "2.6")
(if (eq durum nil)
(setq durum 1)
)
(setvar "cmdecho" 0)
(setvar "blipmode" 0)
(setq cnt 0)
(setq nosmode (getvar "osmode"))
(if (eq userclick nil )
(dialog)
)
(while (eq (setq pt1 (getpoint "nduvarı çizmeye başlayınız: "))
nil
)
(dialog)
)
(setq pt2 (getpoint pt1 "ndevam ediniz: ")
stpt pt1
)
(setvar "osmode" 0)
(if (eq durum 1)
(setq d1 0
d2 dg
d3 (+ d1 sk)
d4 (+ sk d2)
)
)
(if (eq durum 2)
(setq d1 (/ dg 2.0)
d2 (/ dg 2.0)
d3 (+ d1 sk)
d4 (+ sk d2)
)
)
(if (eq durum 3)
(setq d1 (* dg 1)
d2 0
d3 (* (+ d2 sk) -1.0)
d4 (* (+ d1 sk) -1.0)
)
)
(setvar "highlight" 0)
(while (/= pt2 nil)
(command "_undo" "begin")
(setvar "blipmode" 0)
(setq a1 (angle pt1 pt2))
(setvar "osmode" 0)
(command "layer" "m" "duvar" "c" "red" "" "")
(command ".line"
(polar pt1 (+ a1 1.5707963) d1)
(polar pt2 (+ a1 1.5707963) d1)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l1a (entlast)
l1f l1a
)
(progn
(setq l1b l1a
l1a (entlast)
)
(intersect2line l1a l1b)
)
)
(command "layer" "m" "duvar" "c" "red" "" "")
(command ".line"
(polar pt1 (- a1 1.5707963) d2)
(polar pt2 (- a1 1.5707963) d2)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l2a (entlast)
l2f l2a
)
(progn
(setq l2b l2a
l2a (entlast)
)
(intersect2line l2a l2b)
)
)
(command "layer" "m" "siva" "c" "white" "" "")
(command ".line"
(polar pt1 (+ a1 1.5707963) d3)
(polar pt2 (+ a1 1.5707963) d3)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l1c (entlast)
l3f l1c
)
(progn
(setq l1d l1c
l1c (entlast)
)
(intersect2line l1c l1d)
)
)
(command "layer" "m" "siva" "c" "white" "" "")
(command ".line"
(polar pt1 (- a1 1.5707963) d4)
(polar pt2 (- a1 1.5707963) d4)
""
)
(command ".change" "l" "" "p" "t" md "")
(if (= cnt 0)
(setq l2c (entlast)
l4f l2c
)
(progn
(setq l2d l2c
l2c (entlast)
)
(intersect2line l2c l2d)
)
)
(command "layer" "m" "duvar" "c" "red" "" "")
(setvar "osmode" nosmode)
(command "_undo" "end")
(setq pt1 pt2
pt2 (getpoint pt1)
cnt (1+ cnt)
)
)
(initget "evet hayır")
(if (equal stpt pt1)
(progn
(setq yn (getkword "nduvar kapansin mi? (
(if (not et)
(setq et "evet")
(setq et (strcase et))
)
(if (= et "evet")
(progn
(intersect2line l1a l1f)
(intersect2line l2a l2f)
(intersect2line l1c l3f)
(intersect2line l2c l4f)
)
)
)
)
(command "thickness" "0.0")
(setvar "osmode" nosmode)
(setvar "blipmode" 0)
(setvar "highlight" 1)
(princ)
)
(defun reset ()
((princ) "nrestoring settings")
(setq *error* temperr)
(setvar "clayer" oldlayer)
(setvar "blipmode" 1)
(setvar "menuecho" 0)
(setvar "highlight" 1)
(setvar "blipmode" 1)
;(setvar "osmode" oldsnap)
(setvar "pickbox" oldpick)
(princ)
)
(defun yardim (/ yardim_kutusu cizgi veri_dosyasi dcl_id)
(if (= yardim_kutusu nil)
(progn
(setq cizgi "")
(setq veri_dosyasi (open (findfile "MK_HELP.txt") "r"))
(while (/= cizgi nil)
(setq cizgi (read-line veri_dosyasi))
(if (/= cizgi nil)
(setq yardim_kutusu (append yardim_kutusu (list cizgi)))
)
)
(close veri_dosyasi)
)
)
(setq dcl_id (load_dialog (findfile "FORMLAR.dcl")))
(if (not (new_dialog "sembol2" dcl_id ""))
(exit)
)
(start_list "listeler")
(mapcar 'add_list yardim_kutusu)
(end_list)
(action_tile "accept" "(done_dialog)")
(start_dialog)
(unload_dialog dcl_id)
)
;****************************************************************************
;BU BÖLÜM DUVAR DİALOG TABLOSU İÇİN (.DCL)
DUVAR : dialog {
label = "DUVAR";
: boxed_column {
label = "Duvar Ayarları";
: edit_box {
label = "Duvar GeniÅŸliÄŸi";
key = "DUVAR_GEN";
edit_width = 20;
fixed_height = true;
}
: edit_box {
label = "Sıva Kalınlığı";
key = "SIVA_GEN";
edit_width = 20;
fixed_height = true;
}
: edit_box {
label = "Duvar Yüksekliği";
key = "DUVAR_YUK";
edit_width = 20;
fixed_height = true;
}
: boxed_column {
label = "Duvar Yakalam Noktaları";
: row {
:radio_button {
key = "U";
label = "Ãœstten";
}
:radio_button {
key = "O";
label ="Ortadan";
}
:radio_button {
key = "A";
label = "Alttan";
}
}
}
}
ok_cancel_help ;
}
Yazar:
İçerik: LSP (lisp) formatında uygulaması
Tag:
Yorumlar :
admin 21.12.2019 06:55 #15988
Lisplerde komut defun c: ifadesinden sonra gelen yazı ya da kısaltmadır. Dolayısıyla bu lisp için komut duvar 'dır.
tahsinarslan 02.12.2019 02:18 #15985
bunların komutu nedir yazabilirseniz sevinirim
ramazanrg02 26.05.2018 13:28 #15887
bunun yerine ml enter komutunu kullanalım