14.05.2012 07:37    

relaxer
Değerlı arkadaşlarım ve büyüklerim, kesişen birden fazla doğrunun kesişme noktalarına komut girildiğinde daire çizebilen bir lisp varmıdır acaba? Bana bu konuda yardımcı olabilirseniz çok memnun olurum.

Şimdiden teşekkürler.

14.05.2012 10:57    

Travaci
Şöyle birşey yapmıştım fakat teker teker seçtiriyor belki işine yarayabilir.

Kod:

(defun c:Ea ()                                                                     
    (while (= 0)
(setq e1 (car (entsel "\n1. Doğru:"))
e2 (car (entsel "\n2. Doğru:")))
(setq e1-10 (cdr (assoc 10 (entget e1)))
e1-11 (cdr (assoc 11 (entget e1)))
e2-10 (cdr (assoc 10 (entget e2)))
e2-11 (cdr (assoc 11 (entget e2))))
(setq kesisim (inters e1-10 e1-11 e2-10 e2-11))
(setq aci (angle e1-10 e1-11))
       (entmake (list
(cons 0 "CIRCLE")
(cons 100 "AcDbEntity")
(cons 67 0)
(cons 410 "Model")
(cons 100 "AcDbCircle")
(cons 62 1)
(cons 10 kesisim)
(cons 40 (* cap 45))
)
)
   
(princ)
)
)

14.05.2012 11:45    

ProhibiT
Seçilen tüm Line objelerini tek seferde işleme alır.
Kod:

;|-=========================================================================-|;
;| InCr: Intersection Circle                                                 |;
;|       Hayırlayan: M. Şahin Güvercin - www.autocadokulu.com                |;
;|-=========================================================================-|;
(defun C:InCr (/ Txh Lns m n o p)
  (setvar "cmdecho" 0)  (command "undo" "group") (vl-load-com)
  (princ "\nLine Objeleri seçiniz: ") (setq TxH (/ (getvar "TextSize") 2.0)
        Lns (ssget (list (cons 0 "Line"))) m (sslength Lns))
  (while (>= (setq m (1- m)) 1) (setq n m) (while (>= (setq p nil n (1- n)) 0)
      (if (not (minusp (vlax-safearray-get-u-bound
        (setq o (vlax-variant-value (vla-intersectwith  (vlax-ename->vla-object
                (ssname Lns m)) (vlax-ename->vla-object (ssname Lns n))
                        AcExtendNone))) 1))) (setq p (vlax-safearray->list o)))
      (if p (entmake (list (cons 0 "CircLe") (cons 10 p) (cons 40 TxH))))))
  (command "undo" "e") (prin1))

28.05.2012 12:17    

relaxer
Biraz gec oldu ama cok tesekkur ederim, cok isimi gordu. Ayrica sitede PCT diye bir lisp te buldum o da cok isimi gordu..

Saolun..

28.05.2012 12:32    

ProhibiT
Sitemizde epeyce Lisp fonksiyon paylaştık, ortamımızı biraz tanıyınca arayıp bulmak hiç te zor değil. Bunlardan PcT (Point Coordinate Table) benim favorilerimden biri. O kadar ilgi görgü ki, biri diğerinin yerini tutmaz 3 ayrı versiyonunu yazıldı. :)

16.05.2013 07:45    

2032223351
hocam bu kesisimlere nokta atmak icin nasil degisiklik yapmaliyiz ?

16.05.2013 08:11    

Travaci

16.05.2013 10:30    

2032223351
kendimde yapmistim daha yeni cons 0 i point yaptim sonra cons 40 i sildim oldu yazmayi unuttum ama yinede tesekkur ederim ilgilendigin icin +)

13.06.2015 08:49    

israfil çelik
ARKADAŞLAR BELLİ BİR SEÇİM BÖLGESİNDE KESİŞEN ÇİZGİLERİ KESİŞME NOKTASINDAN PARÇALAYACAK BİR LSP VARMI ACABA
YARDIMCI OLURSANIZ SEVİNİRİM.

13.06.2015 09:11    

ehya
israfil çelik






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

17.05.2020 19:15    

aslanv
Alıntı
ProhibiT :
(defun C:InCr (/ Txh Lns m n o p)
(


Prohibit hocam merhaba,
InCR lispinde örneğin karenin tüm köşelerine de circle atıyor. Bunun yerine sadece intersect olarka yani köşe kesişmesi değil de kesip geçmesi durumunda circle atan hali olabilir mi?
Aslında işin özünde asıl istediğim; çizim içerisinde yer alan hatchlerin birbiri üzerine geçmiş olanlarını bulmak. Bitişik parselleri düşünün, bir parselin yan parsele girdiğini keşfedebilmek için bir yöntem arıyorum. Bu ya çizgi kesişimi olarak ya da alan taralı ise hatch çakışması olarka tespit edebilmek?

> 1 <
Copyright © 2004-2022 SQL: 1.201 saniye - Sorgu: 76 - Ortalama: 0.0158 saniye