16.02.2022 05:36    

atlas6336
Kod:

(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" "cizgiyazi" "" "" "" "" "" "" "")
(command "osnap" "node")
(command "text" "j" "bc" uy_yaz uy_yaz_yuk (angtos uy_sec_tek_aci) (rtos uy_sec_tek_mes))
(setq uy_c (+ uy_c 1))
)))(setvar "osmode" uy_os)(princ))
(princ " Komutu çalıştırmak için [uy] yazın")(princ)

Bu lispi polyline olarak değiştirmek istiyorum fakat bad arguement 2d/3d point hatası veriyor. Yardımcı olur musunuz ?

ProhibiT (16.02.2022 10:52 GMT)

17.02.2022 21:40    

erkanfener
merhabalar bilgisayarıma format attım daha sonra autocad kurulum yaptım lisp yüklemesi yapmak istiyorum lisp klasörümdeki lispler lisp llogosuz geliyor lispleri yüklüyorum çalışmıyor neden acaba yardımcı olurmusunuz

18.02.2022 07:03    

ehya
Alıntı
erkanfener :
merhabalar bilgisayarıma format attım daha sonra autocad kurulum yaptım lisp yüklemesi yapmak istiyorum lisp klasörümdeki lispler lisp llogosuz geliyor lispleri yüklüyorum çalışmıyor neden acaba yardımcı olurmusunuz






Merhaba erkanfener


Lisplerin bulunduğu klasörü Trusted Locations bölümüne eklediniz mi?
OPTIONS --> FILES --> TRUSTED LOCATIONS

Lisplerin ikonunun olmaması birşey ifade etmez. Önemli olan lisplerin doğru yüklenmesidir. Lisp yüklemesinde hata iletisi alıyorsanız bunu belirtin.

26.02.2022 19:44    

yasmink1978
merhaba
elimde iki tane merdiven çizen lisp var
ancak her ikisi de hem kesit hem de görünüşlerde merdiven uçlarında küçük çıkıntılar oluyor çiziyor
bu küçük parçaların çizime yansımadığı ve mümkünse metrik cinsten kullanabileceğim bir lisp düzenlenebilir mi.
elimdeki lisplerden birisi fas uzantılı türkçe komutlar ile çalışıyor MKE isminde
diğeri ise stairs diye bir komut her ikisini de bu siteden bulmuştum.
yardımcı olabilir misiniz.

25.05.2022 06:43    

teknom
Alıntı
mttlp :
Alıntı
atiemre :
Merhabalar, Benim bir lispe ihtiyacım var.
m3/h cinsinden bir havalandırma debim var ve att blok içine bu debi ile ilgili değerleri yazsın istiyorum. Debiyi ve x y ölçülerini yazdıktan sonra hız basınç değerini otomatik hesaplasın istiyorum.
Örnek verecek olursam,
3000 m3/h
550 x 300
5.05 m/s - 0.76 Pa/m
Kalın yazı ile belirttiğim değerleri bu att blok içine hesaplayıp yazsın istiyorum. Örnek dosyayıda ekte paylaşıyorum.
Bu konuda yardımcı olabilir misiniz?
Ücret karşılığında yapılmışını veririm
12406-debi.dwg






Merhaba bu lispi paylaşabilirmisiniz?

07.10.2022 08:02    

alpayelmas
Merhaba ; Arkadaşlar Nasılsınız?
Bir ATTRİBUTE' un , TAG adı "ÖLÇÜ" olan kısmının içeriği olan değeri gov isimli değişkene atamak istiyorum, bu konuda yardımcı olmanız mümkün mü ?
iyi çalışmalar..

07.10.2022 08:08    

azakli61
merhaba benim bir lispe ihiyacım var bilen var mı acaba diye sormak istedim.
Bir sürü polyline var ve hepsini ölçülendirmm çok zaman alıyor. bunu otomatik ölçülendirebilecek ve ya zölçüyü üzerine yazacak bir polyline lazım yardımcı olabilcek var mı.*

07.10.2022 09:42    

alpayelmas
azakli61
umarım bu işinizi görür

Kod:

(defun C:AD ( / *error* a acdoc b c d dim e fd ht i o p1 p2 p3 pc pm rad sd space ss u opt isLine)
  (setq acDoc (vla-get-activedocument (vlax-get-acad-object))
        space (vlax-get acDoc (if (= (getvar 'cvport) 1) 'paperspase 'modelspace))
        dim (getvar 'dimstyle)
        ht  (* 1.0 (getvar 'dimtxt) (if (= 0 (getvar 'dimanno)) (getvar 'dimscale) (/ 1.0 (getvar 'cannoscalevalue))))
        )
  (vla-startundomark acDoc)

  (defun *error* (msg)
    (and
      msg
      (not (wcmatch (strcase msg) "*CANCEL*,*QUIT*,*BREAK*"))
      (princ (strcat "\nADError: " msg))
      )
    (vla-endundomark acdoc)
    (princ)
    )
 
  (setq opt (mapcar
              '(lambda (a b)
                 (cond
                   ((getdictvar "AD_otions" a))
                   ((setdictvar "AD_otions" a b))
                   )
                 )
              '("Linear" "Arc")
              '("b0" "c0")
              )
        )
 
  (initget "Options")
  (if
    (eq (getkword "\nPress enter to continue or [Options]: ") "Options")
    (setq opt (AD_options opt))
    )
 
  (if
    (setq ss (ssget '((0 . "LWPOLYLINE,LINE,ARC"))))
    (repeat (setq i (sslength ss))
      (setq e (ssname ss (setq i (1- i)))
            o (vlax-ename->vla-object e)
            a (vlax-curve-getstartparam e)
            c (vlax-curve-getendparam   e)
            b nil
            isLine (wcmatch (vla-get-Objectname o) "AcDbLine,AcDbArc")
            )
      (while (<= (setq b (if isLine (if b (1+ b) c) (1+ a))) c)
        (setq p1 (vlax-curve-getpointatparam e a)
              p2 (vlax-curve-getpointatparam e b)
              u  (angle p1 p2)
              pm (vlax-curve-getpointatparam e (/ (+ a b) 2.0))
              sd (vlax-curve-getsecondderiv  e (/ (+ a b) 2.0))
              rad (distance '(0 0 0) sd)
              d  (cond (isLine) ((not (minusp (vla-getbulge o a)))))
              pc (mapcar (if d '+ '-) pm sd)
              p3 (if
                   (or (equal rad 0.0 1e-8) (eq (cadr opt) "c2"))
                   (if
                     (eq (car opt) "b0")
                     (polar pm (+ (atan (/ (sin u) (cos u))) (/ pi 2.0)) ht)
                     (polar pm (- (atan (/ (sin u) (cos u))) (/ pi 2.0)) (* 1.75 ht))
                     )
                   (if
                     (eq (cadr opt) "c0")
                     (polar pm (angle pm pc) (if (<= 1e-4 (angle pc pm) pi) (* 1.75 ht) ht))
                     (polar pm (angle pc pm) (if (<= 1e-4 (angle pc pm) pi) ht (* 1.75 ht)))
                   )
                 )
               )
        (if
          (equal rad 0.0 1e-8)
          (vla-adddimaligned space (vlax-3d-point p1) (vlax-3d-point p2) (vlax-3d-point p3))
          (vla-adddimarc space (vlax-3d-point pc) (vlax-3d-point p1) (vlax-3d-point p2) (vlax-3d-point p3))
          )
        (setq a (1+ a))
        )
      )
    )
  (vla-endundomark acdoc)
  (princ)
  )

(defun AD_options (old / a1 a2 b1 b2 dcl dcl_id file r)
  (setq
    a1 (car old)
    a2 (cadr old)
    dcl (open (setq file (vl-filename-mktemp "AD" (getvar 'dwgprefix) ".dcl")) "w")
  )
  (write-line
    "AD: dialog { label = "Dimension Polyline Options" ;
    : boxed_radio_column { label = "Linear dimension position" ; key = "a1";
    : radio_button { label = "Above line" ; key = "b0";}
    : radio_button { label = "Below line" ; key = "b1";}}
    : boxed_radio_column { label = "Arc dimension position" ; key = "a2";
    : radio_button { label = "Inside arc" ; key = "c0";}
    : radio_button { label = "Outside arc" ; key = "c1";}
    : radio_button { label = "As for lines" ; key = "c2";}}
    ok_cancel ;}"
    dcl)
  (close dcl)
  (if
    (< 0 (setq dcl_id (load_dialog file)))
    (if
      (new_dialog "AD" dcl_id)
      (progn
        (action_tile "a1" "(setq b1 $value)")
        (action_tile "a2" "(setq b2 $value)")
        (set_tile "a1" (setq b1 a1))
        (set_tile "a2" (setq b2 a2))
        (setq r (start_dialog))
        (unload_dialog dcl_id)
        )
      )
    )
  (if (findfile file) (vl-file-delete file))
  (if
    (= r 1)
    (mapcar 'setdictvar
      '("AD_otions" "AD_otions")
      '("Linear" "Arc")
      (list b1 b2)
    )
    (list a1 a2)
  )
)
   
(defun getdictvar (dict var / dict_ename)
  (if
    (setq dict_ename (cdr (assoc -1 (dictsearch (namedobjdict) dict))))
    (cdr (assoc 1 (dictsearch dict_ename var)))
  )
)

(defun setdictvar (dict var val / dict_name record)
  (or
    (setq dict_ename (cdr (assoc -1 (dictsearch (namedobjdict) dict))))
    (setq dict_ename (dictadd (namedobjdict) dict (entmakex '((0 . "DICTIONARY") (100 . "AcDbDictionary")))))
    )
  (if
    (setq record (dictsearch dict_ename var))
    (entmod (subst (cons 1 val) (assoc 1 record) record))
    (dictadd
      dict_ename
      var
      (entmakex
        (list
          '(0 . "DICTIONARYVAR")
          '(100 . "DictionaryVariables")
          '(280 . 0)
          (cons 1 val)
        )
      )
    )
  )
  val
)
 

04.11.2022 09:36    

odrcmn
Hocam acaba
Seçilen PoLyLine objesinin parça boylarını yazdırmadan "Ön Ek" ve " Son Ek" sorarmı ?

Alıntı
ProhibiT :
Daha önce paylaştığım pLoL fonksiyonun ActiveX kullanılarak geliştirilmiş son hali. Fonksiyonun kullanımını, Örnek Video'dan takip edebilirsiniz.
Kod:

;|============================================================================|
|  Seçilen PoLyLine objesinin parça boyları üzerine yazılarak, gösterilen    |
|  yere toplam boy yazılır. PoLyLine segmentleri doğrusal kabul edilir.      |
|  Hazırlayan: M. Şahin Güvercin  29/03/2012 www.autocadokulu.com            |
|____________________________________________________________________________|
|;(write-line "Hazırlayan: M. Şahin Güvercin - www.autocadokulu.com")       ;|
|____________________________________________________________________________|
|;(defun C:PLoL (/ *error* Luf dp L ds tx sTy pLL cRd n1 n2 bn ms ac)       ;|
|; (setvar "cmdecho" 0) (command "undo" "group") (vl-load-com)              ;|
|; (defun *error* (er) (princ (strcat "\n" er))                             ;|
|;  (setq Lufo Luf dpo dp) (command "undo" "e") (prin1))                    ;|
|; (if (= Lufo nil) (setq Lufo 1)) (if (= dpo nil) (setq dpo 2))            ;|
|; (setq Luf (getreal (strcat "\nCizilen/Yazılan orani <" (rtos Lufo) ">:"));|
|;       dp (getint (strcat "\rOndalik basamak sayisi <" (itoa dpo) ">: ")));|
|; (if (= nil Luf) (setq Luf Lufo)) (if (= nil dp) (setq dp dpo))           ;|
|; (setq L 0 ds (* (getvar "dimscale") (getvar "dimgap"))                   ;|
|;       tx (*(getvar "dimscale")(getvar "dimtxt")) sTy(getvar "TextStyle"));|
|; (princ "\rÖlçülendirmek istediğiniz PLine'ı seçiniz: ")                  ;|
|; (while (not (setq pLL (ssget ":s" (list (cons 0 "LWPOLYLINE"))))))       ;|
|; (setq pLL (ssname pLL 0)                                                 ;|
|;       cRd (vlax-safearray->list (vlax-variant-value (vlax-get-property   ;|
|;               (vlax-ename->vla-object pLL) 'Coordinates))))              ;|
|; (if (= (cdr (assoc 70 (entget pLL))) 1)                                  ;|
|;   (setq cRd (append (append cRd (nth 0 cRd)) (nth 1 cRd))))              ;|
|; (setq n (- (length cRd) 2))                                              ;|
|; (while (not (minusp (setq n (- n 2))))                                   ;|
|;   (setq n1 (list (nth n cRd) (nth (1+ n) cRd))                           ;|
|;         n2 (list (nth (+ n 2) cRd) (nth (+ n 3) cRd))                    ;|
|;         bn (mapcar '(lambda (p1 p2) (/ (+ p1 p2) 2.0)) n1 n2)            ;|
|;         ac (angle n1 n2)) (while (>= ac pi) (setq ac (- ac pi)))         ;|
|;   (if (> ac (/ pi 2.0))                                                  ;|
|;     (setq bn (polar bn (- ac (/ pi 2.0)) ds) ac (+ ac pi))               ;|
|;     (setq bn (polar bn (+ ac (/ pi 2.0)) ds)))                           ;|
|;   (setq ms (rtos (* Luf (distance n1 n2)) 2 dp) L (+ L (atof ms)))       ;|
|;   (entmake (list (cons 0 "TEXT") (cons 7 sTy) (cons 10 bn) (cons 40 tx)  ;|
|;                  (cons 1 ms) (cons 50 ac) (cons 72 1) (cons 11 bn))))    ;|
|; (setq L (strcat "L=" (rtos L 2 dp)))                                     ;|
|; (entmake (list (cons 0 "TEXT") (cons 7 sTy) '(10 0.0 0.0 0.0)(cons 40 tx);|
|;                (cons 1 L) (cons 50 0.0) (cons 72 1) '( 11 0.0 0.0 0.0))) ;|
|; (princ "\rToplam Boy için yer seçiniz: ") (setq n1 (list 0.0 0.0 0.0))   ;|
|; (while (and (/= 3 (car (setq n2 (grread T 4 3)))) (/= (car n2) 25))      ;|
|;   (vla-transformby (vlax-ename->vla-object (entlast))                    ;|
|;     (vlax-tmatrix (list (list 1 0 0 (- (car (cadr n2)) (car n1)))        ;|
|;                         (list 0 1 0 (- (cadr (cadr n2)) (cadr n1)))      ;|
|;                         (list 0 0 1 (- (caddr (cadr n2)) (caddr n1)))    ;|
|;                         (list 0 0 0 1)))) (setq n1 (cadr n2)))           ;|
|; (if (= (car n2) 25) (entdel (entlast)))                                  ;|
|; (setq Lufo Luf dpo dp) (command "undo" "e") (prin1))                     ;|
;|___________________________________________________________________________|;

Kolay gelsin.

05.11.2022 10:31    

ProhibiT
Bu fonksiyonun ilk halini 2010 yılında paylaşmısız. Yukarıda alıntıladığınız hali 2012 yılında yazılmış. Kodları gözden geçirdiğimde, başta biçim olmak üzere eleştirilebilecek çok şey görünüyor. Bununla birlikte, aradan geçen 10 küsur seneye rağmen, eğitici, öğretici ve amacı net ve apaçık gerçekleştirmesi bakımından çok yerli yerinde buldum. Büyük ihtimalle fonsiyonu isteyen arkadaşımızın, isteğini ve amacını çok açık ve net ifade etmesi bizi buna yönlendirmiş.

Hal böyle olunca, fonksiyonun özgün halini bozmadan Ön Ek ve Son Ek eklemişken, ölçülendirilecek polyline nesnelerini fonksiyondan (komuttan) çıkmadan peş peşe istendiği kadar seçilmesini sağlayacak bir ekleme de yaptım. Ön Ek ve Son Ek içinde boşluk karakteri bulunabilir. Ön Ek ve Son Ek değerlerini kaldırmak için ilgili sorulara tek bir boşluk karakteri girilmesi yeterli olacaktır. Değerleri kaldırmak için boşluk karakteri girerken sıkıntı yaşarsanız, boşluk karakterini imlecin ucundaki kutudan değilde, AutoCAD Komut Satırından girerseniz hiç bir sıkıntı yaşamazsınız.

Soru (istek) sahibi arkadaşımızın (odrcmn), ne istediğini bilen biri olarak böyle bir şey isteyeceğini sanmamakla birlikte, başkalarından gelecek, "Polyline'ları tek seferde grup olarak seçsek..." şeklindeki isteklere, fonksiyonun kuruluş mantığı ve felsefesine aykırı olduğu için cevap vermeyeceğimi... ve hatta için için söylenemekten kendimi alıkoyamayacağımı söylemek zorundayım.

Selam ve saygılarımla herkese kolaylıklar dilerim.

Kod:

;|============================================================================|
|  Seçilen PoLyLine objesinin parça boyları üzerine yazılarak, gösterilen    |
|  yere toplam boy yazılır. PoLyLine segmentleri doğrusal kabul edilir.      |
|  Hazırlayan: M. Şahin Güvercin  29/03/2012 www.autocadokulu.com            |
|  Önek-Sonek özellikleri eklendi. Önek ve Sonek içinde boşluk karakteri     |
|  bulunabilir. Önek ve Sonek kaldırmak için tek bir boşluk girilmelidir.    |
|  Komuttan çıkmadan teker teker çok sayıda PolyLine seçilebilir.            |
|                                  05.11.2022 www.cizimokulu.com             |
|____________________________________________________________________________|;
;|(write-line "Hazırlayan: M. Şahin Güvercin - www.autocadokulu.com")         |;
(write-line "Hazırlayan: M. Şahin Güvercin - www.cizimokulu.com")
;|____________________________________________________________________________|;
(defun C:PLoL (/ *error* Luf dp Lea Tra Lng ds tx sTy pLL cRd n1 n2 bn ms ac)
  (setvar "cmdecho" 0) (command "undo" "group") (vl-load-com)
;|____________________________________________________________________________|;
  (defun *error* (er/)
    (if (member er '("Function cancelled" "quit/exit abort"))
      (princ (strcat "\n\t*error* " er)))
    (setq Lufo Luf dpo dp Leo Lea Tro Tra)
    (if (= (logand (getvar "undoctl") 8) 8) (command-s "_.undo" "e"))
    (if ocmd (setvar "cmdecho" ocmd)) (prin1))
;|____________________________________________________________________________|;
  (if (= Lufo nil) (setq Lufo 1)) (if (= dpo nil) (setq dpo 2))
  (if (not Leo) (setq Leo "")) (if (not Tro) (setq Tro ""))
  (setq Luf (getreal (strcat "\nCizilen/Yazılan orani <" (rtos Lufo) ">:"))
        dp (getint (strcat "\rOndalik basamak sayisi <" (itoa dpo) ">: "))
        Lea (getstring T (strcat "\nÖn Ek <" Leo ">: "))
        Tra (getstring T (strcat "\nSon Ek <" Tro ">: ")))
  (if (not Luf) (setq Luf Lufo)) (if (not dp) (setq dp dpo))
  (if (= Lea "") (setq Lea Leo) (if (= Lea " ") (setq Lea "")))
  (if (= Tra "") (setq Tra Tro) (if (= Tra " ") (setq Tra "")))
  (setq ds (* (getvar "dimscale") (getvar "dimgap"))
        tx (*(getvar "dimscale")(getvar "dimtxt")) sTy(getvar "TextStyle"))
  (princ "\rÖlçülendirmek istediğiniz PLine'ı seçiniz: ")
  (while (setq pLL (ssget ":s" (list (cons 0 "LWPOLYLINE"))))
    (setq Lng 0 pLL (ssname pLL 0)
          cRd (vlax-safearray->list
                (vlax-variant-value
                  (vlax-get-property
                    (vlax-ename->vla-object pLL) 'Coordinates))))
    (if (= (cdr (assoc 70 (entget pLL))) 1)
      (setq cRd (append (append cRd (list (nth 0 cRd) (nth 1 cRd))))))
    (setq n (- (length cRd) 2))
    (while (not (minusp (setq n (- n 2))))
      (setq n1 (list (nth n cRd) (nth (1+ n) cRd))
            n2 (list (nth (+ n 2) cRd) (nth (+ n 3) cRd))
            bn (mapcar '(lambda (p1 p2) (/ (+ p1 p2) 2.0)) n1 n2)
            ac (angle n1 n2))
      (while (>= ac pi) (setq ac (- ac pi)))
      (if (> ac (/ pi 2.0))
        (setq bn (polar bn (- ac (/ pi 2.0)) ds) ac (+ ac pi))
        (setq bn (polar bn (+ ac (/ pi 2.0)) ds)))
      (setq ms (strcat Lea (rtos (* Luf (distance n1 n2)) 2 dp) Tra)
            Lng (+ Lng (* Luf (distance n1 n2))))
      (entmake (list (cons 0 "TEXT") (cons 7 sTy) (cons 10 bn) (cons 40 tx)
                     (cons 1 ms) (cons 50 ac) (cons 72 1) (cons 11 bn))))
    (setq Lng (strcat "L=" Lea (rtos Lng 2 dp) Tra))
    (entmake (list (cons 0 "TEXT") (cons 7 sTy) '(10 0.0 0.0 0.0)(cons 40 tx)
                   (cons 1 Lng) (cons 50 0.0) (cons 72 1) '( 11 0.0 0.0 0.0)))
    (princ "\rToplam Boy için yer seçiniz: ") (setq n1 (list 0.0 0.0 0.0))
    (while (and (/= 3 (car (setq n2 (grread T 4 3)))) (/= (car n2) 25))
      (vla-transformby (vlax-ename->vla-object (entlast))
        (vlax-tmatrix (list (list 1 0 0 (- (car (cadr n2)) (car n1)))
                            (list 0 1 0 (- (cadr (cadr n2)) (cadr n1)))
                            (list 0 0 1 (- (caddr (cadr n2)) (caddr n1)))
                            (list 0 0 0 1)))) (setq n1 (cadr n2)))
    (if (= (car n2) 25) (entdel (entlast)))
    (princ "\rÖlçülendirmek istediğiniz PLine'ı seçiniz: "))
  (setq Lufo Luf dpo dp Leo Lea Tro Tra)
  (if (= (logand (getvar "undoctl") 8) 8) (command "_.undo" "e"))
  (if ocmd (setvar "cmdecho" ocmd)) (prin1))
;|___________________________________________________________________________|;

ProhibiT (09.11.2022 23:16 GMT)

10.11.2022 09:18    

odrcmn
Çok teşekkürler ProhibiT hocam.

11.01.2023 17:33    

k005
Herkese Merhaba

Aks isminde mavi renk ve çizgi tipi ACAD_ISO04W100 olan bir layerı, AutoLisp ile nasıl oluşturabiliriz?

Mevcutta bu isimde (Aks) Layer varsa oluşturmayacak...

Yardımcı arkadaşa şimdiden teşekkürler.

12.01.2023 06:06    

ehya
k005




Kod:

(if (not (tblobjname "LTYPE" "acadiso.lin"))
(vla-load (vla-get-linetypes (vla-get-activedocument (vlax-get-acad-object))) "ACAD_ISO04W100" "acadiso.lin"))
(if (not (tblsearch "LAYER" "AKS"))
  (progn
    (entmake
      (list  (cons 0 "LAYER")
     (cons 100 "AcDbSymbolTableRecord")
     (cons 100 "AcDbLayerTableRecord")
     (cons 2 "AKS")
     (cons 62 4)   
     (cons 6 "ACAD_ISO04W100")
     (cons 70 0)
     (cons 290 1)
     (cons 370 0)
  ))))

12.01.2023 11:47    

k005
@ehya

Üstad Teşekkür ederim.

17.01.2023 12:02    

akyurd
merhabalar..

döndürüp kordinatlandırdığım projeyi koordinatlar bozulmadan ekranda nasıl düz yapabilirim. yani kordinatlandırdıktan sonra projeyi değilde arka yüzeyi döndürecek bir lisp varmıdır? aradım da bulamadım bunu kullananları daha önceden görmüştüm.

kolaylıklar dilerim herkese..

17.01.2023 14:51    

ehya
Alıntı
akyurd :
merhabalar..
döndürüp kordinatlandırdığım projeyi koordinatlar bozulmadan ekranda nasıl düz yapabilirim. yani kordinatlandırdıktan sonra projeyi değilde arka yüzeyi döndürecek bir lisp varmıdır? aradım da bulamadım bunu kullananları daha önceden görmüştüm.
kolaylıklar dilerim herkese..




Böyle birşey mümkün değil. Orbit ile çevirilebilir ama sonuçta WCS ye geçtiğiniz anda herşey değişecektir.

18.01.2023 09:55    

akyurd
Alıntı
ehya :
Alıntı
akyurd :
merhabalar..
döndürüp kordinatlandırdığım projeyi koordinatlar bozulmadan ekranda nasıl düz yapabilirim. yani kordinatlandırdıktan sonra projeyi değilde arka yüzeyi döndürecek bir lisp varmıdır? aradım da bulamadım bunu kullananları daha önceden görmüştüm.
kolaylıklar dilerim herkese..


Böyle birşey mümkün değil. Orbit ile çevirilebilir ama sonuçta WCS ye geçtiğiniz anda herşey değişecektir.



cevaplar için teşekkür edrim. ehya hocam mailiniz yoktu burdan özel mesaj attım size. konuyu daha iyi anlayabilmeniz için örnek dosyada gönderdim. bu dediğim lisp olmayabilir de , autocad kendi özelliği de olabilir. emin değilim.
Saygılarımla.

18.01.2023 10:35    

ozkul
ucs yi döndürüp ekranı dönük kullanabilirsin. çizimin yeri kaymaz. işin bitince eski ucs ne dönersin.

18.01.2023 10:58    

ehya


cevaplar için teşekkür edrim. ehya hocam mailiniz yoktu burdan özel mesaj attım size. konuyu daha iyi anlayabilmeniz için örnek dosyada gönderdim. bu dediğim lisp olmayabilir de , autocad kendi özelliği de olabilir. emin değilim.
Saygılarımla.




Gönderdiğiniz çizimi inceledim. Bu şekilde bakış açısı (view twist) döndürülmüş. Ancak teknik olarak doğru bir yöntem değil. Yine de tercih sizin.
Çiziminizi bu şekildeki gibi istiyorsanız DVIEW komutu ile yapabilirsiniz. Açı için küsuratlı değer öğrenmeniz gerekecek.
Aks açı değeri 220.41863 olduğunu gördüm. sondaki basamak sayısı ne kadar çok olursa o kadar hassas olur.
Bu değeri 360'dan çıkarın.
360 - 220.41863 = 319.58137

- DVIEW komutunu çalıştırın.
- Enter' ile devam edin.
- TWIST alt komutunu çalıştırın.
- 319.58137 yazıp enter'a basın.
- Tekrar enter'a basarak komutu bitirin.

18.01.2023 11:42    

akyurd
Alıntı
ehya :


cevaplar için teşekkür edrim. ehya hocam mailiniz yoktu burdan özel mesaj attım size. konuyu daha iyi anlayabilmeniz için örnek dosyada gönderdim. bu dediğim lisp olmayabilir de , autocad kendi özelliği de olabilir. emin değilim.
Saygılarımla.


Gönderdiğiniz çizimi inceledim. Bu şekilde bakış açısı (view twist) döndürülmüş. Ancak teknik olarak doğru bir yöntem değil. Yine de tercih sizin.
Çiziminizi bu şekildeki gibi istiyorsanız DVIEW komutu ile yapabilirsiniz. Açı için küsuratlı değer öğrenmeniz gerekecek.
Aks açı değeri 220.41863 olduğunu gördüm. sondaki basamak sayısı ne kadar çok olursa o kadar hassas olur.
Bu değeri 360'dan çıkarın.
360 - 220.41863 = 319.58137
- DVIEW komutunu çalıştırın.
- Enter' ile devam edin.
- TWIST alt komutunu çalıştırın.
- 319.58137 yazıp enter'a basın.
- Tekrar enter'a basarak komutu bitirin.


Çok teşekkür ederim hocam. Elinize , emeğinize sağlık.

Önceki Sayfa [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] > 95 < [100] Sonraki Sayfa
Copyright © 2004-2022 SQL: 1.226 saniye - Sorgu: 131 - Ortalama: 0.00936 saniye