16.05.2013 12:37    

Travaci
Yazıyı boşluktan bölen lisp yapıyordum yarım kaldı, bitsin "-" ile değiştirip koyarım buraya.

19.05.2013 08:25    

vbaran211
Arkadaşlar hepnize iyi günler...
Sitede yayınlı olan bir lisp üzerinde çok ufak bir değişikliğe ihtiyacım var...
Kendim uğraştım ama çok acemi olduğumdan beceremedim...
Yardımcı olursanız gerçekten çok sevineceğimi bilmenizi isterim...

"Seçilen Polyline'ların köşe koordinatları, ara mesafeleri, alan ve çevrelerini tablo halinde yazan AutoLisp fonksiyonu"


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


Öncelikle
bu lisp dosyasını yazan arkadaşın ellerine sağlık gerçekten çok yararlı bir çalışma...

Benim tek istediğim lisp en sonunda poligon özet tablosu oluşturuyor...
bu özet tablosunda Poligon Adı,Alan,Çevre bilgileri yer alıyor....
Benim düzenlenmesini istediğim yer sadece burası...

Poligon özet tablosunda.
Poligon Adı,Poligonun Merkezinin X koordinatı,Poligonun Merkezinin Y koordinatı,Poligonun En uzunluğu,Poligonun boy uzunluğu...

Bu düzeltmeyi yapabilirseniz gerçekten çok sevineceğim hepinize teşekkür ederim...

19.05.2013 11:41    

ProhibiT
Aslına bakılırsa, "çok ufak bir değişiklik" dediğiniz, eni konu ciddi bir değişiklik.

Merkez'den neyi kastettiğiniz tanımsız kalmış. Poligon (çokgen) türünde bir geometrik şeklin Merkez'inden söz edemeyiz. Kastedilen Ağırlık merkezi ise, çokgen'in ağırlık merkezi de olmaz. Ancak çokgen'in sınırladığı alanın ağırlık merkezinden söz edebiliriz. Mevcut Fonksiyonda, Poligon adlarının yazılması için poligon tanım nokta koordinatlarının ortasına yazılması yeterli görmüştüm. Kenarları doğrusal (Line) olan çokgen'lerde bulunan nokta bahsedilen ağırlık merkezi ile çakışmakla birlikte, eğri (arc) kenarların olması durumunda bu doğru değildir.

Bu nokta doğru şekilde bulunduktan sonra ancak koordinatları yazılabilir.

Poligonun "En ve Boy Uzunlukları" kavramları da belirsiz.

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

linkinde bu konudan bahsetmiştim.

Söz konusu kavramları netleştirdiğimizde problemin ciddi bir kısmı çözülmüş demektir.

Bahsettiğiniz değişiklikleri yazma konusunda zaman fukaralığımızdan kaynaklanan sebeplerle bu günden yarına söz vermek mümkün değil.

Kolay gelsin.

20.05.2013 04:01    

2032223351
hocam bir yardimda bulunabilirmisiniz ? benim ayni sev lisp indeki gibi bir lispe ihtiyacim var ama kissa cizgiler olmayacak iki paralel line cizgisi sectigimde uclari cizgilere birlesik istedigim olcu araliginda ve ilk sectigim cizgiyi ana cizgi olarak kabul edip(linelerin olculeri bir olmaya bilir bu yuzden ilk cizgi uzerinden olculendirip ofset yapmasini istedim) ofset yapacak bir lispe ihtiyacim var yardimci olurmusunuz ?

Not : Cizgileri coklu secebilirsem cok daha iyi olur.

tesekkur ederim !!!!!

2032223351 (21.05.2013 07:11 GMT)

20.05.2013 05:48    

vbaran211
Prohibit hocam ilginiz için teşekkür ederim.
Benim bütün poligon elemanlarım dikdörtgen geometriye sahip.
Poligon özet tablosunda her poligonun 4 köşesinin koordinatlarını verse benim için yine yeterli...
siz zaten her poligon için oluşturduğunuz tabloda bu bilgiyi veriyorsunuz sadece özet tabloda da olursa ben hepsini tek seferde excelle atıp manipülasyon edebilirim... benim bütün poligonlarım dikdörtgen geometriye sahip olduğundan sadece 4 köşe noktası var... poligonun merkez noktasını da ağırlık merkezi gibi düşünebilirsiniz...

Poligon Özet tablosu
Poligon ADI -- 1.köşe noktası -- 2.köşe noktası -- 3.köşe noktası -- 4.köşe noktası
_______________________________________________________________________________
Poligon-1 --------- X1,Y1 ----------- X2,Y2 --------------- X3,Y3 -------------- X4,Y4
Poligon-2 ........
.
.
.
.
bu ve benzeri şekilde istediğiniz formatta nasıl kolayınıza geliyorsa bu bilgileri bütün poligon elemanlar için özet tabloda görebilirsem excellde bütün poligonların enini boyunu ve X ve Y koordinatlarının aritmetik ortalamasını alarak merkez noktalarına erişebilirim... Mevcut lispinizde poligon özet tablosunda sadece alan ve çevre bilgileri var,bu bilgiler sadece yukarıdaki gibi değiştirilebilirse benim için çok faydalı olacak.Mevcut lispi kullanmak istersem her poligonun kendi özel tablosunu tek tek excelle atıp manipüle etmem gerekiyor. Ama istediğimi düzenlemeyi yapabilirseniz özet tabloda bütün poligonların köşe noktalarının koordinatlarını görebilirim...
Umarım açıklayıcı olabilmişimdir...
Benim ihtiyacım olan şey belirli bir alan içindeki poligonlara tek tek isim verip bunların 4 köşesinin koordinatı vermesi herhangi başka bir lispde olabilir.(bütün poligonlarım dikdörtgen)
SAYGILARIMLA...

vbaran211 (20.05.2013 07:59 GMT)

22.05.2013 06:47    

johnson_fray
Merhaba,
Demir metrajı yaptım ve pozlarını yazdım tcount ile. Benzer pozları düzenledim ve dolayısıyla arada bazı pozlar silindi.
Örneğin 1,2,3,5,17,25,26,38 şeklinde poz nolarını yeniden sıralatmak istiyorum aynı olan pozları aynı kalmasını istiyorum.
Yani 25 nolu tüm pozlar yeni sıralamadan 13 oluyorsa hepsinin 13 olması gibi.

Teşekkürler.

22.05.2013 07:43    

kimim ben
Selam benim en buyuk sorunun cok pdf cikişi almak.Bunu hizlandirmak icin bir lisp olabilir mi? Cikiş alinacak cerceveleri secsem bunlari benim tanimladigim onceden belirlenmis yazici ayarlari ve kayit yerine pdf olarak cikiş ayarlasa bana cok hiz kazandirir.Yapabilecek bir arkadas varsa cok sevinirim.

08.06.2013 06:55    

2032223351
iyi gunler
Kod:

(defun C:1 (/)
(while (setq ipT (getpoint "\rPick internal point: "))
    (command "_.hatch" "p" "SOLID" "s" ipt "")


bu kodu ayni bu sekilde duzenleyebilirmisiniz ? neresinde yanlis yaptigimi anlayamadim da assagisindaki hatch islemini yukardakine nasil birlestirebilirim ?

08.06.2013 07:27    

Travaci
Kod:

(defun C:1 (/)
   (setvar "hpname" "solid")
   (command "-hatch"  (getpoint "\nPick internal point: ") ""))

08.06.2013 07:28    

2032223351
cok saol ama bu devamli olmuyor sadece 1 kere yaPIyor bunu nasil devamli hale getirebilirim

10.06.2013 02:54    

2032223351
ben hallettim onuda bir sorum daha olacak bu yapilan hatch a layer adi vermek istiyorum bunun icin
Kod:

(entmake (list (cons 0 "-hatch") (cons 8 Koordinat))))


bunu nasil duzenlememiz lazim ?

10.06.2013 06:14    

Travaci
cons 0 türü içindir -hatch deil (cons 0 "hatch") olmalıdır
cons 8 ise layer içindir (cons 8 "Koordinat") şeklinde olmalıdır.

10.06.2013 07:10    

2032223351
Kod:

(defun C:1 (/)
   (setvar "hpname" "solid")
   (command "-hatch"  (getpoint "\nPick internal point: ") ""))
(entmake (list (cons 0 "hatch") (cons 8 "Koordinat")))


bu sekildemi yazmam gerekiyor ?

10.06.2013 07:32    

Travaci
Hem command kullandınız hem entmake nasıl olucak ?
Birinden birini kullanmalısınız. Entmake kullanıyorsanız dxf kodlarının arasında tarama yapıcagınız alanın köşe noktalarını göstermelisiniz. Layer belirlemek istiyorsanız ;
Kod:

(defun C:1 (/)
   (setq tarama (getvar "Hpname") layer (getvar "Clayer"))
   ;geçerli tarama ve layerı ı hafızaya aldık
   (setvar "hpname" "solid") (setvar "clayer" "Koordinat")
   ;taramayı solid, layerıı koordinat yaptık
   (command "-hatch"  (getpoint "\nPick internal point: ") "")
   ; taradık
   (setvar "hpname" tarama) (setvar "clayer" layer))
   ;tarama ve layerı işlem yapmadan önceki durumuna getirdik.

13.06.2013 14:34    

kimim ben
Alıntı
kimim ben :
Selam benim en buyuk sorunun cok pdf cikişi almak.Bunu hizlandirmak icin bir lisp olabilir mi? Cikiş alinacak cerceveleri secsem bunlari benim tanimladigim onceden belirlenmis yazici ayarlari ve kayit yerine pdf olarak cikiş ayarlasa bana cok hiz kazandirir.Yapabilecek bir arkadas varsa cok sevinirim.


Yardımcı olabilecek yok mu arkadaşlar

13.06.2013 14:55    

ehya
kimim ben




Böyle bir işlem bilgisayarın kilitlenmesine neden olur. Eğer bu işlemde bir sakınca olmasaydı autodesk yapardı.

14.06.2013 07:46    

özkan-wien
Alıntı
kimim ben :
Alıntı
kimim ben :
Selam benim en buyuk sorunun cok pdf cikişi almak.Bunu hizlandirmak icin bir lisp olabilir mi? Cikiş alinacak cerceveleri secsem bunlari benim tanimladigim onceden belirlenmis yazici ayarlari ve kayit yerine pdf olarak cikiş ayarlasa bana cok hiz kazandirir.Yapabilecek bir arkadas varsa cok sevinirim.


Yardımcı olabilecek yok mu arkadaşlar



ayni dwg nin icinde ben yapmistim, cok da süper olmustu hem de hizli. layerlari otamatik acip kapatiyordu 4 farkli plot ya da pdf aliyordu. ama bunu kendi pc ne adapte etmen lazim. ben kendi lispimi örnek olmasi amaciyla gönderiyorum sana,layer isimlerini degistir eger ac kapa yapcaksan. yoksa yer girislerini degistir. pc de kitlenme olmuyor aksine cok suratli gonderiyor.

ben 4 plot ya da 4 pdf yapiyordum ayni noktalardan.
(defun c:4p()

(setq lstp (getpoint "\nBir nokta girin"))
(setq lstd (getpoint "\nBir nokta girin"))

;;(command "plot" "yes" "" "" "A3" "m" "" "" "w" lstp lstd "" "" "" "" "" "" "" "" "")

(command "layer" "set" "0" "" "layer" "OFF" aaaaaaa" "") (command "layer" "ON" bbbbbbb" "" "layer" "set" cccccc" "")

(command "plot" "yes" "" "" "A3" "m" "" "" "w" lstp lstd "" "" "" "" "" "" "" "" "")

(command "layer" "set" "0" "" "layer" "OFF" aaaaaa" "") (command "layer" "ON" ccccccccc" "" "layer" "set" dddddddd" "")

(command "plot" "yes" "" "" "A3" "m" "" "" "w" lstp lstd "" "" "" "" "" "" "" "" "")

(princ))

özkan-wien (14.06.2013 08:04 GMT)

14.06.2013 09:12    

Travaci
özkan-wien

Kod:

(defun c:cLnEu (/)
   (setq lYr (cdr (assoc 8 (entget (car (entsel)))))
         pZt (vl-string-position (ascii "-neu") lYr))
   (if (/= pZt nil)
      (progn
       (command "_.-layer" "r" lYr (strcat (vl-string-right-trim "-neu" lYr)
                "-abb") "") (princ))
      (progn)
   )
)

Travaci (14.06.2013 09:53 GMT)

14.06.2013 11:35    

özkan-wien
ben söyle bi sey yapmak istemistim aslinda
ama su an Lisp calismiyor tabiiki - doktora ihtiyaci var. dr.ehya ya da dr.travaci


(defun c:cab (/ )

(princ "\nSelect object for layername change to -ABB")



(setq mab_sec (ssget))



(setq mab_adet (sslength mab_sec))

(setq mab_syc 0)


(repeat mab_adet

(setq mab_ele (ssname mab_sec mab_syc))



(setq mab_elem (entget mab_ele))
(setq mab_layern (cdr ( assoc 8 mab_elem)))




(setq pZt (vl-string-position (ascii "-neu") mab_layern1))

(if (/= pZt nil)

(progn
(setq mablayer_yaz (strcat (vl-string-right-trim "-neu" mab_layern1)
"-abb") "")

(command "change" mab_ele "" "P" "LA" mab_layern_yaz "")


(princ))
(progn)
);if


(setq mab_syc (1+ mab_syc))

);repeat





(princ))

14.06.2013 11:38    

Travaci
özkan-wien ordan burdan şurdan bişileri alıp alıp birleştiriyorsun sonra çalışmadı diyorsun : ) çalışmaz tabi. Şimdi ben bu kodların içinde ne yapmak istediğini nasıl anlıcam, niye uğraştırasın beni. Açık açık sölede bilelim :no

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] > 40 < [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] [95] [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.428 saniye - Sorgu: 98 - Ortalama: 0.01457 saniye