ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 118.500 registrovaných u nás, celkem 1.096.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků. Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
Registrujte se na konferenci CADfórum 2025 - automatizace navrhování
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum Najít  Události Události  Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoatributy bloků

 Odpovědět Odpovědět archiv
Autor
pepan33 Zobrazit panel
Nováček
Nováček

Přihlášen: 26.led.2006
Stav: Offline
Bodů: 1
Přímý odkaz na tuto zprávu Téma: atributy bloků
    Zasláno: 26.led.2006 v 23:49

Dobrý den. Nevíte prosím jak v Lispu získat hodnoty atributů bloku pro další zpracování? Pro běžné entity používám příkaz (entget) a dále mohu pracovat s daty entity. U bloků získám pouze základní data, ale hodnoty atributu jsem nenašel ani v rozšířených datech. Kde jsou ve výkresu uloženy?

 

Zpět nahoru
Kubeczka Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 01.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD 2018, Inventor 2018
Stav: Offline
Bodů: 141
Přímý odkaz na tuto zprávu Zasláno: 27.led.2006 v 05:46

Když zísláte data bloku, tak tam najdete kód 66, který říká, že následují další entity bloku, mj. také atributy. Přikládám výpis kódu, který umožňuje procházet atributy bloku a vypisuje je.

  (setq e1 (car (entsel)))
  (textscr)
  (setq ed (entget e1))
  (print ed)
  (if (= (cdr (assoc 66 ed)) 1)   ;navesti "entity nasleduji"
    (progn
      (initget (+ 2 4 8) "")
      (getkword "\nPress RETURN to continue ...")
      (setq e1 (entnext e1))
      (setq ed (entget e1))
      (while (= (cdr (assoc 0 ed)) "ATTRIB")
        (print ed)
        (initget (+ 2 4 8) "")
        (getkword "\nPress RETURN to continue ...")
        (setq e1 (entnext e1))
        (setq ed (entget e1))
      )
      (print ed)
      (princ)
    )
  )

Zpět nahoru
pavlacka Zobrazit panel
Nováček
Nováček

Přihlášen: 04.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD C3D
Stav: Offline
Bodů: 21
Přímý odkaz na tuto zprávu Zasláno: 27.led.2006 v 08:01

Dostal jsem tyti dve funkce a s uspechem je pouzivam. Predavam dal.

Roman Pavlacka

;---Vrati hodnotu atributu
(defun RetValAtt (EName AttTag / EData rr)
  (setq EData (entget EName))  ;Get initial info
     ;loop through all attributes in block
  (while
    (= "ATTRIB"
       (cdr
  (assoc '0
  (setq EData (entget (entnext (cdr (assoc '-1 EData)))))
  )
       )
    )
     (if (WCMatch (cdr (assoc '2 EData)) AttTag)
       (setq rr (cdr (assoc '1 EData)))
     )
  )
  (eval rr)
)


;---Routine to replace a attribute in a block with a new value
(defun RepAtt (EName AttTag AttVal / EData return)
  (setq EData (entget EName))  ;Get initial info
  (setq return nil)   ;loop through all attributes in block
 
  (while
    (= "ATTRIB"
       (cdr
  (assoc '0
  (setq EData (entget (entnext (cdr (assoc '-1 EData)))))
  )
       )
    )
    (if (WCMatch (cdr (assoc '2 EData)) AttTag)
    (progn
          (entmod (subst (cons '1 AttVal) (assoc '1 EData) Edata))
   (setq return 1) 
    )
    )
  )
 ;return nil
 (eval return)
)

Zpět nahoru

Sdílet na: Digg it! Del.icio.us Twitter Google záložka Linkuj Vybrali.sme

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4189:VIPVrácení posunutých atributů bloku na původní místo.
Tip 4379:Úprava atributů bloků v několika rozvrženích.
Tip 6894:Nedokumentovaná funkce pro rychlou editaci atributu bloku - upravit atribut.
Tip 3749:VIPJak zadat víceslovní název atributu bloku (s mezerou)?
Tip 2516:Jak snadno vymazat jediný atribut bloků?
Tip 5262:Globální změna velikosti textu atributů bloků.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,275 sekund.