24.05.2014 12:14    

jfmmehmet
merhabalar arkadaşlar,

Autocaddeki çizimlerimde elle ölçülendirme yapıyorum (ölçeksiz çizimlerde).oluşturdugum text ya metextlerde ölçüyü elle girdikten sonra sonuna sürekli 'm' yazmak durumunda kalıyorum. bunun daha pratik bi yöntemi var mıdır?yani ben ölçüyü yazdıgımda sonuna otomatik olarak m yazdırılabilir mi?

24.05.2014 16:29    

Travaci
Dimension ile ölçülendirme için;



Command satırına dimstyle yazın, geçerli dimenison style ı için modify diyip yukarıdaki pencereye gelin. Prefix ölçünün başına suffix ise sonuna girilen yazıyı yazdırır.

Text ve Mtext sonuna yazı eklemek için;

Kod:

(defun c:ek (/ ek gt ob)
  (setq ek (getstring t "\nEk: ") gt (ssget '((0 . "*text"))) n 0)
  (setvar "cmdecho" 0) (command "_.undo" "be")
  (if gt (repeat (sslength gt)
    (setq ob (entget (ssname gt n)) n (1+ n))
    (entmod (subst (cons 1 (strcat (cdr (assoc 1 ob)) ek)) (assoc 1 ob) ob))))
  (command "_.undo" "e") (princ))

24.05.2014 16:31    

ProhibiT
Değeri değiştirilmemiş (otomatik) Dimension'larda DIMPOST Sistem değişkenine uygun değerler vererek (veya Travaci arkadaşımızın verdiği yöntemle) Dimension Text'e Prefix (önek) ve suffix (sonek) atayabilirsiniz. Bununla birlikte, Dimension Text manuel olarak (elle) değiştirildiğinde bu önek ve sonek değerleri supress edilir (baskılanır). Yani, değeri elle girilmiş Dimension yazılarının hepsi için geçerli bir son ek vermek mümkün olmaz.

ProhibiT (24.05.2014 16:41 GMT)

24.05.2014 16:50    

ProhibiT
Travaci arkadaşımıza öneri:
- DIMPOST değerini okunan SonEk olarak ayarlamalı.
- ssget seçim seti süzgecini (*text,dimension) şeklinde değiştirip, dimensionlar da seçilebilmeli.
- reppeat döngüsü içinde seçim setindeki nesne kontrol edilerek;
-- Dimensin ise, Dimension Text'in <> olmaması durumunda sonunda SonEk olup olmadığı kontrol edilmeli, SonEk yoksa eklenmeli.
-- Seçim setinde sırası gelen ve ele alınan nesne *text ise sonunda SonEk olup olmadığı kontrol edildikten sonra, yoksa SonEk eklenmeli.
Diye düşünüyorum.

Aksi halde kullanıcı özensiz ve tedbirsiz davrandığında karmaşaya sebep olabiliriz.

24.05.2014 16:56    

Travaci
Hocam doğru söylüyorsunuz, yazmadan önce bende dediklerinizi düşündüm, gönülde öyle paylaşmak isterdi ama sınavlarım olduğundan okadar vakit ayıramıyacağım, sadece görebildiği kadar iş görsün diye karaladım :) Birazda istenileni net anlayamadım oda caydırmadı değil. O yüzden de iki şekilde cevapladım.

25.05.2014 15:28    

ProhibiT
Sınavlarında başarılar Travaci :) Gerçi benim her gün sınavım var ama, senin yerine ben yazıvereyim.
Kod:

(defun c:DEk (/ Ek gT myerr n Ob)
  (setvar "cmdecho" 0) (command "_.undo" "be")
  (defun myerr  (errmsg /) (if (/= errmsg "Function cancelled") (prompt errmsg))
    (command-s "._undo" "_e") (command-s "._U") (setq *error* olderr) (princ))
  (setq olderr  *error* *error* myerr n -1
        Ek (getstring t "\nEk: ") gT (ssget '((0 . "*Text,Dimension"))))
  (while (< (setq n (1+ n)) (sslength gT))
    (setq Ob (entget (ssname gT n)))
    (if (and (= (cdr (assoc 0 Ob)) "DIMENSION") (= (cdr (assoc 1 Ob)) ""))
      (entmod (subst (cons 1 (strcat "<>" Ek)) (assoc 1 Ob) Ob))
     (entmod (subst (cons 1 (strcat (cdr (assoc 1 Ob)) Ek)) (assoc 1 Ob) Ob))))
  (command "_.undo" "end") (setq *error* olderr) (prin1))
Kullanıcı arkadaşların dikkatine;
- SonEk eklenecek nesne olarak Edit edilmiş veya edilmemiş Dimension'lar ile Text ve MText nesneleri seçilebilir.
- Seçilen nesneler arasında çok satırlı MText'ler varsa yalnızca en son satırın sonuna SonEk ekler.
- Seçilen nesnelerde zaten bir son ek varsa, bu durum kontrol edilmeden tekrar SonEk eklenir.

> 1 <
Copyright © 2004-2022 SQL: 0.897 saniye - Sorgu: 59 - Ortalama: 0.01521 saniye