AUTOCAD 2015
%30 İndirimli

SOLIDWORKS 2014
%30 İndirimli

V-RAY
%26 İndirimli
 Üye Ol 
Ücretsiz Kullanıcı Adı Şifre Beni Hatırla Şifremi unuttum
Online
Eski Galeri  

3d polyline'ı 2d polyline'a çeviren lisp

3d polyline'ı 2d polyline'a çeviren lisp, 3d pline to 2d pline, pline converter, pline dönüştürme
admin - 10.10.2006 12:54

Yazar:
Kaynak: LSP formatında AutoLISP dosyası

(Takip ettiğiniz sayfalar Kontrol Panelinizde görünür)

3d polyline'ı 2d polyline'a çeviren lisp.

Üreticinin açıklaması:

freecadapps.com
Description: Convert 3d polyline to 2d polyline

Convert 2d polyline, 3dface, line, arc, & circle to 3d polyline

1. Join 3Dpoly's (ends should meet).

2. If you accidently pick a 3DPoly, it is just drawn over again.

3. The Join function will replace the two 3DPolys with a single 3dPoly.

4. The Change function will just draw over the existing entity.

5. For a mesh , first explode it into faces, then change to 3dpoly(s).

6. Resolution will control smoothnes of curves, also make various shapes
such as... 6 = hex, 3 = triangle, 4 = square, etc....



Bu lisp www.freecadapps.com kaynağından alınmış ve halka açık olduğu için paylaşım amacıyla sayfaya eklenmiştir.

Buraya tıklayarak açılan pencereden AutoLISP kodlarını Ctrl + C ile kopyalayabilirsiniz

Kod: (Seç)

;Convert 3d polyline to 2d polyline
;..............................................................................
(defun c:p3p2 (/ eg cl en e nc fp pt)
(princ "n[Change 3D Polyline to 2D Polyline.]")
(setq e  (entsel "  Select a 3DPoly: ")          ; get the header data
       en (car e)
       cl (if(=(cdr(assoc 70(entget en)))1)1)             ; closed flag 1=yes
       p1 (cdr(assoc 10(entget(entnext en))))
       p2 (cdr(assoc 10(entget(entnext(entnext en)))))
)
(command "ucs" "3" p1 p2 "")
(setq fp (trans p1 0 1))                                  ; save first point
;       en (entnext en))                                   ; leave header
(setvar "blipmode" 0)
(command "pline")
(command fp)                                             ; id first vertex
(while (/=(cdr(assoc 0(setq eg(entget(setq en(entnext en))))))"SEQEND")
  (setq pt (trans(cdr(assoc 10 eg))0 1))
  (if pt (command pt))
  (if (and (not pt) cl)(command fp))
);endwhile
(command "")
(command "ucs" "w")
(setvar "blipmode" 1)
(princ)
);end C:P3P2
(princ)(PRINC " --> 'www.autocadokulu.com' Çizim yardımları yüklendi !")

Bu kodları nasıl kullanacağınızı bilmiyorsanız aşağıdaki linkten;
AutoLISP > Konu Anlatımları > Lisp Dosyalarının oluşturulması ve Yüklenmesi
konusunu inceleyiniz.


Değerlendirme: 0     Yorumlar: (1)
Yorumlar :
sibel_colak   05.01.2009 16:57 #10080  

Ben bu kodu kendimce geliştirdim..

Kodda tek seçim yapılıyordu düzenlemiş olduğum kodda birden fazla 3d polyline seçilip polyline yapılıyor.

Paylaşmak istedim...

(defun c:p3p ()
(princ "n[Change 3D Polyline to Polyline.]")


(setq index 0)
(setq e(ssget))
(setq sayac (sslength e))
( repeat sayac


(setq en (ssname e index)
cl (if(=(cdr(assoc 70(entget en)))1)1) ; closed flag 1=yes
p1 (cdr(assoc 10(entget(entnext en))))
p2 (cdr(assoc 10(entget(entnext(entnext en)))))
)
(command "ucs" "3" p1 p2 "")
(setq fp (trans p1 0 1)) ; save first point

(setvar "blipmode" 0)
(command "pline")
(command fp) ; id first vertex
(while (/=(cdr(assoc 0(setq eg(entget(setq en(entnext en))))))"SEQEND")
(setq pt (trans(cdr(assoc 10 eg))0 1))
(if pt (command pt))
(if (and (not pt) cl)(command fp))
);endwhile
(command "")
(command "ucs" "w")
(setvar "blipmode" 1)

(setq index(+ index 1))
)
(princ)
);end C:P3P

Copyright © 2004-2014 | Tüm Hakları Saklıdır | 232 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam
AKPINAR Eğitim ve Yazılım Merkezi