Copyright © 2004-2026 SQL: 0.933 saniye - Sorgu: 96 - Ortalama: 0.00972 saniye
|
28.11.2012 08:21
ufuk19
|
|
Öncelikle selamlar. Sizden ricam, şöyle bir lisp, çıkarılacak rakamı bana önceden sorsun mesela elimizde 168.64 rakamı olsun bundan 27 çıkarsın bunun gibi çıkan sonucuda uygun yere yazsın. Umarım anlatabilmişimdir. Şimdiden teşekkürler.
|
|
28.11.2012 08:27
|
Alıntı k005 (28.11.2012 08:38 GMT) |
|
28.11.2012 08:48
ufuk19
|
|
Hayır buradaki 27 rakamı sabit değil yukarıda verilenler meseleyi anlatmam açısından sadece birer örnek
|
|
28.11.2012 08:58
|
|
Kod: ;Çıkarma işlemi E.KALAY 28.11.2012
(defun c:ck() (setq bnd (getreal "\nRakamı giriniz : ")) (setq sbt (getreal "\nÇıkarılacak rakamı giriniz : ")) (setq snc (- bnd sbt)) (princ "\n--> ") (princ snc) (setq p1 (getpoint "\nYazılacak yeri belirtiniz ?")) (command "text" "c" p1 "" 0 (strcat "" (rtos snc 2 2)"")) (princ) )
|
|
28.11.2012 09:27
ufuk19
|
|
k005 ilgine teşekkürler bu lisp te işimizi görür lakin bir adım daha ilerleyip şöyle yapabilirmiyiz. command: ck lispi yazılıp çıkarılacak rakamı önceden girmek daha sonra rakam objeleri seçilerek komuttan çıkmadan seri şekilde yazacak. yukarıdaki örnekteki gibi 27 rakamını girip önceden yazılmış rakamları komuttan çıkmadan seçip uygun yere 90 derece yazmak umarım anlatabilmişimdir
|
|
28.11.2012 09:48
|
Alıntı
|
|
28.11.2012 10:10
ufuk19
|
|
k005 ilgine tekrar tekrar teşekkür ederim. Çok güzel olmuş sizden çok olmazsam bi ricam daha var çıkarılacak rakamı baştan bir kere gireyim her seferinde girmeyeyim.
|
|
28.11.2012 10:19
|
Alıntı
|
|
28.11.2012 11:39
ufuk19
|
|
İş yerindeki arkadaşlar ve ben yardımlarınız için teşekkür ederiz.
|
|
28.11.2012 12:30
|
Alıntı bu şekilde hazırladım.. buyrun.. Kod: ;Çıkarma işlemi E.KALAY 28.11.2012
(defun c:ck() (while (progn (if (= sbt nil)(setq sbt 27)) (setq sbtx (getreal (strcat "\nÇıkarılacak rakamı giriniz <" (rtos sbt)"> : "))) (if (= sbtx nil)(setq sbtx sbt)) (setq sbt sbtx) (setq bnd (atof(cdr(assoc 1(entget(car(entsel "\nRakamı seçiniz"))))))) (princ "\n") (setq snc (- bnd sbt)) (princ "\n--> ") (princ snc) (setq p1 (getpoint "\nYazılacak yeri belirtiniz ?")) (command "text" "c" p1 "" 90 (strcat "" (rtos snc 2 2)"")) (princ) ) ) )
|
|
28.11.2012 13:46
|
|
Merhaba arkadaşlar,
k005 arkadaşımız yanlış anlamaz, yapıcı eleştiri olarak düşünürse; ufuk19 arkadaşımızın sorusunu ben, "fonksiyonu her çalıştırdığımda bir kere çıkarılacak rakam gireyim, rakamları seçmeye devam ettikçe aynı rakamı çıkarsın sonucu yazmaya devam etsin" şeklinde anlıyorum. Hal böyle olunca algoritma epeyce değişiyor.Sabit sayı while loop'un dışında seçilince, pek çok kontrol ve guruplamaya gerek kalmıyor. Kod: (defun c:ck (/ sbt bnd) şeklinde çok daha basit ve sade bir fonksiyon yazılabilir.(setq sbt (getreal "\nÇıkarılacak rakam: " )) (while (and sbt (setq bnd (entsel "\nEksiltilecek rakam: "))) (setq bnd (atof (cdr (assoc 1 (entget (car bnd)))))) (command "text" "c" (getpoint "\nSonucun yazılacağı yer: ") "" 90 (strcat "" (rtos (- bnd sbt) 2 2) "")) (princ))) Kolay gelsin.
|
|
28.11.2012 13:54
mehmet_zaza
|
|
Değerli arkadaşlar hazırladığınız lisp çok güzel yalnız lispi çaliştridimizda yazı yüksekliğini sorarsa çok daha güzel olur bence....SAYGILAR....
|
|
28.11.2012 14:24
|
Alıntı
|
|
28.11.2012 15:34
|
|
Mantık güzel, sonuçta gayet güzel elde ediliyor, hiç itirazım yok. Ben soruyu soran arkadaşımızın isteğini farklı anladığım için öyle yorumladım. :) Eski sabit sayıyı unutmaması için;
Kod: (defun c:ck (/ sbt bnd) (if (= nil (setq sbt (getreal (strcat "\nÇıkarılacak rakam <" (if sbtx (rtos sbtx) "") ">: " )))) (setq sbt sbtx) (setq sbtx sbt)) (while (and sbt (setq bnd (entsel "\nEksiltilecek rakam: "))) (setq bnd (atof (cdr (assoc 1 (entget (car bnd)))))) (command "text" "c" (getpoint "\nSonucun yazılacağı yer: ") "" 90 (strcat "" (rtos (- bnd sbt) 2 2) "")) (princ))) Suyunu çıkardık ya :) if içinde if kullanımının pratik bir örneği :)
|
|
28.11.2012 15:40
|
Alıntı
|
|
17.11.2020 15:55
hakanyuksell
|
|
Selamın Aleykum
Örnek olarak yangın tesisatındaki sıfır kotuna göre olan kotları +1500 kotuna göre ayarlamam gerekiyor. Yani proje üzerindeki kotlardan -1500 çıkartmam gerekiyor. Böyle bir lisp var mı?
|
|
17.11.2020 19:17
|
Alıntı Ornek cizim paylasir misiniz?
|
|
25.02.2021 08:51
munurbabayigit
|
|
Merhabalar, küçük bi sorum olacaktı. içinde "+" yazan text objesinden çıkarma işlemi yapabilecek lisp lazım.
Örn: 19+206.666 - 58.959 = 19+147.707 şeklinde ve işlem yaptığı text objesini değiştirecek.
|
|
lovirfurkan
|
Alıntı Merhaba hocam lispinizi yeni kullanmaya başladım betonu dökülen bir döşemenin kot alımları var ve ben bu kotları referans olması gereken kota göre farklarını üstüne yazmak istiyorum topluca bu lispiniz işimi görüyor fakat tektek seçmek zorunda kalıyorum toplu textleri seçip bir kerede yaoabilir miyiz bunu ?
|