Copyright © 2004-2022 SQL: 1.14 saniye - Sorgu: 53 - Ortalama: 0.02151 saniye
03.02.2017 18:16
hfurkang |
Merhaba arkadaÅŸlar
bir konuda yardımınıza ihtiyacım var. Daha önce forumda alnex.fas ve decc.fas lisplerini kullandım. bu lispler çok işime yaradı ve yapana çok teşekkür etmek istiyorum. Soruma gelince, burdaki lispleden alnex autocadteki seçtiğimiz textleri önceden açmış olduğumuz excellde seçmiş olduğumuz satıra otomatik atıyor. decc lispide line gibi çizgilerin uzunluklarınız yine aynı şekilde excelle atıyor. Benim istediğim, bu iki lispin tek komut olarak çalışması ve seçilen lineların uzunluklarını autocadte de üzerine birimi ile yazsın. Aslında anlattıklarımı özetler isek bu videodaki gibi Linkleri görebilmek için ÜYE olmalısınız. bir lispe ihtiyacım var. Ve tek lisp olarak. bu mümkün müdür? Üstadlarım vaktiniz var ise ilgilenebilir misiniz? şimdiden çok teşekkürler.
|
04.02.2017 10:55
alumina |
Salon mahalline ait kenar uzunluklarini ve minha edilecek kapi-pencere uzunluklarini tek tek excele aktarip sonra sonra tekrardan excelde tek tek yukseklikleri yazip carptirarak metraj hesaplatmak sart degilse;
Fikir; Salon mahalline ait kenarlar ornegin mahal_uzunluk layerinde polyline ile cizilse sonra minha edilecek kapi pencereler icinde ayni sekilde ilgili layerde line veya polyline olarak cizilse ve lisp soyle calissa; *Mahal adi giriniz: (ornegin salon) *Salona ait sinir nesnesini seciniz: (salon dis hatlari icin cizilmis polyline secilecek) *Minha edilecek nesneleri seciniz: (kapi_minha ve pencere_minha layerindeki line veya polyline nesneler secilecek) *Salon yuksekligi: *Kapi yuksekligi: *Pencere yuksekligi: Bu asamadan sonra; istenirse salon, pencere ve kapi kenarlarina olculer cizim uzerinde yazdirilabilir. Direk olarak excele butun veriler aktarilmis olur. Excel 5 satirdan olusur. Baslik satiri Salona ait uzunluk yukseklik ve metraj Kapilara ait uzunluk yukseklik ve metraj Pencerelere ait uzunluk yukseklik ve metraj Toplam metraj daha cabuk olur sanki :)
|
04.02.2017 23:02
hfurkang |
Öncelikle konuya yanıt verdiğiniz için çok teşekkür ederim :) Aslında sizin fikriniz çok daha mantıklı fakat ben lisp konusunda çok yeniyim yani sizin olayı nasıl bulurum ederim bilemiyorum :)
Ayrıca çok karışık çizimler için ölçü alınan linelar ayrı bir renk olması ve üzerine ölçülerin cm cinsinden yazılması herhalde tadından yenmez yapar lispi 😊 umarım bir hayırsever bu iÅŸin ucudan tutar.
|
alumina |
Alıntı Mahal sinirlarini "Mahal_Uzunluk" layerinde polyline ile ciziyoruz. Kapi ve pencereler icin yine "Kapi_Min" ve "Pencere_Min" layerlerinde "line" olarak ciziyoruz. Sonra "mt" komutunu giriyoruz. Mahal adini soracak, yaziyoruz. Mahale ait sinir cizgisini (polyline) secmemizi isteyecek, seciyoruz ve enter tusuna basmıyoruz sonrasinda minha edilecek kapi pencereleri soracak hepsini birden seciyoruz (secim yaparken otomatik olarak "Kapi_Min" ve "Pencere_Min" layerindeki cizgiler secilecektir) Sonra sirasiyla mahal yuksekligi, kapi yuksekligi ve penecere yuksekliklerini cm olarak giriyoruz. Sonrasinda excek dosyasini kayit etmek istedigimiz dizini seciyoruz ve bir isim veriyoruz. Bu kadar. Not: Hayir sahibiyle konustum. Kendisi, kenarlara olcu yazdirmaya usendim, arkadastan da rica et istemesin bunu dedi :) Kod: (defun c:mt (/ mn mp mpp mh my ky py tk tp xl i ly lt) (vl-load-com)
(defun m1 (p1 p2 p3 p4 /) (write-line (strcat p1 "\t" (vl-string-translate "." "," p2) "\t" (vl-string-translate "." "," p3) "\t" p4) xl)) (if (/= (setq mn (getstring "\nMahal adi:")) "") (progn (prompt (strcat mn " sinir cizgisini seciniz:")) (if (setq mp (ssget ":s" '((0 . "lwpolyline") (8 . "Mahal_Uzunluk")))) (progn (redraw (setq mpp (ssname mp 0)) 3) (prompt "\nMinha edilecek kapi ve pencereleri seciniz:") (if (setq mh (ssget '((0 . "line") (8 . "Kapi_Min,Pencere_Min")))) (if (setq my (getdist "\nMahal yuksekligi:")) (if (setq ky (getdist "\nKapi yuksekligi:")) (if (setq py (getdist "\nPencere yuksekligi:")) (if (setq tk 0 tp 0 xl (open (getfiled "" "" "xls" 9) "w")) (progn (m1 "Mahal Adi" "Uzunluk" "Yukseklik" "Metraj") (m1 mn (rtos (/ (setq ml (vla-get-Length (vlax-ename->vla-object mpp))) 100) 2 2) (rtos (/ my 100) 2 2) "=b2*c2") (repeat (setq i (sslength mh)) (setq ly (vla-get-Layer (setq mhn (vlax-ename->vla-object (ssname mh (setq i (1- i)))))) lt (vla-get-Length mhn)) (if (= ly "Kapi_Min") (setq tk (+ tk lt)) (setq tp (+ tp lt)))) (m1 (strcat mn " Kapi") (rtos (/ tk 100) 2 2) (rtos (/ ky 100) 2 2) "=b3*c3*-1") (m1 (strcat mn " Pencere") (rtos (/ tp 100) 2 2) (rtos (/ py 100) 2 2) "=b4*c4*-1") (m1 "" "" "Toplam" "=d2+d3+d4") (close xl) ) ) ) ) ) ) (redraw mpp 4) ) ) ) ) (prin1) )
|