Copyright © 2004-2022 SQL: 1.986 saniye - Sorgu: 101 - Ortalama: 0.01966 saniye
13.05.2019 17:07
snkr5528 |
Merhaba, ekteki çizimin sadece dış çerçeve görüntüsünü çıkartmak istiyorum. Bunun gibi çok çizim var. Benim bildiğim trim, fillet gibi komutlar çok vakit alıyor. Acaba bunu yapacak kısa bir yol, komut var mı? Bu konuda bilgisi olan arkadaşlar bir yol gösterirse memnun olurum.
|
13.05.2019 21:48
alumina |
Alıntı Dis hatta temas eden butun nesnelerin kapali polyline ve bu kapali polyline lerin butun vertex lerinin z koordinatinin 0 oldugu varsayilirsa; "Region" komutunu girin ve bu polyline nesneleri secip enter leyin. Nesneler region nesnesine donusecektir. Daha sonra "Union" komutunu girin ve bu region nesneleri secip enter leyin, istediginiz sonucu elde edeceksiniz.
|
14.05.2019 00:15
snkr5528 |
Teşekkürler. Verdiğiniz bilgi gerçekten çok faydalı oldu. "Union" komutunu sürekli 3D çizerken kullanıyordum. Fakat bu şekilde kullanılabileceğini de sayenizde öğrendim.
|
15.05.2019 01:54
alumina |
Alıntı Region nesnelerle 3D nesneler karakteristik olarak benzerlik gosterirler.3D modellemede kullandiginiz subtract komutunuda region nesnelerde kullanabilirsiniz.
|
16.05.2019 22:04
snkr5528 |
Verdiğiniz bilgiler için teşekkür ederim. Merak ettiğim farklı bir konuda da öğrenmek adına bir sorum olacak. Bir toolbar oluşturup buraya butonlar koydum. Bir butona macro olarak da ^C^C_pline \W 10 10 yazdım. (W10 Pline çizmek için). Diğer bir butona ^C^C_pline \W 0 0 yazdım. Farklı çizgi kalınlıklarını hemen oluşturmak için.
Fakat diğer bir butonla da C: nin altındaki bir lispi çalıştırmak istedim. Bunu yapamadım. Bunu macroya yazmanın ve bastığımızda pencere açılmadan istediğimizde direk lispi yüklemenin bir yolu var mıdır. ^C^C_^C^C_appload ??? gibi. (Contents hariç). Macro konusunda bilgisi olan arkadaşlar bilgi verirlerse memnun olurum.
|
17.05.2019 05:12
Travaci |
Kod: ^C^C(if (not c:komut_adi) (load "lisp.lsp") (c:komut_adi))
|
18.05.2019 13:07
snkr5528 |
Hocam teşekkürler. Fakat ben yapamadım.
Oluşturduğum butona basınca C:\Belgelerim klasörü altında TOPLAM.lsp yüklenmesini istiyorum. Acaba verdiğiniz kod satında bunu nasıl yazmam gerekiyor. Yoksa lispin belirli bir klasörde mi olması gerekiyor. ^C^C(if (not c:komut_adi) (load "lisp.lsp") (c:komut_adi))
|
18.05.2019 18:06
Travaci |
autocad kütüphanesine dosya yolunu göstermeli yada tanımlı olanlardan "support gibi" birinin içine atmalısın.
|
19.05.2019 16:41
snkr5528 |
Bir şeyi eksik yapıyorum herhalde..:dozingoff
Lispi support altına attım. Butona macro olarak, ^C^C(if (not c:TOPLAM_MM) (load "TOPLAM.lsp") (c:TOPLAM_MM)) yazdım. Yeni dosya açıp butona ilk bastığımda komut satırında, Command: (if (not c:TOPLAM_MM) (load "TOPLAM.lsp") (c:TOPLAM_MM)) C:TOPLAM_MM yazıyor. Komut başlamıyor. ESC e basıyorum. Sonra tekrar aynı butona bastığımda komut çalışıyor ve komut satırında, Command: (if (not c:TOPLAM_MM) (load "TOPLAM.lsp") (c:TOPLAM_MM)) Select objects: çıkıyor. Seçtikten sonra işlemleri yapıyor. Fakat ENTER e basınca komut sonlanmıyor. Tekrar ENTER a bastığımda komutu tekrar açmıyor. Bir önceki açılan komutu açıyor. Acaba macronun içinde mi bir değişiklik yapmak gerekiyor. Önceki hali hali aşağıdaki gibiydi. Lispi yükledikten sonra düzgün çalışıyordu. ^C^C_TOPLAM_MM
|
04.08.2019 19:08
ufuk75 |
(DEFUN
C:DD() (defun *error* (msg) (princ "\n--->Back and forth, back and forth (sigh...) ") (setvar "clayer" l) (princ msg) (princ) ) (SETQ L (GETVAR "CLAYER")) ;; assigns the current layer to the variable L (setvar "clayer" "OLCU 01") ;; changes the current layer to DIM (COMMAND "_.DIMVERTICAL" PAUSE PAUSE PAUSE)(COMMAND "_dimcontinue") ;; invokes the DIMLINEAR command and pauses for user input (setvar "clayer" l) ;; returns to the original layer (princ)) ;;;;;;;;;;;;;;;;;;; (DEFUN C:YY() (defun *error* (msg) (princ "\n--->Back and forth, back and forth (sigh...) ") (setvar "clayer" l) (princ msg) (princ) ) (SETQ L (GETVAR "CLAYER")) ;; assigns the current layer to the variable L (setvar "clayer" "OLCU 02") ;; changes the current layer to DIM (COMMAND "_.DIMHORIZONTAL" PAUSE PAUSE PAUSE)(COMMAND "_dimcontinue") ;; invokes the DIMLINEAR command and pauses for user input (setvar "clayer" l) ;; returns to the original layer (princ)) Lisp kodu iki ayrı komuttan kurtarılıp tek komutta yine fonksiyonlarını yapabilir mi.? bu haliyle dikey ölçülendirmede faklı layer yatayda faklı layer kullanmakta bu hali çok uygun sadece tek komutta dikey ölçüde dikey olçü için atanmış layeri kullansın yatay ölçüde yatay ölçü layerini kullansın komut bitiminde ilk kullanılan seçili layere dönsün . Çok mu yapılamaz bir istekdir bilemedim şimdiden yardımlarınız için teşekkür ederim.
|
19.08.2019 14:17
yaratk |
Arkadaşlar herkese merhaba, ben hakediş yapıyorum, ve bunları ataşman paftaları üzerinde her bir imalata ayrı bir imalat no verecek şekilde pozluyorum. Bana gereken toplu olarak seçtiğim çizgilerin tam üzerine 1. satıra " AAAA.BBBB ", 2. satıra çizginin toplam uzunluğunu ve " cm" yazacak, 3. satıra layerin kendi adını yazacak. Bu bütün ataşman hakkedişlerinde işe yarayacak bir sistem. şimdiden teşekkürler.
|
19.08.2019 19:48
alumina |
Alıntı Kod: (defun c:ltx (/ dc a1 a2 tx d ns z n md ax)
(vl-load-com) (if (setq dc (vla-get-ActiveDocument (vlax-get-acad-object)) a1 (/ pi 2) a2 (+ a1 pi) tx (getvar 'textsize) d (* 2 tx) ns (ssget '((0 . "line")))) (progn (vla-StartUndomark dc) (repeat (setq z (sslength ns)) (setq z (1- z) n (vlax-ename->vla-object (ssname ns z)) md (mapcar '(lambda(a b) (/ (+ a b) 2)) (vlax-get n 'StartPoint) (vlax-get n 'EndPoint)) ax (vla-get-Angle n) ax (+ ax (if (and (> ax a1) (<= ax a2)) pi 0))) (foreach m (list (list "AAAA.BBBB" (polar md (+ ax a1) d)) (list (strcat (rtos (vla-get-Length n) 2 2) " cm") md) (list (vla-get-Layer n) (polar md (+ ax a2) d))) (entmake (list '(0 . "text") (cons 1 (car m)) (cons 10 (cadr m)) (cons 11 (cadr m)) (cons 40 tx) (cons 50 ax) '(71 . 0) '(72 . 1) '(73 . 2))))) (vla-EndUndomark dc) ) ) (prin1) )
|
20.08.2019 20:56
onurkurnaz |
Alıntı Herzaman desteğini esirgemeyen alüminaya teşekkürü bir borç bilirim
|
21.08.2019 06:51
Travaci |
yaratk alumina if i were you i would write like this : ) Kod: (defun c:er (/ ac ln n ob an lg) (vl-load-com)
(if (setq ac (vla-get-ActiveDocument (vlax-get-acad-object)) ln (ssget '((0 . "line")))) (progn (vla-startundomark ac) (repeat (setq n (sslength ln)) (setq ob (vlax-ename->vla-object (ssname ln (setq n (1- n)))) an (vla-get-angle ob) lg (vla-get-length ob) an (+ an (if (and (<= an 4.71239) (> an 1.5708)) 3.14159 0))) (entmake (list '(0 . "mtext") '(100 . "AcDbEntity") '(100 . "AcDbMText") (cons 40 (getvar "textsize")) '(71 . 5) '(72 . 5) '(73 . 1) '(90 . 3) (cons 10 (vlax-curve-getpointatdist ob (/ lg 2))) '(63 . 256) (cons 50 an) (cons 1 (strcat "AAAA.BBBB\n" (rtos lg 2 2) " cm\n" (vla-get-Layer ob))))) ) (vla-endundomark ac) ) ) (princ) ) Travaci (21.08.2019 08:45 GMT) |
21.08.2019 07:41
alumina |
Alıntı ok come be my place : )
|
21.08.2019 07:46
Travaci |
I prefer to be myself :D
|
21.08.2019 08:43
alumina |
Alıntı that's why i love you : )
|
23.08.2019 16:07
TENTEN143 |
Merhaba,ilk kez bir istekte bulunacağım sizlerden.Yıllardır mekanik tesisat projesi çiziyorum.Geçmiş zamanda çalıştığım bir firmada dikdörtgen kanalı çizerken aynı zamanda izolesiz yada izoleli olduğun soran bir lisp görmüştüm fakat sadece o firmanın serverende çalışıyordu.Lisp şöyle;
dikdörtgen kanal çizeceksin,kanalı genişliği ve yükseklik ölçülerini giriyorsun,sonra lisp sana kanalın üfleme emiş olup olmadığını ve izoleli olup olmayacağını soruyor.Belki zor bir şey istiyorum ama benim için çok önemli bir lisp.Elinde olan arkadaşlar paylaşırlarsa çok çok memnun olurum.
|
25.08.2019 20:48
yaratk |
yardımlarınız için öncelikle teşekkür ederim arkadaşlar şimdi kullanacağım sonuçları göreceğim.
|
yaratk |
Tekrar merhaba arkadaşlar yardımlarınız için teşekkür ederim.(defun c:uy ()
(setq uy_os (getvar "osmode")) (setq uy_sec nil) (setq uy_sec (ssget (list (cons 0 "LINE")))) (if (= uy_sec nil) (progn (princ " Nesne seçimi yok. Komut bitirildi...")) (progn (if (= uy_yaz_yuk nil)(setq uy_yaz_yuk 12)) (initget 2) (setq uy_yaz_y (getdist (strcat " Yazılacak yazının Yüksekliği:<" (rtos uy_yaz_yuk) ">:"))) (if (= uy_yaz_y nil)(setq uy_yaz_y uy_yaz_yuk)) (setq uy_yaz_yuk uy_yaz_y) (setq uy_c 0) (setq uy_say (sslength uy_sec)) (while (< uy_c uy_say) (setq uy_sec_tek (ssname uy_sec uy_c)) (setq uy_sec_tek_10 (cdr (assoc 10 (entget uy_sec_tek))) uy_sec_tek_11 (cdr (assoc 11 (entget uy_sec_tek)))) (setq uy_sec_tek_mes (distance uy_sec_tek_10 uy_sec_tek_11)) (setq uy_sec_tek_10_x (car uy_sec_tek_10) uy_sec_tek_10_y (cadr uy_sec_tek_10) uy_sec_tek_11_x (car uy_sec_tek_11) uy_sec_tek_11_y (cadr uy_sec_tek_11)) (setq uy_yaz_x (/ (+ uy_sec_tek_10_x uy_sec_tek_11_x) 2.00) uy_yaz_y (/ (+ uy_sec_tek_10_y uy_sec_tek_11_y) 2.00) uy_yaz (list uy_yaz_x uy_yaz_y)) (if (< uy_sec_tek_10_x uy_sec_tek_11_x) (progn (setq uy_sec_aci_bas uy_sec_tek_10) (setq uy_sec_aci_son uy_sec_tek_11) ) (progn (setq uy_sec_aci_bas uy_sec_tek_11) (setq uy_sec_aci_son uy_sec_tek_10))) (setq uy_sec_tek_aci (angle uy_sec_aci_bas uy_sec_aci_son)) (command "style" "standard" "" "" "" "" "" "" "") (command "osnap" "node") (command "_.text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (strcat "aaaa.bbbb _L: "(rtos uy_sec_tek_mes 2 2) " cm_H: qqqq cm")) (setq uy_c (+ uy_c 1)) )))(setvar "osmode" uy_os)(princ)) (princ " Komutu çalıştırmak için [UY] yazın")(princ) yukarıdaki lispte "cm h: qqqq cm" yerine seçilen objenin layerinin adının yazmasını istiyorum. Travaci ve Alumina arkadaşlar yardımlarından ötürü teşekkür ederim. Kıymetli yardımlarınızı bekliyorum. Bu kod üzerinde revizyon yaparsanız sevinirim arkadaşlar.
|