06.07.2011 12:49    

k005
Merhabalar..

area komutu ile belirli bir alanı hesapladıktan sonra bu alanı oluşturan köşe noktalarını bir listeye nasıl oluşturabiliriz..? listeden kastım, lisp içersinde bir listede tutmak. daha sonra gerekli olanları oradan alacağım.. nth ile..

yardımcı arkadaşlar şimdiden teşekkürler..

herkese kolay gelsin...

k005 (06.07.2011 12:55 GMT)

06.07.2011 12:56    

ehya
Bunu yapmak için öncelikle nasıl kullanacağını belirlemen gerekir. yani istediğini kullanmak isterken, listeden istediğini nasıl belirleyeceksin? belirlediğinin senin istediğinin olduğunu nasıl anlayacaksın?
burada alan mı öncelikli, yoksa koordinatlar mı? yoksa bunlara birer isim vermek daha mı doğru?

06.07.2011 13:10    

k005
Koordinatlar öncelikli.. alanları oluşturdum, ve bir listede topladım.. alanları belirlerkende çizim içinden tek tek kontrol ettim. ve ona görede nth ile bir değişkene atama yaptım.. aynı işlem koordinatlar içinde olabilirmi acaba.. koordinatlar listelenirse hangisi olduğunu bulabilirim. zaten çok fazla köşesi olmayan 3 alanım var.. diğerleri için köşe noktalarına ihtiyacım. yok..

06.07.2011 13:39    

ehya
Aşağıdaki kodlamada seçim için daratma yapmaadım. tüm nesneleri seçer. bunu alanı hesaplanan şekilde daraltmalısın.

seçim sonunda liste adı altında değerler olacak.
nth ile aldığın ilk listenin ilk elemanı alanı, diğerleri ise koordinatlarıdır..

umarım bunları listeden tek tek çekebilirsin.
yapamazsan anlatırım.


Kod:

(vl-load-com)
(setq sec (ssget)
      say (sslength sec)
      c 0
      liste '())
  (while (< c say)
    (setq ilk (ssname sec c)
  data (vlax-ename->vla-object ilk)
  koor (vlax-safearray->list (vlax-variant-value (vla-get-coordinates data)))
  alan (vla-get-area data))
    (setq liste (cons (cons alan koor) liste))
(setq c (+ c 1))
    )

06.07.2011 13:51    

k005
Teşekkürler ehya,, yazdığım kodlama içine entegre etmeye çalışacağım..

> 1 <
Copyright © 2004-2022 SQL: 0.987 saniye - Sorgu: 56 - Ortalama: 0.01762 saniye