Reklam

Çizim Paylaş

Bülten Aboneliği
*  E-posta adresiniz:



* Güvenlik kodu:
> 1 < [2] [3] Sonraki Sayfa
İleti Yazar
21.02.2012 17:50
68033    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

Merhaba arkadaşlar,

waytooraider arkadaşımız her zamanki gibi reddedilmesi mümkün olmayan bir nezaketle istekte bulunmuştu. Arkadaşımızın isteğini yerine getirirken, pek çok kullanıcının işine yarabileceğini düşüncesinin yanı sıra, yazar arkadaşlarımız için de ilginç olabilecek bazı ipuçları içeren bu fonksiyonu bağımsız bir başlık altında paylaşmayı uygun gördüm.

Bahsettiğimiz fonksiyonun daha basit ve sade halini daha önce Lisp İstekleri başlığı altında paylaşmıştık. İstek sahibi arkadaşımızın örneklediği gibi, tesisat projelerinde boru metrajlarının hazırlanmasında yardımcı olmak üzere yazılmış bir fonksiyon. Ufku geniş arkadaşlarımızın bu tür fonksiyonları benim saf şeytanımın aklına gelmeyen alanlarda kullandıklarını bildiğimden, mümkün olan en genel amaca uygun ve esnek bir yapıda yeniden yazdım.

Fonksiyon çalıştırıldığında bir diyalog penceresi aracılığıyla, Ondalık Basamak Sayısı, Poz Numarası Başlangıç Sayısı, Mahal adı, Malzeme cinsi ve Boru Çapı değerleri kolayca girilebilir. Kullanılan aLd.dcL dosyasını fonksiyon ...\support klasöründe kendiliğinden oluşturur. Daha önce de bir kaç defa açıkladığımız gibi, ...\support klasöründe dosyanın oluşturulabilmesi için, kullanıcının söz konusu klasörlere yeterli erişim yetkisinin olması gerekiyor.

Linkleri görebilmek için ÜYE olmalısınız.

linkinde ve orada verilen diğer linklerde bu konunun detaylarını görebilirsiniz.

Eğer açık olan drawing dosyanızda ebL isimli bLock yok ise fonksiyon sizin için bu bLock'u oluşturur. Oluşturulan bLock örnek ve kılavuz niteliğindedir. BLock Editor ile ebL bLock'unda istediğiniz her türlü değişikliği yapabilirsiniz. Attribute'lerin yerlerini ve hizalama şekillerini değiştirebileceğiniz gibi istediğiniz attribute'ü tamamen kaldırabilirsiniz. Tek şartla ki, bLock içinde attribute'lerden en az bir tanesi kalmalıdır. Poz numarası attribute'ünün yerini değiştirebileceğiniz gibi, çember yerine dikdörtgen koyabilir veya tamamen kaldırabilirsiniz.

Eğer fonksiyonun oluşturduğu ebL bLock'unu yukarıda açıklanan şekilde değiştirmek isterseniz, fonksiyonu çalıştırıp açılan diyalog kutusundan Cancel seçerek çıktıktan sonra, bLock editor kullanarak ebL bLock'unda istediğiniz değişiklikleri yapabilirsiniz. Fonksiyon bundan sonra tamamen sizin belirlediğiniz ebL bLock'unu kullanarak çalışacaktır. Kısaca özetlemek gerekirse, kullanıcının belirlediği bLock ve yerleşim düzeni fonksiyon tarafından algılanıp kullanılacaktır.

Fonksiyon Line, Polyline, Lwpolyline, Spline, Arc ve Circle objelerini işleme alır, uzunluklarını hesaplayıp yazar. Listelenen obje türlerinden seçilmeye devam edildikçe, sıralı poz numarası, geçerli Mahal, Malzeme ve çap değerlerini kullanarak işleme devam edilir. Kullanılan Ondalık Basamak Sayısı, Poz Numarası, Mahal ve Malzeme bilgileri ile Çap değerini değiştirmek için fonksiyon sonlandırılarak, yeniden çalıştırılır, başlangıçta açılan diyalog penceresinden istenen değişiklikler yapıldıktan sonra işleme devam edilir.

Fonksiyon sonlandırıldığında, hatta drawing dosyası save edilerek çıkılıp tekrar açıldığında, fonksiyon dosya içinde kullanılan en büyük poz numarasını bularak, numaralandırmaya buradan devam eder.

Kod:

;|===========================================================================|
| Seçilen Line, Polyline, Lwpolyline, Spline, Arc veya Circle objelerinin   |
| uygun yerine Mahal, Malzeme, Poz Numarası, Çap ve Boy Atrribute'lerini    |
| içeren "ebL" isimli bLock insert edilir.                                  |
| Hazırlayan: M. Şahin Güvercin  23.11.2012  www.autocadokulu.com           |
|___________________________________________________________________________|;
(defun cRtbLk ()
  (entmake (list '(0 . "BLOCK") '(100 . "AcDbEntity") '(100 . "AcDbBlockBegin")
    '(70 . 2) '(10 0.0 0.0 0.0) '(2 . "EbL") '(1 . "EbL")))
  (entmake (list '(0 . "CIRCLE") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbCircle") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(-2.49912 3.0 0.0))) (cons 40 (* TsZ 1.65))))
  (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbText") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(-3.935 2.49966 0.0))) (cons 40 TsZ) '(1 . "1") '(50 . 0.0) '(72 . 4)
    (cons 11 (mapcar '(lambda (p) (* p TsZ)) '(-2.49912 3.0 0.0)))
    '(100 . "AcDbAttributeDefinition") '(280 . 0) '(3 . "Poz:") '(2 . "POZ")
    '(70 . 0) '(280 . 1)))
  (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbText") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(0.0 3.0 0.0))) (cons 40 TsZ) '(1 . "Mahal") '(50 . 0.0) '(72 . 0)
    (cons 11 (mapcar '(lambda (p) (* p TsZ)) '(0.0 0.0 0.0)))
    '(100 . "AcDbAttributeDefinition") '(280 . 0) '(3 . "Mahal:")
    '(2 . "MAHAL") '(70 . 0) '(280 . 1)))
  (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbText") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(0.0 1.5 0.0))) (cons 40 TsZ) '(1 . "Malzeme") '(50 . 0.0) '(72 . 0)
    (cons 11 (mapcar '(lambda (p) (* p TsZ)) '(0.0 0.0 0.0)))
    '(100 . "AcDbAttributeDefinition") '(280 . 0) '(3 . "Malzeme:")
    '(2 . "MALZEME") '(70 . 0) '(280 . 1)))
  (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbText") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(0.0 0.0 0.0))) (cons 40 TsZ) '(1 . "0.00") '(50 . 0.0) '(72 . 0)
    (cons 11 (mapcar '(lambda (p) (* p TsZ)) '(0.0 0.0 0.0)))
    '(100 . "AcDbAttributeDefinition") '(280 . 0) '(3 . "Boy: ") '(2 . "BOY")
    '(70 . 0) '(280 . 1)))
  (entmake (list '(0 . "ATTDEF") '(100 . "AcDbEntity") '(62 . 0)
    '(100 . "AcDbText") (cons 10 (mapcar '(lambda (p) (* p TsZ))
    '(-3.87244 0.0 0.0))) (cons 40 TsZ) '(1 . "1\"") '(50 . 0.0) '(72 . 2)
    (cons 11 (mapcar '(lambda (p) (* p TsZ)) '(-1.0 0.0 0.0)))
    '(100 . "AcDbAttributeDefinition") '(280 . 0) '(3 . "Cap: ") '(2 . "CAP")
    '(70 . 0) '(280 . 1)))
  (entmake (list '(0 . "ENDBLK")))
)
;|___________________________________________________________________________|;
(defun crTdcL (aLddLg / f dcLf)
  (setq f (open aLddLg "w"))
  (foreach dcLf
'("//------------------=={ AlddLg.dcl Dialog Definition }==------------------//"
  "//              Author: M. Sahin Guvercin, Copyright © 2012              //"
  "//                        www.autocadokulu.com                           //"
  "//-----------------------------------------------------------------------//"
  "aLd:dialog{"
  "label=\"**** Boru Metrajı ****\";"
  ": boxed_column{"
  ": edit_box{label=\"Ondalık Basamak Sayısı:\";"
  "key=\"dpL\";edit_width=25;}"
  ": edit_box{label=\"Başlangıç Poz Numarası:\";"
  "key=\"Poz\";edit_width=25;}"
  ": edit_box{alignment=right;label=\"                            Mahal: \";"
  "key=\"Mah\";edit_width=25;}"
  ": edit_box{alignment=centered;label=\"                       Malzeme:\";"
  "key=\"MaL\";edit_width=25;}"
  ":edit_box{alignment=centered;label=\"                               Çap:\";"
  "key=\"Cap\";edit_width=25;}"
  "spacer;spacer;}"
  ": boxed_row{: text{key=\"CpR\";value="
  "\"          Hazırlayan: © M.Şahin Güvercin - www.autocadokulu.com\""
  ";}}ok_cancel;}")
  (write-line dcLf f)) (close f)
)
;|___________________________________________________________________________|;
(defun rt (Rob Bas Ang / TmT)
  (setq Rob (vlax-ename->vla-object Rob) Tmt (vlax-tmatrix
    (list (list (cos Ang) (- (sin Ang)) 0 (- (car Bas)(- (* (car Bas)(cos ang))
      (* (cadr bas) (sin Ang))))) (list (sin Ang) (cos Ang) 0 (- (cadr Bas)
      (+ (* (car Bas) (sin Ang)) (* (cadr Bas) (cos Ang))))) (list 0 0 1 0)
      (list 0 0 0 1)))) (vla-transformby Rob Tmt)
)
;|___________________________________________________________________________|;
(defun sc (Mob Bas sc / TmT)
  (setq Mob (vlax-ename->vla-object Mob) TmT (vlax-tmatrix
    (list (list sc 0 0 (car Bas)) (list 0 sc 0 (cadr Bas))
          (list 0 0 sc (caddr Bas)) (list 0 0 0 1))))
  (vla-transformby Mob TmT)
)
;|___________________________________________________________________________|;
(defun mv (Mob fPt SPt / TmT)
  (setq Mob (vlax-ename->vla-object Mob) Tmt (vlax-tmatrix
    (list (list 1 0 0 (- (car sPt) (car fPt))) (list 0 1 0 (- (cadr sPt)
      (cadr fPt))) (list 0 0 1 (- (caddr sPt) (caddr fPt))) (list 0 0 0 1))))
  (vla-transformby Mob Tmt)
)
;|___________________________________________________________________________|;
(write-line "\n Hazırlayan: M. Şahin Güvercin - www.autocadokulu.com")
;|___________________________________________________________________________|;
(defun c:aLd (/ *error* bLkY ebLd MhLAtr MLzAtr PozAtr CapAtr BoyAtr PvT bLck
              PzLr dcL_id waht_next n Czg Boy BiP aCi aC0 aC1)
  (setvar "cmdecho" 0) (command "_.undo" "group") (vl-load-com)
  (defun *error* (er) (princ er) (princ em) (command "_.undo" "e"))
  (setq em  " M. Şahin Güvercin - www.autocadokulu.com"
        TsZ (getvar "DimTxt") scL (getvar "DimScaLe") TxH (* TsZ scL))
  (setq aLddLg (strcat (substr (findfile "acad.exe") 1 (- (strlen (findfile
                                          "acad.exe")) 8)) "Support\\aLd.dcL"))
  (if (not (findfile aLddLg)) (CrTdcL aLddLg))
  (if (not (tblsearch "bLock" "EbL")) (crTbLk))
  (setq bLkY (tblobjname "bLock" "EbL") ebLd (entget bLkY) MhLAtr nil
        MLzAtr nil PozAtr nil PozAtr nil CapAtr nil BoyAtr nil pzLr nil
        Poz nil) (if (not dpL) (setq dpL (getvar "Luprec")))
  (if (not Cap) (setq Cap ""))
  (if (not Mahal) (setq MahaL ""))
  (if (not MaLzeme) (setq MaLzeme ""))
  (while (setq bLkY (entnext bLkY)) (setq PvT (entget bLkY))
    (if (= (cdr (assoc 0 PvT)) "ATTDEF")
      (cond ((= (cdr (assoc 2 PvT)) "MAHAL")   (setq MhLAtr PvT))
            ((= (cdr (assoc 2 PvT)) "MALZEME") (setq MLzAtr PvT))
            ((= (cdr (assoc 2 PvT)) "POZ")     (setq PozAtr PvT))
            ((= (cdr (assoc 2 PvT)) "CAP")     (setq CapAtr PvT))
            ((= (cdr (assoc 2 PvT)) "BOY")     (setq BoyAtr PvT)))))
  (if (setq bLck (ssget "x" (list (cons 0 "INSERT") (cons 2 "ebL"))))
    (progn (setq n (sslength bLck))
      (while (not (minusp (setq n (1- n))))
        (setq PvT (ssname bLck n))
        (while (/= (cdr (assoc 0 (entget (setq PvT (entnext PvT))))) "SEQEND")
          (if (= (cdr (assoc 2 (entget PvT))) "POZ")
            (setq pzLr
                   (append pzLr (list (atoi (cdr (assoc 1 (entget PvT))))))))))
      (setq Poz (nth 0 (vl-sort pzLr '>))))) (if (not Poz) (setq Poz 0))
  (if (< (setq dcl_id (load_dialog aLddLg)) 0) (exit))
  (setq what_next -1)
  (while (< what_next 2)
    (if (not (new_dialog "aLd" dcl_id)) (exit))
    (set_tile "dpL" (itoa dpL)) (set_tile "Poz" (itoa (1+ Poz)))
    (set_tile "Mah" MahaL) (set_tile "MaL" MaLzeme) (set_tile "Cap" Cap)
    (action_tile "dpL" "(setq dpL (atoi (get_tile \"dpL\")))")
    (action_tile "Poz" "(setq Poz (1- (atoi (get_tile \"Poz\"))))")
    (action_tile "Mah" "(setq MahaL (get_tile \"Mah\"))")
    (action_tile "MaL" "(setq MaLzeme (get_tile \"MaL\"))")
    (action_tile "Cap" "(setq Cap (get_tile \"Cap\"))")
    (action_tile "accept" "(done_dialog 2)")
    (action_tile "cancel" "(done_dialog 3)")
    (setq what_next (start_dialog)))
  (if (= what_next 3) (exit))
  (princ "\r Ölçüsü yazılacak Obje(ler) seçiniz: ")
  (while (setq Czg (ssget ":s" (list (cons 0 "*line,arc,circle,ellipse"))))
    (setq n (sslength Czg))
    (while (not (minusp (setq n (1- n))))
      (setq Boy (vlax-curve-getDistAtParam (setq a (vlax-ename->vla-object
                                   (ssname Czg n))) (vlax-curve-getendparam a))
            BiP (vlax-curve-getPointAtDist a (/ Boy 2.0)))
      (setq kYs (cdr (assoc 0 (entget (ssname Czg n)))))
      (if (= (cdr (assoc 0 (entget (ssname Czg n)))) "LINE")
        (setq aCi (vlax-curve-getFirstDeriv a (/ Boy 2)))
        (setq aCi '(0.0 0.0 0.0)))
      (if (not (equal (car aCi) 0.0 1.0e-16))
        (setq aCi (atan (/ (cadr aCi) (car aCi)))) (setq aCi 0.0))
      (while (>= aCi pi) (setq aCi (- aCi pi)))
      (if (<= aCi (/ pi 2.0))
        (setq aC0 aCi aC1 (+ aCi (/ pi 2.0)))
        (setq aC0 (- aCi pi) aC1 (- aCi (/ pi 2.0))))
      (setq BiP (polar BiP aC1 (* (/ TsZ 2.0) scL)))
      (entmake (list '(0 . "INSERT") '(100 . "AcDbEntity") '(67 . 0)
        '(100 . "AcDbBlockReference") '(66 . 1) '(2 . "EbL") (assoc 10 ebLd)
        (cons 41 1) (cons 42 1) (cons 43 1) (cons 50 0) '(70 . 0) '(71 . 0)
        '(44 . 0.0)'(45 . 0.0)))
      (if MhLAtr (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity")
        (assoc 62 MhLAtr) '(100 . "AcDbText") (assoc 10 MhLAtr)
        (assoc 40 MhLAtr) (cons 1 MahaL) (assoc 50 MhLAtr) (assoc 41 MhLAtr)
        (assoc 51 MhLAtr) (assoc 71 MhLAtr) (assoc 72 MhLAtr) (assoc 11 MhLAtr)
        '(100 . "AcDbAttribute") '(280 . 0) (assoc 2 MhLAtr) (assoc 70 MhLAtr)
        (assoc 73 MhLAtr)(assoc 74 MhLAtr) '(280 . 1))))
      (if MLzAtr (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity")
        (assoc 62 MLzAtr) '(100 . "AcDbText") (assoc 10 MLzAtr)
        (assoc 40 MLzAtr)(cons 1 MaLzeme) (assoc 50 MLzAtr) (assoc 41 MLzAtr)
        (assoc 51 MLzAtr) (assoc 71 MLzAtr) (assoc 72 MLzAtr) (assoc 11 MLzAtr)
        '(100 . "AcDbAttribute") '(280 . 0) (assoc 2 MLzAtr) (assoc 70 MLzAtr)
        (assoc 73 MLzAtr)(assoc 74 MLzAtr) '(280 . 1))))
      (if PozAtr (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity")
        (assoc 62 PozAtr) '(100 . "AcDbText") (assoc 10 PozAtr)
        (assoc 40 PozAtr) (cons 1 (itoa (setq Poz (1+ Poz)))) (assoc 50 PozAtr)
        (assoc 41 PozAtr) (assoc 51 PozAtr) (assoc 71 PozAtr) (assoc 72 PozAtr)
        (assoc 11 PozAtr) '(100 . "AcDbAttribute") '(280 . 0) (assoc 2 PozAtr)
        (assoc 70 PozAtr) (assoc 73 PozAtr) (assoc 74 PozAtr) '(280 . 1))))
      (if CapAtr (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity")
        (assoc 62 CapAtr) '(100 . "AcDbText") (assoc 10 CapAtr)
        (assoc 40 CapAtr) (cons 1 Cap) (assoc 50 CapAtr) (assoc 41 CapAtr)
        (assoc 51 CapAtr)(assoc 71 CapAtr) (assoc 72 CapAtr) (assoc 11 CapAtr)
        '(100 . "AcDbAttribute") '(280 . 0) (assoc 2 CapAtr) (assoc 70 CapAtr)
        (assoc 73 CapAtr)(assoc 74 CapAtr) '(280 . 1))))
      (if BoyAtr (entmake (list '(0 . "ATTRIB") '(100 . "AcDbEntity")
        (assoc 62 BoyAtr) '(100 . "AcDbText") (assoc 10 BoyAtr)
        (assoc 40 BoyAtr) (cons 1 (rtos Boy 2 dpL)) (assoc 50 BoyAtr)
        (assoc 41 BoyAtr) (assoc 51 BoyAtr) (assoc 71 BoyAtr) (assoc 72 BoyAtr)
        (assoc 11 BoyAtr) '(100 . "AcDbAttribute") '(280 . 0) (assoc 2 BoyAtr)
        (assoc 70 BoyAtr) (assoc 73 BoyAtr) (assoc 74 BoyAtr) '(280 . 1))))
      (entmake (list '(0 . "SEQEND") '(100 . "AcDbEntity")))
      (vlax-put-property
        (vlax-ename->vla-object (ssname Czg n)) 'Layer (getvar "CLayer"))
      (sc (entlast) (cdr (assoc 10 ebLd)) scL)
      (rt (entlast) (cdr (assoc 10 ebLd)) aC0)
      (mv (entlast) (cdr (assoc 10 ebLd)) BiP))
      (princ "\r Ölçüsü yazılacak Obje(ler) seçiniz: "))
  (command "_.undo" "e") (princ)
)


Yazar arkadaşlarımızın dikkatini çekmek istediğim bir kaç konu:

Transformatiom Matrix kullanımını detaylı olarak örneklemek için, Translation, Rotate ve Scale işlemlerini yapan fonksiyonları ayrı ayrı yazdım. Aslında her üç işlem için yazılan matrislerin çarpım matrisi oluşturularak tek seferde, scale, rotate ve move işlemi yapılabilir.

Daha önce de başka bir başlık altında açıkladığım gibi, Line (çizgi) objesi BuLg (bombe) si sıfır olan bir Arc (yay) dır. Bu nedenledir ki, işleme alınan tüm obje türleri için uzunluk hesaplanırken (vlax-curve-getDistAtParam fonksiyonu kullanılabilmiştir.

Bir fonksiyonun (fonksiyonla tanımlı objenin, mesela bir eğrinin) verilen noktadaki birinci türevi (first derivative), o noktadaki teğetinin eğimidir. Yani Tanjant Alfa değeridir. (vlax-curve-getFirstDeriv fonksiyonu seçilen objenin teğet vektörünü verir. Yani DeltaX, DeltaY ve DeltaZ'den oluşan bir List üretir.

Herkese Kolay gelsin...

Düzenleme:
- Ellipse objelerini de seçip işlem yapacak şekilde düzenlendi.
- İşleme alınan objelerin Layerları ebL bLock'u ile aynı Layer a geçirecek şekilde düzenlendi.


Düzenleyen ProhibiT (23.11.2012 20:55 GMT)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

21.02.2012 22:50
68034    
Harbi65

[10] Üstad

Online Durumu

413 ileti
İnş.Tekn. Teknik Ressam
KASTAMONU

Hocam güzel bir örnek olmuş eline sağlık, ayrıca da değerli bilgiler vermişsiniz yine, teşekkürler.

21.02.2012 23:00
68035    
waytooraider

[8] Kıdemli Uzman

Online Durumu

152 ileti
makine mühendisi
istanbul

Hocam Tek kelimeyle mükemmel olmuş.Yani inanılmaz.Ne diyeceğimi bilemiyorum.Bu lisple revit mevit mech. mep gereksiz oldu.Herşeyi şiir gibi taglayıp,adresleyip mükemmel bir şekilde nakış gibi projeyi işleyebiliriz.Sadece dimtxt'i değiştirince blokların text değeri değişmiyor. cizgiden uzaklığı değişiyor.Bloğa sağ tıklayıp Edit Blok in place ile textleri scale ile buyutebiliyoruz.Olayı çözdüm galiba

Size olan saygımı nasıl ifade edeceğimi bilemiyorum.Kelimeler haikaten yetersiz kalıyor.


Düzenleyen waytooraider (22.02.2012 01:41 GMT)

22.02.2012 05:24
68037    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

Teşekkür ederim Harbi65 hocam. Zaman zaman herkesin gözünün korktuğu matematik konularının o kadar da zor olmadığını örnekleyerek açıklamaya çalışıyorum. Orta öğretim dahil, eğitimin her aşamasında türev diye bir şey anlatılır, bir sürü de formül verilir. Öyle onlarca türev formülü falan yok bir tek türevin geometrik anlamı var. İntegral de öyle. Matrisler konusunda da durum aynı. Eğitim sürecindeki yanlışı, ezber mantığını aşmak gerek. Trigonometri de birim çember'den ibaret...

waytooraider, güzel sözleriniz için teşekkür ediyorum. Epeyce abartmışsınız
Fırsat bulduğumda poz numaralarını biribirine ve uzunlukları da objelere field ile bağlayacak şekilde düzenleme yapılırsa, o zaman daha güzel olur sanıyorum.

Text yükseklikleri ebL bLock'u tanımlanırken dimtxt değişkeninden alınıyor. Fonksiyon çalışırken bLock tanımından değerleri alıyor. Yani bLock tanımlandıktan sonra dimtxt değişkeninin değiştirilmesi etkili olmuyor. insert edilirken ebL bLock'unun büyüklüğünü, ve dolayısıyla attribute text'lerinin yüksekliğini ayarlamak için dimscale değişkenini kullanabilirsiniz.

Kolay gelsin.

Where there is a will, there is a way... Beğenmek için anlamak lazım...

02.03.2012 12:09
68156    
waytooraider

[8] Kıdemli Uzman

Online Durumu

152 ileti
makine mühendisi
istanbul

Hocam lispi kullanırken çemberi tam olarak ölçüyor ama yarım yayları ölçmüyor farzı misal 90 lık dirseğinin dış çemberi.hata kodu ise
"bad argument type: numberp: nil "
Çemberi farklı farklı açılarda parçalara ayırdığımızda fonksiyonu çalıştırdığımızda aynı hatayı veriyor.
Fonksiyonun bir önceki versiyonunda bu sıkıntı yok.Yeni hali çok yakışıklı eski versiyonunu kullanmak istemiyorum

Saygılarımla Şahin Hocam

02.03.2012 13:39
68160    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

Arc objelerinde bir hata oluşuyor anlaşılan. Orta noktasını bulurken veya türevini alıp teğetini bulurken bir hata oluşuyor olabilir. İlk fırsatta bakacağım.

Where there is a will, there is a way... Beğenmek için anlamak lazım...

05.03.2012 10:32
68178    
makina3228

[1] Yeni üye

Online Durumu

1 ileti
mühendis
istanbul

hocam saygılar süper olmuş.elinize saglık.

06.03.2012 08:10
68182    
asword

[2] Girişimci

Online Durumu

1 ileti
makina müh.
istanbul

Gerçekten elinize sağlık. İş yerinde metraj çıkarmak için harcadığım zamanı ciddi miktarda azaltmama yardımcı olacak bir lisp. Teşekkürler.

20.04.2012 10:19
68536    
mttlp

[5] Uzman

Online Durumu

83 ileti
Teknik Ressam
ankara

ıyı gunler elınıze saglık 2012 ben bu komutu kullanıyorum bılgı verırsenız sevınırım elınıze saglık

en sevdiğim komut copy

20.04.2012 18:06
68544    
halilozcakir

[10] Üstad

Online Durumu

534 ileti
Mekanik Teknik Ressam /Teniker
İstanbul

merhaba , program files dosyasına tam denetim sahibiyim ama lispi yükleyemedim ? lisp de bilmiyorum sadece kullanıcıyım ,
utanarak yazıyorum acad dikkate bile almadı biraz araştırdım lispi inceledim defun c den sonra (:) yok onuda öğrendim ki başka bir tür lisp
yani kopyala text e yapıştır uzantısını .lsp yap kopyala support a yükle . değil
kusura bakmayın saygılar.

20.04.2012 20:39
68545    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara



Linkleri görebilmek için ÜYE olmalısınız.

linkine bir göz atmanızı tavsiye ederim...

Where there is a will, there is a way... Beğenmek için anlamak lazım...

21.04.2012 10:38
68554    
halilozcakir

[10] Üstad

Online Durumu

534 ileti
Mekanik Teknik Ressam /Teniker
İstanbul

%100 aynısını yapıyorum biliyorum . .hiçbir fark yok daha öncekilerden.komut adı rtblk giryorum hiç bir değişiklik yok.
biraz daha kurcalayayım başka makinede bir daha deneyeyim ..

21.04.2012 14:08
68565    
mttlp

[5] Uzman

Online Durumu

83 ileti
Teknik Ressam
ankara

hoca elıne saglıkda autocad 2012de calısmıyor bılgı verırmsın tskler

en sevdiğim komut copy

21.04.2012 18:38
68571    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

Halilozcakir, bir yanlış anlaşılma var herhade... Fonksiyon adı, başlıkta da görüldüğü gibi aLd. Diğer gördüğünüz function tanımları ana fonksiyonun kullandığı alt fonksiyonlar olup kullanıcının ilgi alanı dışındadırlar.

mttlp, iki mesajınız da biri biriyle tutarsız... birincisinde zaten soru yok. "2012'de çalışmıyor" ne demek? Burada paylaştığımız fonksiyonlar her tür AutoCAD versiyonunda çalışırlar. "Ben çalıştıramadım" diye başlayıp probleminizi yazarsanız, bir yardım eden bulunur. Bunca insan nasıl çalıştırıyor acaba?


Düzenleyen ProhibiT (21.04.2012 23:54 GMT)

Where there is a will, there is a way... Beğenmek için anlamak lazım...

23.04.2012 10:05
68577    
mttlp

[5] Uzman

Online Durumu

83 ileti
Teknik Ressam
ankara

ALD
//------------------=={ AlddLg.dcl Dialog Definition }==------------------//
// Author: M. Sahin Guvercin, Copyright © 2012 //
// www.autocadokulu.com //
//-----------------------------------------------------------------------//
aLd:dialog{
label="**** Boru Metrajı ****";
: boxed_column{
: edit_box{label="Ondalık Basamak Sayısı:";
key="dpL";edit_width=25;}
: edit_box{label="Başlangıç Poz Numarası:";
key="Poz";edit_width=25;}
: edit_box{alignment=right;label=" Mahal: ";
key="Mah";edit_width=25;}
: edit_box{alignment=centered;label=" Malzeme:";
key="MaL";edit_width=25;}
:edit_box{alignment=centered;label=" Çap:";
key="Cap";edit_width=25;}
spacer;spacer;}
: boxed_row{: text{key="CpR";value=
" Hazırlayan: © M.Şahin Güvercin - www.autocadokulu.com"
;}}ok_cancel;}
bad argument type: streamp nil M. Şahin Güvercin - www.autocadokulu.com

conmand satırında bole cıkıyor lütfen yardımcı olurmusunz

en sevdiğim komut copy

23.04.2012 10:26
68580    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

ilk mesajımın 3. paragrafını dikkatle okuyup, orada verdiğim linkte ve bağlı linklerdeki yazıları incelemelisiniz...

Where there is a will, there is a way... Beğenmek için anlamak lazım...

23.04.2012 11:01
68581    
mttlp

[5] Uzman

Online Durumu

83 ileti
Teknik Ressam
ankara

tskler ama sırket bılgısayarı oldugu ıcın hıc bırsey yapamıyorum demekı kullamıyacam elineze saglık yinede

en sevdiğim komut copy

23.04.2012 16:44
68582    
ProhibiT

[80] Yetkili

Online Durumu

1470 ileti
İnşaat Mühendisi
Ankara

Bu problemi farklı yollarla da çözmek mümkün.

- AutoCAD'i açarken, Program icon'u üzerine Sağ Tıklayıp açılan menüden "Yönetici olarak çalıştır / Run as administrator" seçin.

veya

- AutoCAD kısayolunuzun üzerine sağ tıklayıp, açılan menüden "Özellikler / Properties" seçin. Yeni açılan diyalog penceresinde "Kısayol / shotcut" sekmesini seçip, sağ alttaki "Gelişmiş / Advanced" butonuna tıklayın. Açılan küçük diyalog penceresinde, "Yönetici olarak çalıştır / Run as administrator" yazısının yanındaki kutucuğu işaretleyin. Bunun bir sıkıntısı var, AutoCAD'i her çalıştırdığınızda, Yönetici/Administrator modunda açıldığı konusunda bir uyarı gelecek, her seferinde bunu onaylamanız gerekecek.

Where there is a will, there is a way... Beğenmek için anlamak lazım...

24.04.2012 10:13
68588    
mttlp

[5] Uzman

Online Durumu

83 ileti
Teknik Ressam
ankara

tskler sıfrelı ana bılgısayardan mudahale edılıyor program bıle yuklemıyorz dun autocad 2007 yukledım sorun cozuldu onda sormuyor
tskler ılgıınız ıcın ayrıca sızde cok sey ıstıyorum ama bıraz yardımcı olurmusz kanal metrajı cok guzel calısıyor ben bunu
boru capı ve merajını cıkartmada kullanmak ıstıoyrum ugrasıyorum yapamıyorm yardımcı olursanız tskler ılgınız

en sevdiğim komut copy

24.04.2012 19:55
68619    
halilozcakir

[10] Üstad

Online Durumu

534 ileti
Mekanik Teknik Ressam /Teniker
İstanbul

kusura bakmayın tez canlılık etmişim.

> 1 < [2] [3] Sonraki Sayfa
Copyright © 2004-2018 | Tüm Hakları Saklıdır | 2776 | Site haritası | İstatistikler | Hakkımızda | Kadromuz | Gizlilik | Reklam