21.07.2012 21:22    

ProhibiT
- herhangi bir editor (notpad gibi) kullanarak acad.pat veya acadiso.pat dosyanızı açın.
(söz konusu dosyaları bulamazsanız, ki genelde ilk bakışta yerini göremezsiniz, AutoCAD komut satırından (findfile "acad.pat")<┘ girerek bulacağınız dosya yolunu (path) kopyalayıp windows explorer adres satırına paste ederek doğrudan ulaşabilirsiniz)
.
.
.
*JIS_WOOD, WOOD JIS A 0150
45,0,0,0,.70710678
;;
*Karolaj, Karolaj
0, 0,0, 0,1
90, 0,0, 0,1

*LINE,Parallel horizontal lines
0, 0, 0, 0, 3.175
.
.
.

şeklinde (koyu harflerle yazılmış bölüm) 3 satır ekleyin, kaydederek çıkın. Böylelikle, yatayda ve düşeyde 1'e 1 karolaj yapan bir Hatch Pattern'ınız olacaktır.

Hatch (BH=Boundary Hatch) komutunu çalıştırıp, aşağıdaki şekildeki gibi pattern olarak Karolaj seçin.

Karolaj aralığını belirlemek için şekilde görülen scale kısmına uygun rakamı yazın.
ihtiyaç halinde şekilde görülen kısma açı değeri yazılabilir.

Gene şekilde görüldüğü gibi hatch orijin bölümünde uygun gördüğünüz seçeneği kullanarak, karolajınızın orijin noktasını belirleyebilirsiniz.

Önemli not: Karolaj aralıklarınız her iki doğrultuda eşit olacaktır. Farklı oranlardaki karolajlar için isteyen yeni pattern'lar yazabilir.

Son olarak, ALAN isimli bir attribute içeren bLock oluşturursanız, aşağıdaki fonksiyonu kullanarak, oluşturduğunuz Karolaj'ın alanını bu attribute'e field olarak bağlayabilirsiniz. İki tık ile attribute'ün bağlandığı alanı değiştirebilirsiniz.
Kod:

(defun c:HaL (/ PvT Are)
  (setvar "cmdecho" 0) (command "_.undo" "group") (vl-load-com)
  (setq PvT (car (entsel "\nALan Block'u Seçiniz: "))) (redraw PvT 3)
  (setq Are (car (entsel "\nAlanı Tanımlayan Obje: "))) (redraw PvT 4)
  (while(not(and(=(cdr(assoc 0(entget(setq PvT(entnext PvT)))))"ATTRIB")
                (=(cdr(assoc 2(entget PvT)))"ALAN"))))
  (setq PvT (entget PvT)
        PvT (subst (cons 1 (strcat "%<\\AcObjProp.16.2 Object(%<\\_ObjId "
                     (itoa (vla-get-ObjectID (vlax-ename->vla-object Are)))
                      ">%).area \\f "%lu2%pr1%ps[, m²]%ct8[0.0001]">%"))
                   (assoc 1 PvT) PvT) PvT (entmod PvT)
        PvT (entupd (cdr (assoc -1 PvT))) PvT (command "_.UpdateFieLd" PvT ""))
  (command "_.undo" "e") (prin1))

Fonksiyon, cm. biriminde çizim yapıldığını, Alan'ın m. biriminde yazılacağını kabul eder.

Kolay gelsin.

23.07.2012 14:29    

poseidoon
Selamlar...
Autocad 2012`de denedim basaramadim. Acaba 2012`de yapamiyor muyuz?
Iyi calismalar

24.07.2012 00:37    

ProhibiT
AutoCAD'in her versiyonunda uygulanabilir...

> 1 <
Copyright © 2004-2022 SQL: 0.807 saniye - Sorgu: 47 - Ortalama: 0.01718 saniye