Copyright © 2004-2022 SQL: 1.283 saniye - Sorgu: 100 - Ortalama: 0.01283 saniye
01.08.2013 12:31
özkan-wien |
Arkadaslar Attribute icinde belli bir "Tag" a sirayla numara veren Lisp var mi? prefix sufixli olursa tadindan yenmez.
:-)
|
01.08.2013 14:40
ehya |
Alıntı Komut adı ATTDEG Kod: (defun c:attdeg ()
(if (= secim nil) (setq secim "Değiştir")) (if (= sayi nil)(setq sayi 1)) (setq bs (getint (strcat "\nBaşlangıç sayısı: < : " (rtos sayi 2 0)" : >"))) (if (= bs nil)(setq bs sayi)) (setq sayi bs) (initget 1 "Değiştir Başa ekle Sona ekle") (setq islem (getkword "\nYazı değiştirme seçeneği : Değiştir / Başa ekle / Sona ekle : ")) (setq nnn nil) (while (= nnn nil) (setq nes (nentsel "\nDeğişecek yazıyı seçin:")) (if (= nes nil) (progn (if (= (getvar "errno") 7)(setq nnn nil)) (if (= (getvar "errno") 52)(setq nnn t))) (progn (setq ntur (cdr (assoc 0 (entget (car nes))))) (if (/= ntur "ATTRIB") (progn (setq nnn nil)(princ "\nSeçilen nesne ATTRIB değil...")) (progn (setq icerik (cdr (assoc 1 (entget (car nes)))) data (entget (car nes))) (if (= islem "Değiştir")(setq yyazi (rtos sayi 2 0))) (if (= islem "Başa")(setq yyazi (strcat (rtos sayi 2 0)icerik))) (if (= islem "Sona")(setq yyazi (strcat icerik (rtos sayi 2 0)))) (entmod (subst (cons 1 yyazi)(assoc 1 data)data)) (setq sayi (+ sayi 1)) (setq nnn nil) ))))) (princ) ) ehya (02.08.2013 06:46 GMT) |
01.08.2013 15:08
özkan-wien |
Ehya orantisiz güc kullanmissin yine. RESPECT!
|
05.08.2013 08:32
özkan-wien |
cizim icindeki "x" layerindaki tüm polyline lari secip hepsini iceri Dogru 10 cm Offset yapmak istiyorum. Böyle bir Lisp var mi acaba?
|
13.08.2013 18:58
projehesap |
İyi günler,
Birkaç tane lisp isteğim var, elinde bulunanlar varsa şimdiden teşekkür ederim; 1) Sadece seçilen bloklar için çizimdeki ilgili blokların tümünün adını ve miktarlarını bir not defterine geçirebilecek bir lisp ve benzer şekilde seçilen layerdaki çizgi uzunluklarını layer adına göre çizimdeki toplam uzunluklarını bir not defterine geçirecek lisp örneği, 2) Bir çizimdeki tüm xrefleri extract, bind, vs. edecek bir lisp, 3) Çizimi boyutlandırılken off, froze, lock, vs. layerları da etkileyecek, ama layerın bu özelliklerini aynen korumakla birlikte tüm çizimi boyutlandırmamızı sağlayacak bir lisp (alan özelliğine sahip blokları kapsamasa da olur). Tekrar teşekkürler.
|
15.08.2013 15:21
CAN123 |
ProhibiT hocam,
Bu lispte eğer mümkünse profilin üç çizgisinide sürükleyerek seçip yazdırabilirmiyiz. Tek tek seçtiğimizde takılabiliyor. teşekkür ederim Kod: ;|***************************************************************************| | PDL: Profile Dimesions Label | | Görünüş çizgileri seçilen Köşebentin boyut etiketi | | mevcut Text (veya MText) objesine işlenir. | | M. Şahin Güvercin www.cizimokulu.com 25.12.2012 | |---------------------------------------------------------------------------|; (defun c:PDL (/ ds1 ds2 ds3 kk ksr Ln1 Ln2 Ln3 PnT) (setvar "cmdecho" 0) (command "_.undo" "group") (vl-load-com) (setq Ln1 (car (entsel "\nProfil Sırt Çizgisi: ")) Kk (redraw Ln1 3) Ln2 (car (entsel "\n Profil Uç Çizgisi: ")) Kk (redraw Ln2 3) Ln3 (car (entsel "\n Flanş İç Çizgisi: ")) Kk (redraw Ln3 3) PnT (vlax-safearray->list (vlax-variant-value (vlax-get-property (vlax-ename->vla-object Ln1) 'StartPoint))) ds1 (rtos (distance Pnt (vlax-curve-getClosestPointTo (vlax-ename->vla-object Ln2) PnT T)) 2 0) ds2 (rtos (distance PnT (vlax-curve-getClosestPointTo (vlax-ename->vla-object Ln3) PnT T)) 2 0) ds3 (rtos (vlax-get-property (vlax-ename->vla-object Ln1) 'Length) 2 1) ksr (atoi (substr ds3 (strlen ds3) 1))) (if (wcmatch ds3 "*.*") ;;; Küsüratın simetrik yuvarlanması (cond ((< ksr 3) (setq ds3 (substr ds3 1 (- (strlen ds3) 2)))) ((and (> ksr 2) (< ksr 8)) (setq ds3 (strcat (substr ds3 1 (1- (strlen ds3))) "5"))) ((> ksr 7) (setq ds3 (rtos (+ (atof ds3) (- 1 (/ ksr 10.0))) 2 1))))) (vlax-put-property (vlax-ename->vla-object (car (entsel "\n Text Objesi: "))) 'TextString (strcat "L" ds1 "x" ds1 "x" ds2 "..." ds3)) (redraw Ln1 4) (redraw Ln2 4) (redraw Ln3 4) (command "_.undo" "e") (princ))
|
15.08.2013 16:23
ProhibiT |
Çizgileri sırasıyla seçtiğimizde, profilin ebadını ve et kalınlığını hesaplamak için hangi çizgiler arasında mesafenin alınacağı belli.
Gurup olarak seçilen çizgilerin, hangi sıralama ile oluşturuldukları ve seçim yönü belirsiz olduğundan, bunlar kontrol edilerek çözümlenmesi gerekir ki, ondan sonra gerekli boyutlar bulunabilsin. Gurup olarak seçimde bir başka denetim daha eklenmesi gerekiyor. Seçilen çizgi adedi 3'ten az ise, boyutlardan biri veya ikisi tanımsız olacağından işlem yapılamaz. Program hata iletisiyle sonlanmalı. Seçilen çizgi sayısı 3'ten fazla ise, örneğin üst üste çizgiler (overlap) varsa boyutların bulunabilmesi için hangi çizgiler esas alınacak. Hadi overlap konusu denetlenerek elenebilir. Ama, kullanıcının dikkatsizlik sonucu ya da canı istediği için 3'ten fazla çizgi seçmesi durumunda ne yapılabilir? Paylaştığımız Lisp fonksiyonların kararlı ve güvenilir olmalarına özen göstermek zorundayız. Fonksiyonlar parametrelerden bağımsız olarak her durumda aynı ve doğru sonucu vermelidir. Bu fonksiyonu daha seri hale getirelim derken hatalara neden olabilecek kör noktalar bırakmaktan çekiniyorum açıkçası. Bahsettiğim çerçevede kafa yorup, geçerli bir çözüm üretebilirsem burada paylaşacağım. Kolay gelsin.
|
15.08.2013 16:33
CAN123 |
ProhibiT hocam,
İlginiz için çok teşekkürler, kolay gelsin
|
16.08.2013 09:21
waytooraider |
Merhabalar,
Select similar ya da quick select ile seçtiğim nesnelerin (line,circle vs ) yanına önceden belirlediğim bir bloğu (ya da texti ) oluşturabilirmiyim. Saygılarımla.
|
17.08.2013 06:16
k005 |
Merhaba arkadaşlar;
Çapı 15cm olan ve mavi renkteki ( 5 ) circle objeleri seçip, silen bir lisp gerekiyor arkadaşlar.. Yardımcı arkadaşa şimdiden teşekkürler. Herkese Kolay gelsin.
|
17.08.2013 14:42
ehya |
k005
Kod: (setq secim (ssget (list (cons 0 "CIRCLE")(cons 40 15)(cons 62 5))))
(command "_.erase" secim "")
|
17.08.2013 14:47
ondertster |
Prohibit hocam, linkteki Aln.lsp alan hesaplama dosyasını, alan satırının altına aynı şekilde çevreyi de yazacak şekilde revize edebilir miyiz ?
Şimdiden teşekkürler
|
18.08.2013 08:33
k005 |
Alıntı
|
18.08.2013 12:55
ehya |
k005
Bu komut sadece attribute nesnelerine uygulanır. Diğer nesneler için geçersizdir.
|
19.08.2013 06:50
CAN123 |
Arkadaslar merhaba,
Eğer mümkünse resimdeki mevcut DIMSCALE değerini "1" yapıp BREAKLINE komutunu çalıstıracak ve daha sonra ilk DIMSCALE değerini alacak bir lispe ihtiyacım var. Şimdiden teşekkürler
|
19.08.2013 16:35
k005 |
Alıntı Teşekkürler,, biraz geç cevap yazdım hocam yoğunluk vardı.. Peki şöyle bişey yapabilirmiyiz,, sadece Çapı belirtsem, yada seçsem:,,, aynı çaptaki Circle objeleri silebilirmiyim..?
|
19.08.2013 21:52
Travaci |
k005 Kod: (command "_.erase" (ssget "x" (list (cons 0 "Circle") (cons 40 (cdr (assoc 40
(entget (car (entsel "\nHanimiş silinecek sörkıl : ) ")))))))) "")
|
20.08.2013 13:30
map23 |
Teşekkürler,, biraz geç cevap yazdım hocam yoğunluk vardı.. Peki şöyle bişey yapabilirmiyiz,, sadece Çapı belirtsem, yada seçsem:,,, aynı çaptaki Circle objeleri silebilirmiyim..?
Tools >>>Quic Select >>> Object Type >>> Cırcle Properties >>>> Radius Value >>>> 1.00 (SİLMEK SİTEDİĞİN CİRCLE ÇAPINI YAZ ) ok ...şimdi silinmesi lazım.. İyi Çalışmalar...? Eski bir dost
|
20.08.2013 18:57
k005 |
Alıntı
|
k005 |
Alıntı
|