|
01.02.2017 07:57
mikemoon
|
dosya aşagıdaki linktedir.
Linkleri görebilmek için ÜYE olmalısınız.
|
|
01.02.2017 08:15
ehya
|
|
Boyama, eski usül, solid komutu parça parça yapılmış.
Toplu seçim yapılarak slot nesnesine çevirebilecek kod nasıl yazılır? Fikrim yok...
|
|
01.02.2017 08:46
mikemoon
|
merhaba ehya
bu tip resimlerde var aralarında bunda slotların içi farklı bunuda kontrol edebilirmisin.
Linkleri görebilmek için ÜYE olmalısınız.
|
|
01.02.2017 09:07
ehya
|
mikemoon
Aşağıdaki kod işinizi görecektir.
komut ismi SLH
Kod:
(defun c:slh ()
(if (setq slh_sec (ssget (list (cons 0 "HATCH"))))
(progn
(setq c 0 slh_say (sslength slh_sec))
(while (< c slh_say)
(setq slh_tek (ssname slh_sec c))
(command "-hatchedit" slh_tek "B" "p" "y")
(command "_.erase" slh_tek "")
(setq c (1+ c)))))(princ))
|
|
01.02.2017 09:46
mikemoon
|
eline sağlık süper olmuş fakat bir sorun var aşağıdaki resimdeki gibi olabilir mi.
|
|
01.02.2017 10:02
Travaci
|
|
Bu aşk bitmez : )
|
|
01.02.2017 10:45
ehya
|
bitmez haklısın :)
aşağıdaki kod ihtiyacınızı görür.
umarım yeterli olur!
Kod:
(defun c:slh ()
(defun *error* (msg)
(if (not (wcmatch (strcase msg t) "*cancel*,*exit*"))
(progn
(setvar "osmode" os)
(princ (strcat "\nError: " msg)))))
(setq os (getvar "osmode"))
(if (setq slh_sec (ssget (list (cons 0 "HATCH"))))
(progn
(setq c 0 slh_say (sslength slh_sec))
(while (< c slh_say)
(setq slh_tek (ssname slh_sec c))
(vla-getboundingbox (vlax-ename->vla-object slh_tek) 'MinP 'MaxP)
(setq MinP (vlax-safearray->list MinP)
MaxP (vlax-safearray->list MaxP)
sagalt (list (car maxp)(cadr minp))
solust (list (car minp)(cadr maxp)))
(setvar "osmode" 0)
(command "_.pline" (polar minp 0.0 (/ (distance sagalt maxp)2.0))
(polar minp 0.0 (- (distance minp sagalt) (distance sagalt maxp)))
"a"
(polar (getvar 'lastpoint) (/ pi 2.0) (distance sagalt maxp))
"l"
(polar (getvar 'lastpoint) pi (- (distance minp sagalt)(* (distance sagalt maxp)1.5)))
"a"
"close")
(command "_.erase" slh_tek "")
(setq c (1+ c)))
(setvar "osmode" os) (setq *error* nil)
))(princ))
|
|
01.02.2017 11:04
mikemoon
|
|
eyvallah sağolasın süper olmuş tam istediğim gibi.
|
|
01.02.2017 11:07
Travaci
|
ehya
Bu slotların layerını slot yapabilirmiyiz ? Buda olursa bence süper olur :)
|
|
01.02.2017 12:49
ehya
|
|
travaci
Onu da yaparız yapmasına da. ya ondan sonra....
devam edecekse ben oynamıyorum :)
|
|
01.02.2017 13:12
kartal07
|
|
Merhaba Arkadaşlar ;
Elimde bloğun adını,description ve layer bilgilerini değiştiren lisp var.(dialog kutusu ile).
Proje içerisinde 10 adet aynı isimde,description ve layer bilgilerine sahip blok mevcuttur.Ben 10 adet bloğun ayrı ayrı bilgilerini değiştirmek istiyorum.Bloğun birini değiştirdiğimde 10 adet bloğun bilgileri değişiyor.Bana yardımcı olabilir misiniz arkadaşlar.
|
|
01.02.2017 13:14
Travaci
|
kartal07
Seninde bildiğin üzre, patlatıp yeniden block yapıcaksın.
|
|
01.02.2017 19:05
waytooraider
|
|
Merhaba,
Attribute blokları seçip attout yaptığımızda text dosyasına o attributes ın tag değerlerini ve ayrıcada handle diye uniq o attributes a özel kod oluşturuyor o kod hariç texteki o tag değerlerini değiştirip attin yaptığımızda autocad teki attributes tagları otomatik güncelleniyor...
Böyle bir uniq kodun olduğuna emindim ve sonunda buldum.. Asıl istediğim bu attributeların oluşma zamanına müdahale etmek istiyorum... Böyle bir şey mümkün mü?
|
|
03.02.2017 18:10
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.
|
|
19.02.2017 12:09
muratsemih
|
Alıntı ehya :
travaci
Onu da yaparız yapmasına da. ya ondan sonra....
devam edecekse ben oynamıyorum :)
ahahaha :)) çok güldüm sayenizde Allah ta sizi güldürsün :D
|
|
20.02.2017 15:11
cngzklc
|
Merhaba Arkadaşlar,
Bir lisp isteği de benden olacak yardımcı olabilirseniz sevinirim.
Lisp'in konusu; polyline'nın açınımı yapmak.
Yani arc'lardan ve line'lardan oluşan bir grup polyline'i tek düzlemde, parçalı olarak ( yani arc uzunluğu+line uzunluğu+arc uzunluğu....vb) tek bir polyline olarak seçili noktaya çizecek.
Umarım derdimi anlatabilmişimdir.
Aşağıdaki linkte istenilen lisp'in görseli bulunmaktadır.
Teşekkürler.
https://drive.google.com/open?id=0Bx3zfUhJoPO5THloMjNha2VhQVE
|
|
20.02.2017 21:04
alumina
|
Alıntı cngzklc :
Kod:
(defun c:acn (/ ss pt dc ns k ls) (vl-load-com)
(if (setq ss (ssget ":s" '((0 . "lwpolyline"))))
(progn (redraw (ssname ss 0) 3)
(if (setq pt (getpoint "\nPoint:"))
(progn
(vla-startundomark (setq dc (vla-get-activedocument (vlax-get-acad-object))))
(setq ns (vlax-ename->vla-object (ssname ss 0)) k 0 ls (cons pt ls))
(repeat (fix (vlax-curve-getendparam ns))
(setq ls (cons (polar pt 0 (vlax-curve-getdistatparam
ns (setq k (1+ k)))) ls)))
(setq ls (apply 'append (mapcar '(lambda(a) (list (car a) (cadr a)))
(reverse ls))))
(vla-addLightWeightPolyline (vla-get-modelspace dc) (vlax-safearray-fill
(vlax-make-safearray vlax-vbdouble (cons 0 (1- (length ls)))) ls))
(vla-endundomark dc)
)
) (redraw (ssname ss 0) 4)
)
) (prin1)
)
|
|
21.02.2017 05:44
cngzklc
|
|
Alumina Hocam çok teşekkür ederim.
Tam istediğim gibi olmuş. Ellerinize sağlık.
|
|
21.02.2017 06:57
Travaci
|
cngzklc
Alumina
Dallandırıp budaklandırmaya gerek var mı ? :)
Kod:
(defun c:Aaa (/ os tp ad pt ss) (vl-load-com)
(if (and (ssget (list (cons 0 "*Line,Arc,Ellipse,Spline,Circle")))
(setq tp 0 ad (vla-get-activedocument (vlax-get-acad-object))
pt (getpoint "\nSpecify point: ")))
(progn
(vlax-for os (setq ss (vla-get-activeselectionset ad))
(setq tp (+ tp (vlax-curve-getDistAtParam os (vlax-curve-getEndParam os)))))
(vla-startundomark ad) (vla-addline (vla-get-modelspace ad) (vlax-3d-point pt)
(vlax-3d-point (polar pt 0 tp))) (vla-endundomark ad) (vla-delete ss)
)
) (princ)
)
Travaci (03.03.2017 06:40 GMT)
|
alumina
|
Alıntı Travaci :
polyline yerine line cizilmesini gectim, bari "activeselectionset" i silseydiniz :)
|