* E Posta Adresiniz:
* Kodu Girin:

İleti Yazar
02.04.2010 08:11
56541    
Harbi65

[10] Üstad

Online Durumu

428 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

ProhibiT hocam eline sağlık.
Maşallah yine çözüm üretmişsiniz...

Aynı yöntemle bende kafa yormuştum ama entlast sorununu çözememiştim. Bu konuda banada örnek oldu... Teşekkürler.
Ancak bu List konusu kafamı karıştırdı...

02.04.2010 08:25
56542    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Teşekkür ederim Harbi65 hocam

entsel ile obje seçtiğimizde; bilindiği gibi (<Entity name> (x,y,z)) şeklinde dönüyor.
Çoğu yerde de entget ile kullanırken ikinci parametre olarak dönen noktadan kurtulmak için; (entget (car (entsel kullanıyoruz.

DimArc komutunu kullanırken de, hem Entity Name hem de o seçim noktasını (Pick Point) istiyor. Geçici olarak çizdirdiğimiz Arc'ın Entity Name'i ile birlikte daha önce seçtiğimiz ortasındaki noktalist ile birleştiriyoruz. Tıpkı entsel ile obje seçmiş gibi komut parametresi olarak kullanıyoruz.

Kolay Gelsin...

Where there is a will, there is a way... Beğenmek için anlamak lazım...

02.04.2010 13:15
56550    
ehya

[90] Yönetici

Online Durumu

3292 ileti
Teknik Ressam
Ankara

Alıntı
mttlp :
arkadas neden bırsey yazamıyorsunz




tavsiye istemişsin. kimse cevap yazmamış.. eee normal bu. konu autolisp istek sayfası.. mesaj yazarken konu başlığına dikkat etseniz bizlerinde gereksiz ve yanlış mesajları temizleme zulmüne bırakmazsınız..

ayrıca şimdi gördüm kapı pencere lispi istemişsin.. sitede zaten kapı pencere lispi var.. ama onu kabul etmemişsin. eee daha ne diyeyim.. o zaman ücreti mukabilinde özel lispler sitemizde birkaç üye tarafından yazılır.

03.04.2010 07:52
56563    
halilozcakir

[10] Üstad

Online Durumu

554 ileti
Mekanik Teknik Ressam /Teniker
İstanbul

normal plan görünüşü izometrik görmek istiyorsak sw görünüm yeter. oradan da ucs yi değiştirdinmi pratik hallolur.

03.04.2010 11:38
56573    
oğlak

[3] Kıdemli Girişimci

Online Durumu

33 ileti
Ziraat Mühendisi
İstanbul

South West İzometrik görünüş yani. ama senin istediğin bu değil galiba. Onları tek tek çizmek kaderinmiş kabul et

Autocad bir derya biz minik balıklarız...

11.04.2010 07:03
56751    
ferdierken

[2] Girişimci

Online Durumu

1 ileti
inş.tek.
muscat

*Excel'den AutoCAD'e ve AutoCAD'den de Excel'e Layer'lari aktarabilen bir Lisp.
*AutoCAD'deki tum bu Layer ozelliklarini degistirebilen bir Lisp.
*Ve Ornek TABLO-1 deki Layer'lari TABLO-2 deki Layer'larla degistirebilen bir Lisp ariyorum.

NOT: Drawing'lerde Layer adedi cok fazla oldugu icin bunlari hizli bir sekilde degistirmek istiyorum. Asagida verilen Layer'lar sadece cok az bir kismidir.
Bu konuda yardimci olabilecek arkadaslara simdiden tesekkurler.

TABLO-1
Layer Name Color Linetype Plotstyles Description
A-ANNO-ARRW red Continuous Color_1 Architectural-Annotation-Arrow
A-ANNO-TABL-01 red Continuous Color_1 Architectural-Annotation-Data tables
A-ANNO-TABL-02 yellow Continuous Color_2 Architectural-Annotation-Data tables
A-ANNO-TITL yellow Continuous Color_2 Architectural-Annotation-Drawing or detail titles
A-FLOR-DPM red STIPLET04 Color_1 Architectural-Floor - DPC/DPM
A-CLNG-HDDN red STIPLET2 Color_1 Architectural-Ceiling - Hidden
A-COLS-CLDG cyan Continuous Color_4 Architectural-Columns-Cladding
A-COLS-HDDN red STIPLET2 Color_1 Architectural-Columns-Hidden
A-COLS-STEL cyan Continuous Color_4 Architectural-Columns-Steel


TABLO-2
Layer Name Color Linetype Plotstyles Description
ARXX-ANNO-ARRW-1 red Continuous Color_1 Architectural-Annotation-Arrow-1
ARAG-ANNO-TABL-1 red Continuous Color_1 Architectural-Annotation-Data tables-1
ARAG-ANNO-TABL-2 yellow Continuous Color_2 Architectural-Annotation-Data tables-2
ARXX-ANNO-TITL yellow Continuous Color_2 Architectural-Annotation-Drawing or detail titles
ARAO-FLOR-DPCM red STIPLET04 Color_1 Architectural-Floor: DPC/DPM
ARAF-CLNG-HDDN red STIPLET04 Color_1 Architectural-Finishes-Ceiling - Hidden
ARAT-COLS-CLDG cyan Continuous Color_4 Architectural Columns: cladding
ARAT-COLS-HDDN red STIPLET02 Color_1 Architectural Columns: hidden
ARAT-COLS-STEL white Continuous Color_7 Architectural-Columns: steel

12.04.2010 15:36
56781    
sirin35

[1] Yeni üye

Online Durumu

7 ileti
Elektrik Mühendisi
izmir

Mrb arkadaşlar lisp ile tanışalı iki hafta oldu ve çizimlerimi hızlandırmak için kendim lisp yazmaya karar verdim yazdığım lispte bir yerde takıldım biliyorum ki yapmaya çalıştığım şeyi yazsam hemen yaparsınız ama ben sadece takıldığım yeri yazmak istiyorum şöyle ki; KOORDİNATLARINI BİLDİĞİM İKİ NOKTANIN ORTA NOKTASININ KOORDİNATLARINI bulmam lazım bunu da çözersek işlemi bitirebilirim. bitirince asıl amacımı yazacağım ve ilk lispimde ne kadar saçmalamışım onu göreceğim

12.04.2010 16:16
56782    
Harbi65

[10] Üstad

Online Durumu

428 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

(setq p1 (getpoint "birinci nokta") ;örnek iki nokta.
p2 (getpoint "ikinci nokta"))
(setq mesafe (distance p1 p2)) ;iki noktanın mesafesini hesaplattık.
(setq ortanokta (polar p1 (angle p1 p2) (/ mesafe 2))) ; iki noktanın açısında ilk noktadan mesafenin yarısı kadar giderek orta noktayı bulmuş olduk...

13.04.2010 12:24
56812    
sirin35

[1] Yeni üye

Online Durumu

7 ileti
Elektrik Mühendisi
izmir

Çok Teşekkür ettim ii iş gördü lisp bitti. Ama küçük bi sorun var komutu bi kaç kez ard arda uygulayınca kafayı yiyor sonuçlar birbirine giriyor neden olabilir

13.04.2010 14:02
56815    
Harbi65

[10] Üstad

Online Durumu

428 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Alıntı
sirin35 :
Çok Teşekkür ettim ii iş gördü lisp bitti. Ama küçük bi sorun var komutu bi kaç kez ard arda uygulayınca kafayı yiyor sonuçlar birbirine giriyor neden olabilir



Ne yazdığınızı görmeden, ne işlem yaptığını bilmeden küçük dediğiniz sorunun kaynağını nasıl bilebiliriz ki..!

13.04.2010 16:46
56817    
sirin35

[1] Yeni üye

Online Durumu

7 ileti
Elektrik Mühendisi
izmir

Haklısınız. Kodu buraya kopyalıyorum
Kod:

(defun c:qqq ()
  (setq sec (entsel "\nDikdörtgen seç"))
  (setq nokta_sayisi (cdr (assoc 90 (entget (car sec)))))
  (setq data (entget (car sec)))
  (setq yeni_list '())
  (repeat nokta_sayisi
    (setq list_1 (assoc 10 data))
    (setq yeni_list (cons (cdr list_1) yeni_list))
    (setq data (cdr (member list_1 data)))
  )

  (setq mesafe (distance (nth 0 yeni_list) (nth 2 yeni_list)))
  (setq lamba1
(polar (nth 0 yeni_list)
(angle (nth 0 yeni_list) (nth 2 yeni_list))
(/ mesafe 2)
)
  )

  (setq lamba2
(polar lamba1
(angtof "180")
(/ (distance (nth 2 yeni_list) (nth 3 yeni_list)) 4)
)
  )
  (setq lamba3
(polar lamba1
(angtof "0")
(/ (distance (nth 2 yeni_list) (nth 3 yeni_list)) 4)
)
  )

  (setq lamba4
(polar lamba1
(angtof "90")
(/ (distance (nth 1 yeni_list) (nth 2 yeni_list)) 4)
)
  )
  (setq lamba5
(polar lamba1
(angtof "270")
(/ (distance (nth 1 yeni_list) (nth 2 yeni_list)) 4)
)
  )


  (setq say (getint "\n Lamba Sayısını Giriniz:"))
  (if (= 1 say)
    (command "._circle" lamba1 10)
  )
  (if (= 2 say)
    (setq secim
   (getint
     "\n Yatay Yerleşim İçin 1 Dikey Yerleşim İçin 2 yi Seçin:"
   )
    )
  )
  (if (= 1 secim)
    ((command "._circle" lamba2 10)
      (command "._circle" lamba3 10)
    )
  )
  (if (= 2 secim)
    ((command "._circle" lamba4 10)
      (command "._circle" lamba5 10)
    )
  )
  (if (= 3 say)
    (setq dikyat
   (getint
     "\n Yatay Yerleşim İçin 1 Dikey Yerleşim İçin 2 yi Seçin:"
   )
    )
  )
  (if (= 1 dikyat)
    ((command "._circle" lamba1 10)
      (command "._circle" lamba2 10)
      (command "._circle" lamba3 10)
    )
  )
  (if (= 2 dikyat)
    ((command "._circle" lamba1 10)
      (command "._circle" lamba4 10)
      (command "._circle" lamba5 10)
    )
  )

  (if (= 4 say)
    ((command "._circle" lamba5 10)
      (command "._circle" lamba2 10)
      (command "._circle" lamba3 10)
      (command "._circle" lamba4 10)
    )
  )

  (if (= 5 say)
    ((command "._circle" lamba1 10)
      (command "._circle" lamba2 10)
      (command "._circle" lamba3 10)
      (command "._circle" lamba4 10)
      (command "._circle" lamba5 10)
    )
  )
  (if (< 5 say)
    (alert "\n 5 den Büyük Rakam Girmeyiniz")
  )

  (princ)
)


Şimdi bu kodu biraz daha sadeleştirdim ama aynı sorun yine var. autocad i ilk açtığımda sorunsuz çalışıyor. bi süre sonra; örneğin lamba sayısını 3 giriyorum ama ikinci soruyu sormadan düzleme iki tane atıveriyor. veya lamba sayısını 1 giriyorum düzleme üç tane atıyor. autocad i kapatıp tekrar açınca yine başta düzgün çalışıyor ama sonra yine aynı şey oluyor. Bilmem anlatabildim mi?

14.04.2010 07:45
56824    
Harbi65

[10] Üstad

Online Durumu

428 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Çalışır halde düzenledim. Bu haliyle işinizi görür.
Çoklu seçeneklerde if yerine cond kullanın...

Kod:

(defun c:qqq ()
  (setvar "CMDECHO" 0)
  (setq sec (entsel "\n Dikdörtgen seç"))
  (setq nokta_sayisi (cdr (assoc 90 (entget (car sec)))))
  (setq data (entget (car sec)))
  (setq yeni_list '())
  (repeat nokta_sayisi
    (setq list_1 (assoc 10 data))
    (setq yeni_list (cons (cdr list_1) yeni_list))
    (setq data (cdr (member list_1 data)))
  )

  (setq mesafe (distance (nth 0 yeni_list) (nth 2 yeni_list)))
  (setq lamba1 (polar (nth 0 yeni_list) (angle (nth 0 yeni_list) (nth 2 yeni_list)) (/ mesafe 2)))
  (setq lamba2 (polar lamba1 (angtof "180") (/ (distance (nth 2 yeni_list) (nth 3 yeni_list)) 4)))
  (setq lamba3 (polar lamba1 (angtof "0") (/ (distance (nth 2 yeni_list) (nth 3 yeni_list)) 4)))
  (setq lamba4 (polar lamba1 (angtof "90") (/ (distance (nth 1 yeni_list) (nth 2 yeni_list)) 4)))
  (setq lamba5 (polar lamba1 (angtof "270") (/ (distance (nth 1 yeni_list) (nth 2 yeni_list)) 4)))

  (setq say (getint "\n Lamba Sayısını Giriniz <1-5>: "))

  (cond
    ((= 1 say)
     (command "._circle" lamba1 10)
     )
    ((= 2 say)
     (initget "Y D" 1)
     (setq secim (getkword "\n Yerleşim Şekşi [Yatay/Dikey]:"))
     (cond
       ((= secim "Y")
(command "._circle" lamba2 10)
(command "._circle" lamba3 10)
)
       ((= secim "D")
(command "._circle" lamba4 10)
(command "._circle" lamba5 10)
)
       )
     )
    ((= 3 say)
     (initget "Y D" 1)
     (setq dikyat (getkword "\n Yerleşim Şekşi [Yatay/Dikey]:"))
     (cond
       ((= dikyat "Y")
(command "._circle" lamba1 10)
(command "._circle" lamba2 10)
(command "._circle" lamba3 10)
)
       ((= dikyat "D")
(command "._circle" lamba1 10)
(command "._circle" lamba4 10)
(command "._circle" lamba5 10)
)
       )
     )

    ((= 4 say)
     (command "._circle" lamba5 10)
     (command "._circle" lamba2 10)
     (command "._circle" lamba3 10)
     (command "._circle" lamba4 10)
     )
    ((= 5 say)
     (command "._circle" lamba1 10)
     (command "._circle" lamba2 10)
     (command "._circle" lamba3 10)
     (command "._circle" lamba4 10)
     (command "._circle" lamba5 10)
     )
    ((< 5 say)
     (alert "\n 5 den Büyük Rakam Girmeyiniz")
     )
    )
  (setvar "CMDECHO" 1)
  (princ)
)

14.04.2010 23:09
56843    
sirin35

[1] Yeni üye

Online Durumu

7 ileti
Elektrik Mühendisi
izmir

Teşekkür ederim hocam çözüm olmuştur muhakkak henüz denemedim ama amacım öğrenmek olduğundan, size ilettiğim problemin kaynağı cond kullanmamam mı yoksa setvar komutu ile eklediğiniz şeyin olmamasından mı? birde cmdecho nedir öğrenebilir miyim? Birde lisp ile insert ettiğim bi bloğu mouse nin ucuna değil, koordinatları belli bi noktaya çıkarabilir miyim

sirin35 (16.04.2010 07:08 GMT)

23.04.2010 04:47
57006    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Merhaba,
Fonksiyonun tamamını inceleyemedim. Ama, iki noktanın ortasını bulurken;
Kod:

(setq p1 (getpoint "birinci nokta")
      p2 (getpoint "ikinci nokta")
      on (list (/ (+ (car p1) (car p2)) 2)
               (/ (+ (cadr p1) (cadr p2)) 2)
               (/ (+ (caddr p1) (caddr p2)) 2)))
şeklinde X, Y ve Z koordinatlarının ortalama değerlerini listeleyerek yeni nokta tanımlarsak daha genel amaçlı bir kod yazmış oluruz. isteğe bağlı olarak Z değerini de işleme katarsak, p1 ve p2 noktalarının farklı düzlemlerde olması durumunda da orta noktayı 3B olarak bulabiliriz.

Orta nokta bulmak için farklı sayılabilecek bir yöntem;
Kod:

(setq p1 (getpoint "birinci nokta")
      p2 (getpoint "ikinci nokta")
      on (mapcar '(lambda (n1 n2) (/ (+ n1 n2) 2.0)) p1 p2))


Daha da abartırsak;
Kod:

(setq on (mapcar '(lambda (n1 n2) (/ (+ n1 n2) 2.0)) (getpoint "birinci nokta") (getpoint "ikinci nokta")))


Kolay Gelsin...

ProhibiT (29.09.2012 07:37 GMT)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

27.04.2010 08:22
57077    
cezopp

[1] Yeni üye

Online Durumu

1 ileti
harita mühendisi
alkalaki

herkese selam.öncelikle bu siteyi kuranlara teşekkürü borç biliyorum.elinize sağlık...
elimde mevcut bir yol güzergahı var.fakat yol projesine ait başka bir döküman, bilgi vs yok.bana bu güzergah (aliynman ve kurplar) üzerinde başlangıç km sinden itibaren sabit aralıklarla eksen üzerine nokta atan ve bu noktalar üzerinden eksene dik genişliğini kendimin belirleyeceği uzunlukta sağa ve sola çizgiler atan bir lisp varmı elinizde yada yardımcı olabilirmisiniz...şimdiden teşekkürler..

okudumda karmaşık olmuş biraz.daha acık yazayım mesela güzergah aks ı üzerinde her 10m(20 de olabilir) de bir güzergaha dik sağa ve sola genişliği 6m (10 da olabilir) olan çizgiler atmak istiyorum.aksa dik olması şart.yani hem aliynmanda hemde virajlarda...saygılarımla

27.04.2010 09:16
57078    
ProhibiT

[80] Yetkili

Online Durumu

1469 ileti
İnşaat Mühendisi
Ankara

Merhaba,

Bahsettiğiniz enkesit çizgilerinin kestikleri münhanilerin kotunu alıp enkesit de çizilmeyecekse...
Ya da yol ekseninin kestiği münhanilerin kotlarını alıp profil çizilmeyecekse...
Bahsettiğiniz işi yapmak için AutoLisp yazmaya gerek yok;
Temel AutoCAD komutlarıyla kolay ve seri olarak yapabilirsiniz.

Yol güzergahını tanımlayan yol eksenini PolyLine yapın.
6 (ya da 10) m uzunluğunda Y eksenine paralel (90 derece) tek çizgiden oluşan bir block yapın, insertion point çizginin mid pointi olsun.
Komut satırından MEASURE girin Yol Eksen çizgisini (polylin) seçin.
Specify length of segment or [Block]: mesajına "b" girin,
Enter name of block to insert: oluşturduğunuz block adını yazın
Align block with object? [Yes/No] Mesajına "y" girin.
Specify length of segment: 10 ya da 20 girin.

Kolay gelsin...

ProhibiT (29.04.2010 06:24 GMT)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

04.05.2010 12:18
57238    
ehya

[90] Yönetici

Online Durumu

3292 ileti
Teknik Ressam
Ankara

zetacad'in autolisp desteği varsa lispler çalışır.
eğer lisp yoksa yapabilecek birşey yok.

05.05.2010 06:32
57261    
ehya

[90] Yönetici

Online Durumu

3292 ileti
Teknik Ressam
Ankara

yanlış anlamışım..

zetacad kullanmadığım için nasıl bir mimari yorum yapamıyorum.
Ama şuana kadar o kadar çok lisp gördüm ki, onları gördükten sonra yazılamaz diye birşey yok...

20.05.2010 19:26
57556    
ozandurmus

[2] Girişimci

Online Durumu

4 ileti
Teknik Ressam
St. Petersburg

arkadaşlar bana bi lisp lazım şöleki ardarda gelen çizgiler arasına ölçü atan bi lisp istiyorum uygun olan arkadaşlardan

21.05.2010 07:43
57557    
halilozcakir

[10] Üstad

Online Durumu

554 ileti
Mekanik Teknik Ressam /Teniker
İstanbul

Alıntı
ozandurmus :
arkadaşlar bana bi lisp lazım şöleki ardarda gelen çizgiler arasına ölçü atan bi lisp istiyorum uygun olan arkadaşlardan



bu ölçülendirmeyi qdim komutu yapıyor..

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] > 14 < [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [91] Sonraki Sayfa
Copyright © 2004-2019 | Tüm Hakları Saklıdır | 2439 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam | İletişim