Copyright © 2004-2022 SQL: 1.395 saniye - Sorgu: 80 - Ortalama: 0.01744 saniye
12.04.2012 12:28
FADEN |
merhaba,
yüksek sayıdaki paftalarımız da hidrolikten dolayı bütün yapı kotlarımız değişti.. acaba elinde kotlara (plan ve kesitler )sayı ekleyen veya çıkaran lips olan var?
|
12.04.2012 12:56
Travaci |
Eğer toplu halde kotları degıstırıceksen sıtede lısp mevcut.
|
12.04.2012 17:27
FADEN |
siteyi tarıyorum kaç saatir ama bulamıyorum yardımcı olur musunuz? çok acil ihtiyacım var 50 den fazla pafta var düzeltmem gereken ama zamanım yok .. projeleri teslim etmem gerekiyor..
|
12.04.2012 18:31
Travaci |
Kod: (defun ct_act ( os ns p / ) (setq i 0) (setq degis 0) (repeat (sslength p ) (setq ent (entget (ssname p i))) (setq kontrol_yazisi (cdr (assoc 1 (entget (ssname p i))))) (if (/= (vl-string-search os kontrol_yazisi ) nil) (progn (setq position (vl-string-search os kontrol_yazisi)) (while (/= (setq position (vl-string-search os kontrol_yazisi position)) nil) (setq kontrol_yazisi (vl-string-subst ns os kontrol_yazisi position)) (setq position (min (+ position (strlen ns)) (strlen kontrol_yazisi))) ) (setq ent (subst (cons 1 kontrol_yazisi) (assoc 1 ent) ent)) (entmod ent) (entupd (ssname p i)) (setq degis (1+ degis)) ) ) (setq i (1+ i)) ) ) (defun c:ct ( / ) (vl-load-com) (setvar "cmdecho" 1) (princ "Yazı seçiniz.............") (setq p (ssget '((0 . "TEXT")))) (setq os (getstring "\n Eski Yazi : " t))(if (= os "")(progn (setq os_ (ssget ":S" '((0 . "TEXT"))))(if (= os_ nil)(setq os "")(setq os (cdr (assoc 1 (entget (ssname os_ 0)))))))) (setq ns (getstring "\n Yeni Yazi : " t))(if (= ns "")(progn (setq ns_ (ssget ":S" '((0 . "TEXT"))))(if (= ns_ nil)(setq ns "")(setq ns (cdr (assoc 1 (entget (ssname ns_ 0)))))))) (ct_act os ns p) (princ (strcat "\n Değişen eleman sayısı : " (itoa degis))) (setvar "cmdecho" 0) (princ) ) Ct komutunu girdikten sonra butun projeyı seçin ilk önce değiştirmek istediğin yazıyı daha sonra olması yeregek yazıyı yazıp onaylayınız. Aynı zamanda autocadin finde komutuylada yapabilirsiniz. Travaci (12.04.2012 18:41 GMT) |
13.04.2012 08:25
umittaser |
Arakadaşın istediği komutta text kısmına atıyorum -30 girecek tıkladığı bütün textlerden 30 çıkaracak veya 30 girecek hepsine bu kotu ekleyecek. böyle bir lisp vardı ancak şu an bende bulamadım.
|
13.04.2012 09:04
umittaser |
Faden hocam istediğin sanırım bu lisp. lispt açısı farklı olan textleri düzeltmiyordu ve virgülden sonra 2 hane bırakıyordu ben bunu 3 hane olarak düzenledim. Eğer sen noktadan sonraki hane sayısını değiştirmek istersen kırmızı ile yazdığım yerdeki rakamı değiştirebilirsin.
Kolay gelsin ;Yol Kotlarını güncelleyen Autolisp kodu ;Kot yazıları "TEXT" objesi olmak zorunda ! ;kotg - Nisan 2008 (c) Sinan COŞKUN (defun c:kotg() (setvar "cmdecho" 0) (command "undo" "group") (setq ssl 0) (setq k_g nil) (while(= k_g nil)(setq k_g(getreal"\nKotlara ilave edilecek veya çıkarılacak rakam ? "))) (while (setq VeriAl(entsel"\nİşlem yapılacak kotlar için tip Obje seçiniz !")) (setq Lay(cdr(assoc 8(entget(car VeriAl))))) (setq Aci(cdr(assoc 50(entget(car VeriAl))))) (prompt"\nRevize edilecek kot yazılarını seçiniz !:") (setq a(ssget(list(cons 8 Lay)(cons 0 "TEXT")))) (if(null a) (alert "\nHATA : Boş Liste..!") (progn (setq rep(sslength a)) (repeat rep (setq temp(entget(ssname a ssl))) (setq yz_ktrl(angtof(cdr(assoc 1 temp)))) (if(= yz_ktrl nil) (alert"\nSeçilen Objelerin arasında 'Harf veya Sembol' içeren YAZI(lar) tespit edildi !\nİşlemden sonra kontrol ediniz !") (progn (setq yz_tmp(atof(cdr(assoc 1 temp)))) (setq yzg(rtos(+ yz_tmp k_g)2 3)) (if(= yzg "0.00")(setq yzg "%%p0.00")) (setq temp(subst(cons 1 yzg)(assoc 1 temp)temp)) (entmod temp) ) ) (setq ssl(+ ssl 1)) ) (princ(strcat"\n"(itoa rep)" Obje üzerinde işlem yapıldı!")) );progn );end if );while (command "undo" "e") (princ) ) umittaser (13.04.2012 09:24 GMT) |
13.04.2012 09:23
FADEN |
süpersiniz ya çok sevindimm.. çok teşekkür ederim . büyük bir yükten kurtuldum...
|
12.07.2012 12:00
mismail |
Birkaç gündür plan ve kesitlerde kot düzenleme işlemi lisp ile yapılabilirmi diye soruyordum kendi kendime, demek ki oluyormuş. Elinize sağlık.
Fakat lispte şöyle bir durum var, diyelim ki 122.25 kotunu +0.00 yapacağım, -122.25 diyorum, bana 0 kotunu yazıp bırakıyor. Benim istediğim +0.00 yazması. Başka bir örnek dersek 101.50 kotunu +5.00 yapmak istiyoruz. -96.5 diyoruz, bana 5 veriyor. Oysa istediğim +5.00 yazması. Değişen kotun noktadan sonra 2 hanesi olacak şekilde (.00 .20 .50 gibi) lisp dosyasında yapacağımız nasıl bir değişiklikle aşılabilir? Herkese kolay gelsin...
|
17.05.2017 09:08
ziytan |
İyi günler Ben halihazır bir dosyada tüm nokta kotlarına sayı ekleyip çıkarmak istiyorum bildiğiniz bir lisp varmı acaba çok acil
şimdiden teşekkür ederim kolay gelsin
|
17.05.2017 09:10
alumina |
Alıntı Ornek bir dosya paylasir misiniz? Uzerinde onceki hali bu sonraki hali bu diye isaretleme yaparak.
|
23.09.2021 07:01
baha07 |
Alıntı ------ cikan sonucu eksi oldugunda - yaziyor . bu ok .... cikan sonucu arti oldugunda lisp komutuna + eklemesi yapilabilir mi ? (orjinal lisp 0.014 bunun +0.014 yazmasi icin) metrik duzenden ornegin sonuc +0.014 , bunun mm duzene gecmesi +14 yazilmasi icin lisp komutuna * 1000 eklemesi nasil yapilabilir kisaca iki satir eklemek icin hangi komutlari yazmamiz gerekiyor + simgesi ve sonucun virgulsuz yazilmasi
|
baha07 |
;Yol Kotlarını güncelleyen Autolisp kodu
;Kot yazıları "TEXT" objesi olmak zorunda ! ;kotg - Nisan 2008 (c) Sinan COŞKUN (defun c:kotg() (setvar "cmdecho" 0) (command "undo" "group") (setq ssl 0) (setq k_g nil) (while(= k_g nil)(setq k_g(getreal"\nKotlara ilave edilecek veya cikarilacak rakam ? "))) (while (setq VeriAl(entsel"\nislem yapilacak kotlar icin tip Obje seciniz !")) (setq Lay(cdr(assoc 8(entget(car VeriAl))))) (setq Aci(cdr(assoc 50(entget(car VeriAl))))) (prompt"\nRevize edilecek kot yazilarini seciniz !:") (setq a(ssget(list(cons 8 Lay)(cons 0 "TEXT")))) (if(null a) (alert "\nHATA : Bos Liste..!") (progn (setq rep(sslength a)) (repeat rep (setq temp(entget(ssname a ssl))) (setq yz_ktrl(angtof(cdr(assoc 1 temp)))) (if(= yz_ktrl nil) (alert"\nSecilen Objelerin arasinda 'Harf veya Sembol' iceren YAZI(lar) tespit edildi !\nislemden sonra kontrol ediniz !") (progn (setq yz_tmp(atof(cdr(assoc 1 temp)))) (setq yzg(rtos(*(+ yz_tmp k_g) 1000)2 0)) (if(= yzg "0.00")(setq yzg "%%p0.00")) (setq temp(subst(cons 1 yzg)(assoc 1 temp)temp)) (entmod temp) ) ) (setq ssl(+ ssl 1)) ) (princ(strcat"\n"(itoa rep)" Obje üzerinde islem yapildi!")) );progn );end if );while (command "undo" "e") (princ) ) --------- sonuclari artik ondaliksiz alabiliyorum . fakat sonuc sifira esit veya sifirdan buyukse (pozitif) sayinin onune `+`simgesi ekle , komut satiri yazilabilir mi ? baha07 (24.09.2021 08:38 GMT) |