ADeko Technologies
http://www.adeko.com/phpBB3/

3dpoly
http://www.adeko.com/phpBB3/viewtopic.php?f=7&t=1298
1. sayfa (Toplam 1 sayfa)

Yazar:  ressam [ 11 Kas 2004 21:04 ]
Mesaj Başlığı:  3dpoly

Merhaba
3dpoly olan nesnelerin vertex koordinatlarını lisp yazarak bulabilirmiyim. Yardımcı olursanız sevinirim.

Yazar:  Destek/Support [ 12 Kas 2004 18:57 ]
Mesaj Başlığı: 

Aşağıdaki kod seçilen 3DPOLY veya POLYFACE nesnesinin vertexlerini numaralandırarak ekran basar ve text ekranına da koordinatlarını yazar:
<hr noshade size="1">
[code]
(defun c:vno (/ msh vnxt vtxData vtxTip i)
(setvar "CMDECHO" 0)
(setvar "OSMODE" 0)
(setvar "BLIPMODE" 0)
(if (zerop (cdr (assoc 40 (tblsearch "STYLE" "STANDARD"))))
(command "_-STYLE" "STANDARD" "" 0.5 "" "" "" "" "") <font color="green">;Yazı yüksekliği öndeğeri 0.5'dir (değiştirebilirsiniz)</font id="green">
)

(setq msh (car (entsel "\nPolyface veya 3dpoly nesnesini gösterin: ")))

(setq i 1)
(setq vnxt (entnext msh)) <font color="green">;İlk vertexi al</font id="green">
(setq vtxData (entget vnxt)) <font color="green">;Vertex datasını çek</font id="green">
(setq vtxTip (cdr (assoc 70 vtxData))) <font color="green">;Vertex tipini öğren</font id="green">

(while (or (equal 192 vtxTip) (equal 32 vtxTip)) <font color="green">;Bu aradığmız vertex ise işlemlere devam et</font id="green">
(command "_.text" "_j" "_m" <font color="green">;Vertex nosunu vertexi ortalayarak ekrana bas</font id="green">
(trans (setq pt (cdr (assoc 10 vtxData))) 0 1)
0
(rtos i 2 0)
)
<font color="green">;Koordinatları yazı ekranına bas</font id="green">
(princ (strcat "\n#" (rtos i 2 0) "= " (rtos (car pt) 2 1) "," (rtos (cadr pt) 2 1) "," (rtos (caddr pt) 2 1)))
(setq i (1+ i))
(setq vnxt (entnext vnxt)) <font color="green">;Bir sonraki vertexi al</font id="green">
(setq vtxData (entget vnxt)) <font color="green">;Vertex datasını çek</font id="green">
(setq vtxTip (cdr (assoc 70 vtxData))) <font color="green">;Vertex tipini öğren</font id="green">
)
(princ)
)
[/code]
<hr noshade size="1">
Not: Sadelik adına hata kontrolleri ve verimlilik dikkate alınmamıştır.

Yazar:  ressam [ 13 Kas 2004 02:38 ]
Mesaj Başlığı: 

verilen örnek lisp için teşekkür ederim..
İyi çalışmalar

1. sayfa (Toplam 1 sayfa) Tüm zamanlar UTC + 2 saat [ GITZ ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/