02.12.2016 08:10    

grapher
Sayın alumina malesef o söylediğinizi de kontrol ettim ve o da işe yaramadı. Biliyorum çok oluyorum ama lispin sizde çalışan versiyonunu .lsp uzantılı dosyayı yollayabilir misiniz? Onu deneyeyim bir de.

02.12.2016 08:29    

alumina
Alıntı
grapher :


Yine olmazsa uzaktan baglanip bakariz.

https://cizimokulu.com/datas/users/333661-pl-att.rar

02.12.2016 09:54    

grapher
Ya gerçekten Allah razı olsun bu çağda bu ilgi için teşekkürler. Gönderdiğiniz linkte sadece mp4 dosyası çıktı.

02.12.2016 13:59    

alumina

02.12.2016 14:27    

boldpilot70
bu lisp 100x100 mm olan bir kareyi 4.00 mt 1.00 m² olarak yazıyor

02.12.2016 14:45    

alumina
Alıntı
boldpilot70 :


Cizim birimi mm degil cm olacak sekilde yazildi. senin o kareyi 100x100cm olarak algiliyor.

02.12.2016 21:00    

grapher
Bu da olmadı sayın alumina ben teamviewer yükleyeyim o zaman.

02.12.2016 21:45    

alumina
Alıntı
grapher :


yukle bakalım.

03.12.2016 10:43    

grapher
Alıntı
alumina :
Alıntı
grapher :





Yükledim nasıl yapalım?

03.12.2016 11:07    

grapher
Sevgili çizim okulu forum üyeleri, yukarda talep ettiğim kod ile ilgili sayın alumina hocamın yoğun ilgileri sayesinde çözüme ulaştırdık.

Yaşadığım hata polylineların "kapalı" modda çizilmemesinden kaynaklanmaktaymış.

Alumina hocama teşekkür ediyorum tam olarak istediğim programı hayata geçirdiği için.

03.12.2016 12:55    

boldpilot70
Alıntı
alumina :
Alıntı
boldpilot70 :


Cizim birimi mm degil cm olacak sekilde yazildi. senin o kareyi 100x100cm olarak algiliyor.



çizim birimini lisp içerisinden nereden değiştirebiliriz.

03.12.2016 22:01    

alumina
Alıntı
boldpilot70 :


Bilmiyorum ki, bende bir yerlerden kopyalayip yapistirdim.

03.12.2016 22:12    

mttlp
Alıntı
alumina :
Alıntı
boldpilot70 :


Bilmiyorum ki, bende bir yerlerden kopyalayip yapistirdim.



Güzel cevap

30.12.2016 10:23    

astonish
autocad de netcad deki gibi guzergah uzerinde tıkladıgım yerin Km sini almak
İstiyorum nasıl yapabilirim

31.12.2016 23:20    

yazgunesi
Alıntı
astonish :
autocad de netcad deki gibi guzergah uzerinde tıkladıgım yerin Km sini almak
İstiyorum nasıl yapabilirim



Merhaba, teorik olarak nasıl olabilir onu izah edeyim. Toplam çizgi boyunu ölçeceksin hat üzerinde çizilmiş olan.

Bunun için polyline çizim objesinin boyunu ölçeceksin hat üzerinde çizilmiş olan. Polyline değil de line de olur fakat birden fazla çizgi ard arda seçilmesi gerekir. Hat çizgisi polyline olursa eğer tek bir tıklama ile toplam kilometre değerini bir defada öğrenirsin.

Bu konu hakkında çizgi boyunu ölçme ile ilgili örnek Autolisp program olması gerek sitemizde..

İnternet'ten bulduğum örnek linkleri paylaşıyorum :



Linkleri görebilmek için ÜYE olmalısınız.





Linkleri görebilmek için ÜYE olmalısınız.





Linkleri görebilmek için ÜYE olmalısınız.

yazgunesi (01.01.2017 05:21 GMT)

06.01.2017 06:56    

sesemba
Arkadaşlar selamlar.
Benim şu tarz bir lisp'e ihtiyacım var.


Çizgilerin kesişim noktasına istediğim blok dan yerleştirmesi lazım... yani bi aks sistemi çizeceğim , bu aks sistemini seçip kesişim noktalarına iç kolon bloğunu yerlşetir diyeceğim.Yardımcı olabilecek arkadaş varsa çok sevinirim.. Şimdiden alakanız için teşekkür ederim.

06.01.2017 09:35    

Travaci
sesemba


Daha önce sanırım lisp istekleri bölümünde yayınlanmıştı.

09.01.2017 13:10    

yazgunesi
Alıntı
sesemba :
Arkadaşlar selamlar.
Benim şu tarz bir lisp'e ihtiyacım var.


Çizgilerin kesişim noktasına istediğim blok dan yerleştirmesi lazım... yani bi aks sistemi çizeceğim , bu aks sistemini seçip kesişim noktalarına iç kolon bloğunu yerlşetir diyeceğim.Yardımcı olabilecek arkadaş varsa çok sevinirim.. Şimdiden alakanız için teşekkür ederim.



Merhaba,

Örnek program yaptım ölçü vererek direk çizim yaptırılması için. Block insert ederek çalışan program da ekledim.

Kod:

;;;;;;;;;;     kolon çizme programı        ;;;;;;;;;;;;;;;;

;; 4 köşe kolon çizme programı
;; İstenilen ölçüye göre merkezleme yapıp çizme

(defun c:4k (/ oldsnap yr1 kolon_eni kolon_boyu pt1 pt2 pt3 pt4)
 
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 32)

(setq  yr1 (getpoint "\n Çizdirmek için ekrana TıKLa ?! :"))
 
(setvar "osmode" 0)
 
(setq kolon_eni (getreal "\n Kolon Eni nedir ?: " ))
(setq kolon_boyu (getreal "\n Kolon Boyu nedir ?: " ))

(setq pt1 (list  (-(car yr1) (/ kolon_boyu 2)) (-(cadr yr1) ( / kolon_eni 2) )) )

(setq pt2 (list (car pt1) (+(cadr pt1) kolon_eni) ))
(setq pt3 (list (+(car pt2) kolon_boyu) (cadr pt2) ))
(setq pt4 (list (car pt3) (-(cadr pt3) kolon_eni) ))

(command "line" pt1 pt2 "" )
(command "line" pt2 pt3 "" )
(command "line" pt3 pt4 "" )
(command "line" pt4 pt1 "" )

(setvar "osmode" oldsnap)
(princ)
)

(princ "Komut ismi >> 4k  << dir...")


Kod:

;; 4 köşe kolon çizme programı
;; hazır ölçüden 300 x 300 ebatında çizdirme

(defun c:4k300 (/ oldsnap yr1 kolon_eni kolon_boyu pt1 pt2 pt3 pt4)
 
(setq oldsnap (getvar "osmode"))
(setvar "osmode" 32)

(setq  yr1 (getpoint "\n Çizdirmek için ekrana TıKLa ?! :"))
 
(setvar "osmode" 0)
 
(setq kolon_eni 300)
(setq kolon_boyu 300)

(setq pt1 (list  (-(car yr1) (/ kolon_boyu 2)) (-(cadr yr1) ( / kolon_eni 2) )) )

(setq pt2 (list (car pt1) (+(cadr pt1) kolon_eni) ))
(setq pt3 (list (+(car pt2) kolon_boyu) (cadr pt2) ))
(setq pt4 (list (car pt3) (-(cadr pt3) kolon_eni) ))
 
(command "line" pt1 pt2 "" )
(command "line" pt2 pt3 "" )
(command "line" pt3 pt4 "" )
(command "line" pt4 pt1 "" )
 
(setvar "osmode" oldsnap)
(princ)
)

(princ "Komut ismi >> 4k300  << dir...")


Block insert etme örneği :

Buradaki gözüken 400_kutu hakkında bilgi ; block ismi ve çizim ismi ''400_kutu'' olarak kaydedildi.
İnsert edilecek çizim suport file serch path altında olması gerek. Herhangi bir dizin sormadan direk block ismine göre çizime block ekleniyor. Komut ismini 400kt olarak tanımladım.


Kod:

(defun c:400kt (/ oldsnap yr1  )

(setq oldsnap (getvar "osmode"))
(setvar "osmode" 32) ;; sadece keşim noktası olarak gör..

(setq  yr1 (getpoint "\n Ekrana TıKLa Block İçin !? :"))
(command "insert" "400_kutu" yr1 ""  "" "" )

(setvar "osmode" oldsnap)
(princ)
)


Aynı block'tan bir değil de 4 farklı noktaya aynısını yerleştirelim.

Kod:

(defun c:400kt4 (/ oldsnap yr1 yr2 yr3 yr4  )

(setq oldsnap (getvar "osmode"))
(setvar "osmode" 32) ;; sadece keşim noktası olarak gör..

(setq  yr1 (getpoint "\n Ekrana TıKLa 1. Nokta İçin !? :"))
(setq  yr2 (getpoint "\n Ekrana TıKLa 2. Nokta İçin !? :"))
(setq  yr3 (getpoint "\n Ekrana TıKLa 3. Nokta İçin !? :"))
(setq  yr4 (getpoint "\n Ekrana TıKLa 4. Nokta İçin !? :"))

(command "insert" "400_kutu"  yr1 ""  "" "" )
(command "insert" "400_kutu"  yr2 ""  "" "" )
(command "insert" "400_kutu"  yr3 ""  "" "" )
(command "insert" "400_kutu"  yr4 ""  "" "" )

(setvar "osmode" oldsnap)
(princ)
)


İki farklı block iki farklı noktaya konulsun. Birinci block 300 lük kutu, ikinci block 400 lük kutu.
Not: Blocklar isim olarak çağrılıyor, dolayısıyla suport file search pathta klasör dizini tanıtılmış olması gerek..


Kod:

(defun c:4k3k (/ oldsnap yr1 yr2  )

(setq oldsnap (getvar "osmode"))
(setvar "osmode" 32) ;; sadece keşim noktası olarak gör..

(setq  yr1 (getpoint "\n Birinci block için tıkla ekrana !? :"))
(setq  yr2 (getpoint "\n İkinci block nerede olsun !? :"))

(command "insert" "300_kutu"  yr1 ""  "" "" )
(command "insert" "400_kutu"  yr2 ""  "" "" )

(setvar "osmode" oldsnap)
(princ)
)

yazgunesi (09.01.2017 15:01 GMT)

10.01.2017 06:54    

alumina
Alıntı
sesemba :



Secilen line nesnelerinin kesisim noktalarina adi girilen blogu insert eder.
Kod:

(defun c:bn (/ n ss ns bn dc i lk ls m) (vl-load-com)
  (if (setq n -1 ss (ssget '((0 . "line"))))
    (if (/= (setq bn (getstring T "\nBlock name:")) "")
      (if (tblobjname "block" bn)
        (progn
          (vla-startundomark (setq dc (vla-get-activedocument (vlax-get-acad-object))))
          (repeat (1- (sslength ss))
            (setq ns (vlax-ename->vla-object (ssname ss (setq n (1+ n)))) i n)
            (repeat (- (sslength ss) 1 i)
              (if (not (minusp (vlax-safearray-get-u-bound (setq lk (vlax-variant-value
                  (vla-Intersectwith ns (vlax-ename->vla-object (ssname ss
                    (setq i (1+ i)))) 0))) 1)))
                (if (not (member (setq m (vlax-safearray->list lk)) ls))
                  (progn (setq ls (cons m ls))
                    (vla-InsertBlock (vla-get-modelspace dc) (vlax-3d-point m)
                      bn 1 1 1 0)))))
          ) (vla-endundomark dc)
        ) (alert (strcat "ERROR\n" """ bn """ " was not found"))
      )
    )
  ) (prin1)
)

11.01.2017 14:16    

sesemba
Alakanız için Teşekkürler arkadaşlar.
TAhmin etmediğim kadar iyi sonuç aldım saolun.. Son kombinasyonda rotate yapma ihtimalimiz var mı ? yani 40x20mm kutu profil bloğunu bazen dikine bazen yatayına kullanmam gerekiyo.. acaba yerleştirmeden önce rotate sorsa..default olarak '0' gelse lazım olmayınca enterle geçsek,ama çevirmek gerekirse açı girsek...
Yardımlarınız için tekrar teşekkür ederim.

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] > 74 < [75] [80] [85] [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.582 saniye - Sorgu: 99 - Ortalama: 0.01598 saniye