Copyright © 2004-2022 SQL: 1.584 saniye - Sorgu: 91 - Ortalama: 0.01741 saniye
08.02.2011 06:17
allengir |
Mehmet şahin güvercin hocam'ın ellerine sağlık.
lispi yükleyince command:weight yazın 3d objenizi seçin kg olarak size ağırlığı versin. lisp aşağıda Kod: (defun c:weight (/ agrlk)
(setq agrlk (* (/ (nth 0 (dos_massprops (car (entsel "\nselect a solid:")))) 1000) 0. 00785)) (princ (strcat "\nseçilen objenin ağırlığı: " (rtos agrlk) " kg. ")) (prin1) ) (setq platform (getvar "platform") platform (substr platform (- (strlen platform) 2) 2) bd:acad_ver (substr (getvar "acadver") 1 2)) (cond ((= bd:acad_ver "15") (if (not (member "doslib15. arx" (arx))) (arxload "doslib15. arx"))) ((= bd:acad_ver "16") (if (not (member "doslib16. arx" (arx))) (arxload "doslib16. arx"))) ((= bd:acad_ver "17") (if (= platform "64") (if (not (member "doslib17x64. arx" (arx))) (arxload "doslib17x64. arx")) (if (not (member "doslib17. arx" (arx))) (arxload "doslib17. arx")))) ((= bd:acad_ver "18") (if (= platform "64") (if (not (member "doslib18x64. arx" (arx))) (arxload "doslib18x64. arx")) (if (not (member "doslib18. arx" (arx))) (arxload "doslib18. arx"))))) ehya (08.02.2011 06:58 GMT) |
08.02.2011 06:59
ehya |
Şahin hocamın yazdığı bu lispi çalıştırmak için yamaları gerekir. doslib dosyaları olmadan bu lispi çalıştıramazsınız. . .
|
09.02.2011 06:06
allengir |
Doğru. Doslib dosyalarını burada yayınlayabiliyormuyuz?
|
09.02.2011 09:08
ProhibiT |
Doslib dosyaları -. arx formatında freeware yazılımlar olup robert mcneel & associates'in sitesinden indirilebilir.
autolisp kodunda görülen, bilgisayar işlemci türü ve işletim sistemi ile autocad versiyonunu tanıyıp bunlara göre uygun doslib. arx dosyasını yükleyen bölüm, mehmet şamil hocamızın bana gönderdiği bir fonksiyondan düzenlenmiştir. fonksiyonun son halini tekrar paylaşmak isterim: Kod: (defun c:weight (/ agrlk yyuk yyeri) bu haliyle fonksiyon hesaplanıp yazdırılan ağırlık değerini windows clipboard'a alır, gerek autocad ve gerekse başka bir programda paste/yapıştır işlemiyle kullanılabilir. doslib dosyalarının yüklenişi sırasında hata kontrolü de eklendi. (setvar "cmdecho" 0) (command "undo" "group") (setvar "modemacro" "prepared by:m. s. güvercin") (setq platform (getvar "platform") platform (substr platform (- (strlen platform) 2) 2) bd:acad_ver (substr (getvar "acadver") 1 2)) (cond ((= bd:acad_ver "15") (if (not (member "doslib15. arx" (arx))) (if (findfile "doslib15. arx") (arxload "doslib15. arx") (progn (princ "\n*** doslib15. arx bulunamadı!") (exit))))) ((= bd:acad_ver "16") (if (not (member "doslib16. arx" (arx))) (if (findfile "doslib16. arx") (arxload "doslib16. arx") (progn (princ "\n*** doslib16. arx bulunamadı!") (exit))))) ((= bd:acad_ver "17") (if (= platform "64") (if (not (member "doslib17x64. arx" (arx))) (if (findfile "doslib17x64. arx") (arxload "doslib17x64. arx") (progn (princ "\n*** doslib17x64. arx bulunamadı!") (exit))) (if (not (member "doslib17. arx" (arx))) (if (findfile "doslib17. arx") (arxload "doslib17. arx") (progn (princ "\n*** doslib17. arx bulunamadı!") (exit))))))) ((= bd:acad_ver "18") (if (= platform "64") (if (not (member "doslib18x64. arx" (arx))) (if (findfile "doslib18x64. arx") (arxload "doslib18x64. arx") (progn (princ "\n*** doslib18x64. arx bulunamadı!") (exit)))) (if (not (member "doslib18. arx" (arx))) (if (findfile "doslib18. arx") (arxload "doslib18. arx") (progn (princ "\n*** doslib18. arx bulunamadı!"))))))) (if (= eyuk nil) (setq eyuk (* (getvar "dimtxt") (getvar "dimscale")))) (setq yyuk (getreal (strcat "\nyazi yuksekligi <" (rtos eyuk) "> :"))) (if (= yyuk nil) (setq yyuk eyuk) (setq eyuk yyuk)) (while (setq mlzm (car (entsel "\nselect a solid:"))) (setq agrlk (* (nth 0 (dos_massprops mlzm)) 7. 85e-006) yyeri (getpoint "\n select a point for the weight text")) (if (< agrlk 1. 0) (setq agrlk (strcat "0" (rtos agrlk 2 3))) (setq agrlk (rtos agrlk 2 3))) (entmake (list (cons 0 "text") (cons 10 yyeri) (cons 11 yyeri) (cons 40 yyuk) (cons 50 0) (cons 72 1) (cons 1 agrlk)))) (dos_clipboard agrlk) (setvar "modemacro" "") (command "undo" "e") (prin1) ) library ve autolisp dosyalarının tamamını indirmek için: 174410-agirlik.rar kolay gelsin. admin (15.07.2011 14:04 GMT) |
15.07.2011 09:16
SENDUR |
Hocam elimde bir çok "solid obje" var ve hespinin toplam ağırlını bir kerede bulmak istiyorum. sizin bu yazdığınız lispi çoklu seçim yapabilecek şekilde değiştirmemiz mümkünmüdür?
saygılar
|
15.07.2011 12:20
ProhibiT |
Kod: (defun c:weight (/ platform bd:acad_ver mlzm agrlk yyuk yyeri)
(setvar "cmdecho" 0) (command "undo" "group") (setvar "modemacro" "Prepared by:M.S.Güvercin") (setq platform (getvar "platform") platform (substr platform (- (strlen platform) 2) 2) bd:acad_ver (substr (getvar "acadver") 1 2)) (cond ((= bd:acad_ver "15") (if (not (member "doslib15.arx" (arx))) (if (findfile "doslib15.arx") (arxload "doslib15.arx") (progn (princ "\n*** doslib15.arx bulunamadı!") (exit))))) ((= bd:acad_ver "16") (if (not (member "doslib16.arx" (arx))) (if (findfile "doslib16.arx") (arxload "doslib16.arx") (progn (princ "\n*** doslib16.arx bulunamadı!") (exit))))) ((= bd:acad_ver "17") (if (= platform "64") (if (not (member "doslib17x64.arx" (arx))) (if (findfile "doslib17x64.arx") (arxload "doslib17x64.arx") (progn (princ "\n*** doslib17x64.arx bulunamadı!") (exit))) (if (not (member "doslib17.arx" (arx))) (if (findfile "doslib17.arx") (arxload "doslib17.arx") (progn (princ "\n*** doslib17.arx bulunamadı!") (exit))))))) ((= bd:acad_ver "18") (if (= platform "64") (if (not (member "doslib18x64.arx" (arx))) (if (findfile "doslib18x64.arx") (arxload "doslib18x64.arx") (progn (princ "\n*** doslib18x64.arx bulunamadı!") (exit)))) (if (not (member "doslib18.arx" (arx))) (if (findfile "doslib18.arx") (arxload "doslib18.arx") (progn (princ "\n*** doslib18.arx bulunamadı!"))))))) (if (= eyuk nil) (setq eyuk (* (getvar "dimtxt") (getvar "dimscale")))) (setq yyuk (getreal (strcat "\nYazi yuksekligi <" (rtos eyuk) "> :"))) (if (= yyuk nil) (setq yyuk eyuk) (setq eyuk yyuk)) (princ "\nSelect solid(s): ") (while (setq mlzm (ssget (list (cons 0 "3DSOlid")))) (setq L (sslength mlzm) n -1 agrlk 0) (while (< (setq n (1+ n)) L) (setq agrlk (+ agrlk (* (nth 0 (dos_massprops (ssname mlzm n))) 7.85e-006)))) (setq yyeri (getpoint "\n Select a point for the Weight Text")) (if (< agrlk 1.0) (setq agrlk (strcat "0" (rtos agrlk 2 3))) (setq agrlk (rtos agrlk 2 3))) (entmake (list (cons 0 "TEXT") (cons 10 yyeri) (cons 11 yyeri) (cons 40 yyuk) (cons 50 0) (cons 72 1) (cons 1 agrlk))) (princ "\rSelect solid(s): ")) (setvar "modemacro" "") (command "undo" "e") (prin1) )
|
15.07.2011 12:30
SENDUR |
Hocam çok teşekkürler. elleriniz dert görmesin.
|
22.07.2011 19:42
ProhibiT |
|
22.02.2012 08:27
ProhibiT |
3DSolid Objelerin Ağırlığını Hesaplayıp Yazan Lisp fonksiyon, dos_lib kullanmadan çalışacak şekilde düzenlendi. Kodlar ve dosya daha sade ve küçük hale geldi. Son halini sitemiz download bölümünden indirebilirsiniz. 3d Solid Objelerin Ağırlığını Hesaplayıp Yazan Lisp
|
22.02.2012 09:43
k005 |
Alıntı Hocam çok kullanışlı bir lisp olmuş.., Teşekkürler..
|
22.02.2012 12:26
arif35 |
ben lisp kullanmadım hiç yukarıda verilen lispi kopyaladım ancak nasıl çalıştırılacağını bilmiyorum. yardım etmek isteyen arkadaşlara elimi uzattım.
|
22.02.2012 14:03
ProhibiT |
Linkleri görebilmek için ÜYE olmalısınız. Linkleri görebilmek için ÜYE olmalısınız. Linklerinde sorunuzun cevabı var. Burada paylaşılan fonksiyon üzerinden gidip örneklersek; - Linkleri görebilmek için ÜYE olmalısınız. linkinden Agirlik.rar dosyasını indirin. - _.rar dosyasının içindeki Agirlik.Lsp dosyasını AutoCAD ...\Support klasörüne çıkarın. - _.rar dosyasının şifresi autocadokulu.com - AutoCAD komut satırından AppLoad girin. - Agirlik.Lsp dosyasını bulup Load butonuna tıklayın. - OK butonuna tıklayıp AppLoad diyalog penceresini kapatın. ______________________________________________ Command: appload Agirlik.Lsp successfully loaded. Command: Command Name: AgrLk Author: ©M.Şahin Güvercin (ProhibiT®) - www.autocadokulu.com Command: ______________________________________________ şeklinde fonksiyonun yüklendiğini gösteren mesajlar görüntülenecektir. Bundan sonra AGRLK isimli yeni komutunuz kullanıma hazırdır.
|
07.05.2012 15:16
KADIKIZI |
Öncelikle çok çok teşekkürler. emeginize ellerinize saglık :D
Lisp konusunu çok iyi anlayamadıgımdan sanırım bazı lispler çalışıyor kullanabildim ama agırlık lispini kullanamadım. ve merakıma yenilip bir soru sormak istiyorum ahşap - kompozit - aluminyum - çelik - vs bunların özgül agırlıkları vs farklı bunları nasıl algılatabiliyoruz. bu nedenle kullanamamış olablir miyim? iyi çalışmalar.
|
07.05.2012 17:12
ProhibiT |
Öncelikle fonksiyonun son halini
Linkleri görebilmek için ÜYE olmalısınız. linkinden indirin. Özgül ağırlık değerinin kullanıcı tarafından girilmesi gerekiyor. Özgü ağırlık birimini çevirmeye çalışmayınız, bildiğiniz, bulabildiğiniz birimde girebilirsiniz. Özgül Ağırlık, gr/mm³, gr/cm³, gr/m³, kg/mm³, kg/cm³, kg/m³, T/mm³, T/cm³ veya T/m³ birimlerinden birinde olabilir. Fonksiyon 3DSoLid objenin hacmini kullanıcının belirlediği çizim biriminde hesaplar. Çizim birimi, mm., cm. veya m. olabilir. Sonuçta hesaplanan ağırlık gene kullanıcının belirlediği birimde yazılır. Ağırlık birimi, gr., kg. veya Ton olabilir. Fonksiyon gerekli birim çevirme işlemlerini sizin adınıza yaparak sonuçları istediğiniz formatta yazar. Görüldüğü gibi son derece kullanıcı dostu (user friendly) bir fonksiyondur. Burada bahsedilen birim ve değerleri karşınıza gelecek diyalog kutusundan kolayca yapabilirsiniz. Çelik için; 7.86 gr/cm³. Ahşap için; doğal ahşabın cinsine göre 600~800 kg/m³. Alüminyum için; 2.699 gr/cm³. değerlerini alabilirsiniz. Bundan sonra 3DSoLid objeleri çizerken kullandığınız Uzunluk birimini doğru olarak girmelisiniz. Sonuçları hangi birimde istiyorsanız, gr., kg. veya Ton. olarak yazdırabilirsiniz.
|
10.05.2012 10:46
KADIKIZI |
:D çok teşekkür ederim.
|
24.07.2017 11:51
SENDUR |
Hocam merhaba;
Ben autocad e bir müddet ara verdim 3-4 yıl kadar ( üniversiteye gittim tekrardan) suan 2016 yüklü ve bu lispi çalıştıramadım. Affınıza sığınarak yardım istiyorum. Şu hatayı veriyor. Eskiden bunun doslips lisini kullanıyordum. şimdi onuda kullanamıorum Command: AGRLK //--------------------=={ 3dkg.dcl Dialog Definition }==--------------------// // Author: M. Sahin Guvercin, Copyright © 2012 // // www.autocadokulu.com // //---------------------------------------------------------------------------// wght:dialog{ label="**** 3DSolid Objelerin Ağırlık Hesabı ****"; : boxed_column{ : popup_list{alignment=centered;label=" Özgül Ağırlık Birimi:"; key="Bhb";edit_width=10; list="\ngr/mm³\ngr/cm³\ngr/m³\nkg/mm³\nkg/cm³\nkg/m³\nT/mm³\nT/cm³\nT/m³";} : edit_box{alignment=centered;label=" Özgül Ağırlık Değeri:"; key="Bha";edit_width=11;} : popup_list{alignment=centered;label=" Kullanılan Uzunluk Birimi:"; key="Len";edit_width=10;list="\nmm.\ncm.\nm.";} : popup_list{alignment=centered;label="Hesaplanacak Ağırlık Birimi:"; key="Wei";edit_width=10;list="\nGr.\nKg.\nT.";} : edit_box{alignment=centered;label=" Yazı Yüksekliği:"; key="Yzy";edit_width=11;} : edit_box{label="Ondalık Basamak Sayısı:";key="dpL";edit_width=11;} spacer;spacer;} : boxed_row{: text{key="CpR";value= " Hazırlayan:M.Şahin Güvercin - www.autocadokulu.com" ;}}ok_cancel;} Cannot invoke (command) from *error* without prior call to (*push-error-using-command*). Converting (command) calls to (command-s) is recommended. Saygılar emeğinize sağlık
|
ProhibiT |
Merhaba,
Son iki satırlık hata mesajı bu programın neden olduğu bir hataya benzemiyor. Çünkü kodlara yeniden baktım Pushveya Pop error using kullanılmamış. Diğer hataya gelince, sanıyorum gene aynı durumla karşı karşıyayız. AutoCAD klasörlerinde yeterli erişim yetkisine sahip değilseniz, kendi -.dcl dosyasını oluşturmaya çalışırken, yetkisizlik nedeniyle dosyaya yazamayınca ekran yazıyor -.dcl satırlarını. Bunun çözümü, AutoCAD klasörlerinde, ki burada ...\AutoCAD XXXX\Support klasörü kullanılmaya çalışıyor, kendinize tam erişim yetkisi almanızdır. Daha basit ve ilkel çözümü: AutoCAD'i Yönetici/Administrator olarak çalıştırmak... Kolay gelsin
|