AutoCAD • AutoLISP • Programlama • Püfler • Komutlar • Terimler • Eğitim
aLd • TCad • FacadeCAD • Cephe Kot • HQ Library • FreeMUST • Pasdoc.A
10.02.2011 17:42    

borisyeltsin
Selam,

yıllardır cevap aradığım bir konu var. autocad'de bir text'e ardından da bir çizgiye bastığımızda textteki yazıyı ve çizginin uzunluğunu excel e yanyana aktaracak ve çıkış yapana kadar bu işlemi tekrarlayabilecek bir lisp var mı.

yardımcı olabilirseniz çok sevinirim.

10.02.2011 18:32    

ProhibiT
Aslında basit bir konu olmakla birlikte, hiç bir yazar için en küçük bir sanat değeri yok!
tecrübelerle sabittir ki; istediğiniz bundan ibaret değil. yıllarca arayacağınıza olayın özüne yöneldiğinizde, göreceksiniz ki, çok basit çözümleri var. yalnızca fikir vermek açısından bir fonksiyon yazıyorum.
Kod:

(defun c:a2e ()
  (setq f (open (getfiled "çıkış kütüğü" "" "csv" 9) "a"))
  (while
    (and
      (setq ln (car (entsel "\n  select line...")))
      (setq tx (car (entsel "\n    select text..."))))
    (setq ln (entget ln) tx (cdr (assoc 1 (entget tx)))
          ln (distance (cdr (assoc 10 ln)) (cdr (assoc 11 ln)))
          yz (strcat tx ";" (rtos ln 2 2)))
    (write-line yz f))
  (close f)(prin1)
)
açıkça ve dürüstlükle söylemek gerekirse, bu kodu autocad ortamında yazıp test etmedim. doğrudan buraya yazıyorum. seçilen objelerin kontrolü ve buna benzer hata kontrolleri yaptırmadım. dikkatli kullanılırsa (mesela text yerine line ya da başka tür objeler seçilmeze) bahsettiğiniz işlemi prensip olarak yapar. herhangi bir şekilde değiştirmek ve geliştirmek gibi bir konuyu asla vaadetmiyorum. yalnızca yol göstermek amacıyla yazılmıştır.

kolay gelsin.

> 1 <
Copyright © 2004-2022 SQL: 1.149 saniye - Sorgu: 46 - Ortalama: 0.02498 saniye