13.03.2017 13:49
alumina
|
Alıntı kimx87 :
Kod:
(defun c:zd (/ dc m sl) (vl-load-com)
(if (ssget '((0 . "*text") (1 . "*%%O%%C%%O*")))
(progn
(vla-startundomark (setq dc (vla-get-activedocument (vlax-get-acad-object))))
(vlax-for m (setq sl (vla-get-activeselectionset dc))
(vla-put-TextString m (vl-string-subst "Ø" "%%O%%C%%O" (vla-get-TextString m)))
) (vla-endundomark dc) (vla-delete sl)
)
) (prin1)
)
|
16.03.2017 08:17
k005
|
Merhaba arkadaşlar..;
örnek-a : (7.11+3.75)/2*4*0.3 =
örnek b : 7.11*0.50*0.25 =
örnek c : 2.8*0.15*0.25 + (2.8+1)/2*3.85*0.25 =
üç farklı yazılıştaki texleri Aritmetik işlem sırasına göre, sonucu nasıl alabilirim ?
* her örnek sadece bir text objeden oluşmaktadır.
Yardımcı ustalara şimdiden teşekkürler.
|
17.03.2017 08:21
alumina
|
Alıntı k005 :
Karakterleri ayirmaya kalkarsan icinden cikamazsin. En iyisi text value degerini alip basina "=" karakterini ekleyerek excele aktar, sonra oradaki sonucu alip ayni texti editle bitsin.
|
17.03.2017 11:27
k005
|
Alıntı alumina :
Üstad;
onuda düşündüm aslında.. Lisp ile yapamazsam, önermiş olduğunuz şekilde yapacağım.
Teşekkür ediyorum.
|
17.03.2017 12:41
mikemoon
|
merhaba arkadaşlar bu resimdeki sorunu çözecek bir yöntem varmıdır.
|
17.03.2017 13:47
alumina
|
Alıntı k005 :
Bende sana lisple yapman icin soyledim zaten. Kopyala yapistir demedimki.
|
20.03.2017 06:21
mikemoon
|
selamlar
resimdeki işlemi yapmak için bir yöntem vardımıdır.yada bir lisp varmıdır.
daire hariç sayfadaki tüm objeleri silmek değil.sadece maus ile seçtiğim objeler içinde daire haricini silmeli.
yada seçilen obje türü kalsın digerlerini silsin fakat mausla pencere içerisine alınmış objeler arasındaki objeler için geçerli
mikemoon (20.03.2017 06:40 GMT)
|
20.03.2017 08:00
alumina
|
Alıntı mikemoon :
silme isini manuel yap raskoln.
Kod:
(defun c:cs (/ ns)
(if (setq ns (ssget '((0 . "~circle")))) (sssetfirst nil ns)) (princ)
)
|
20.03.2017 08:14
Travaci
|
mikemoon
Kod:
(defun c:ss (/)
(if (ssget '((0 . "~circle"))) (sssetfirst nil (ssget "_P"))) (princ)
)
:D
|
20.03.2017 10:04
CAN123
|
Arkadaşlar merhaba,
Eğer mümkünse pozu ve çerçevesini seçtikten sonra belirleyeceğim 1. ve 2. noktaya göre quick leader çizip pozuda ucuna eleyecek bir lisp isteğim olacak.
Not: Eğer 2. nokta 1. noktanın sağında kalıyorsa 1. detaydaki gibi atmasını, eğer solunda ise 2. detaydaki gibi atmasını istiyorum. Birde işlemden sonra seçtiğim pozu ve çerçevesini de silmesini istiyorum.
Teşekkür ederim
CAN123 (06.09.2017 06:23 GMT)
|
20.03.2017 10:13
mikemoon
|
teşekkürler
travaci ve alumina
biraz taksit taksit gibi oluyor ama kusura bakmayın
o circle yazısının yerine line,arc vs başka bir obje tipi yazsak yinede aynı işlemi yapmasını sağlayabilirmiyiz
mikemoon (20.03.2017 10:28 GMT)
|
20.03.2017 10:37
alumina
|
Alıntı mikemoon :
iste ogrenmeye basladin :) aynen oyle. mesela sadece arc icin "arc" yazabilirsin. arc ve line leri ayni anda "arc,line" yazabilirsin vs.
ya raskoln gozlerimi yasarttin ilk defa valla :)
|
21.03.2017 19:10
tempuser
|
Arkadaşlar merhaba,
Seçtiğim dairelerin koordinatlarını komut satırınıda alt alta görmek istiyorum.
Böyle bir program yazabilirmisiniz.
|
21.03.2017 20:30
alumina
|
Alıntı tempuser :
Kod:
(defun c:ct (/ cr)
(if (ssget ":s" '((0 . "circle")))
(prompt (strcat "X= " (rtos (car (setq cr (cdr (assoc 10 (entget
(ssname (ssget "_P") 0)))))) 2 2) "\nY= " (rtos (cadr cr) 2 2)
"\nZ= " (rtos (caddr cr) 2 2)))) (princ)
)
|
21.03.2017 20:37
tempuser
|
Alumina öncelikle teşekkür ederim,
küçük bir sorun var; seçtiğim nesneler birden fazla oluyor koordinatları bir nevi listelemek istiyorum,
(1570.29 1559.09 0.0)
(1561.04 1568.16 0.0)
(1532.58 1569.22 0.0)
... Bu şekilde sizi uğraştırmıyacaksa düzenlermisiniz.
|
21.03.2017 20:42
alumina
|
Alıntı tempuser :
Kod:
(defun c:cl (/ ns n)
(if (setq ns (ssget '((0 . "circle"))))
(repeat (setq n (sslength ns))
(print (cdr (assoc 10 (entget (ssname ns (setq n (1- n))))))))) (princ)
)
|
21.03.2017 20:46
tempuser
|
Teşekkürler şimdi tam istediğim gibi oldu işte :)
|
21.03.2017 21:08
Travaci
|
tempuser
Okur yazar arkadaşlar için alışılmışın dışında döngü metodu kullanımı.
Kod:
(defun c:diaShow (/)
(if (ssget (list (cons 0 "circle")))
(mapcar
'(lambda (x)
(if (= 'ename (type (cadr x))) (print (cdr (assoc 10 (entget (cadr x))))))
) (ssnamex (ssget "_p"))
)
) (princ)
)
(defun c:diaShow (/)
(if (ssget (list (cons 0 "circle")))
(foreach x (ssnamex (ssget "_p"))
(if (= 'ename (type (cadr x)))
(print (cdr (assoc 10 (entget (cadr x)))))
)
)
) (princ)
)
|
22.03.2017 06:04
mikemoon
|
resimdeki plyline çizgiyi eşit aralıklar ile bölebilecek bir lisp veya yöntem varmıdır.
amaç şudur aslında çizgiyi seçmek ve kaç mm ara ile bölmek istiyorsun diye sormalı değeri kendim gireceğim ve break at poit komutunun yaptığı iş gibi çizgi bölmesi lazım
|
alumina
|
Alıntı mikemoon :
"measure" komutuyla pointleri at, sonra forumda "polyline nesnelere vertex ekleyen lisp" i bulup koparma islemini yap.
|