07.02.2014 21:29    

ProhibiT
Kod:

;|***************************************************************************|;
;| hLx: Nonlineer Helix                                                      |;
;|      M. Şahin Güvercin (ProhibiT) - www.cizimokulu.com - 07.02.2014       |;
;|---------------------------------------------------------------------------|;
(defun c:hLx (/ Hei KoT L n Obj pT0 pTs PvT sLp sTe)
  (setvar "cmdecho" 0) (command "undo" "group") (vl-load-com)
  (setq Obj (vlax-ename->vla-object (car (entsel "\nSelect 3DPolyline: ")))
Hei (getreal "\nHeight: ")
sLp (/ Hei (vlax-get-property Obj 'Length))
pTs (vlax-safearray->list
              (variant-value (vlax-get-property Obj 'Coordinates)))
sTe (nth 2 pTs) L (length pTs) n -3)
  (while (< (setq n (+ n 3)) L)
    (setq PvT (list (nth n pTs) (nth (1+ n) pTs) (nth (+ 2 n) pTs))
  KoT (+ sTe (* sLp (vlax-curve-getDistAtPoint Obj PvT)))
          pT0 (append pT0 (list (nth n pTs) (nth (1+ n) pTs) KoT))))
  (setq PvT (vlax-vla-object->ename Obj) n -3)
  (while (/= "SEQEND"
             (cdr (assoc 0 (entget (setq n (+ n 3) PvT (entnext PvT))))))
    (setq PvT (entget PvT)
          PvT (subst
                (cons 10 (list (nth n pT0) (nth (1+ n) pTs) (nth (+ n 2) pT0)))
                (assoc 10 PvT) PvT) Pvt (entmod PvT)
          Pvt (entupd (cdr (assoc -1 PvT)))))
  (command "_.undo" "e") (princ))

Çember şeklinde spiral çizmek için AutoCAD HELIX komutunu kullanmak yeterli olacaktır.
Sabit bir eğimle devam eden fakat plandaki izdüşümü Line ve Arc'ların birleşmesinden oluşan karmaşık bir hattımız olduğunda, bu karmaşık yörünge boyunca sabit eğimle hareket eden bir 3DPOLYLINE elde etmek oldukça karmaşık bir işlemdir. Paylaştığım Lisp Fonksiyon bu işlemi tek hamlede halleder.

Öncelikle 3DPOLYLINE nesnemizi plan düzleminde (z koordinatlarını vermeden çiziyoruz). Sonra hLx fonksiyonunu çalıştırıp nesnemizin başlangıcı ile bitimi arasındaki kot farkını giriyoruz.

Ekseni karmaşık olan bir katı nesneyi LOFT kullanarak oluştururken PATH olarak kullanmak gerekti. Çok farklı amaçlarla kullanılabilir diye düşünüyorum.

Örnek Video -> 174410-hlx.avi

Videoyu kanalımızda izlemek için:

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

admin (10.04.2020 00:39 GMT)

07.02.2014 21:40    

Travaci
If there is a will, there is a way... :yes
Şu kitapta çıksa iyiydi hocam :D

08.02.2014 07:23    

ehya
Çok güzel bir lisp hocam.
Ellerinize, aklınıza sağlık...

08.02.2014 18:36    

ProhibiT
Teşekkür ederim Mehmet hocam :) Acil ihtiyaçtan yazılmış bir Lisp.

19.01.2015 16:45    

sahin460
harika olmuş emeğinize sağlık...

23.01.2015 18:32    

sahin460
pedit kısmında kısa bir anlatım yapabilirmisiniz hocam...

10.04.2020 00:39    

admin
Videoyu kanalımızda izlemek için:

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

> 1 <
Copyright © 2004-2022 SQL: 1.13 saniye - Sorgu: 59 - Ortalama: 0.01914 saniye