Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 1796 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD 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 360, 3ds Max a s dalšími CAD 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 Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoAtribut z bloku

 Odpovědět Odpovědět archiv
Autor
Augur Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 24.led.2005
Stav: Offline
Bodů: 103
Přímý odkaz na tuto zprávu Téma: Atribut z bloku
    Zasláno: 12.bře.2008 v 10:38
Chcel by som vas poziadat o dalsiu radu.. Ako zapisem lisp (alebo aspon jeho fragment), ktorym dokazem ziskat hodnotu konkretneho atributu z bloku na jeho dalsie pouzitie v lispe.. (v bloku je definovanych viacero atributov). Nieco podobne sa tu riesilo pred dost dlhym casom. vyzeralo to asi takto:

(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)
)


Bohuzial s tym akosik neviem pohnut, pravdepodobne je chyba na mojom "prijimaci"
Designer/Projektant/Ucitel
Autocad 2007
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2023, SolidEdgeE 2023
Stav: Offline
Bodů: 223
Přímý odkaz na tuto zprávu Zasláno: 12.bře.2008 v 11:59

Zasílám procedurku, která vypíše seznam atributů a jejich hodnoty. Parametr "ent" je entity name bloku, jehož atributy vypisuji.

Pavel Štyl
 

(defun block_attr_list (ent / n eg i typ cont ent atrlist)
 (if ent
  (progn
   (setq n (entnext ent) i 1 typ "XXX")
   (while (/= typ "SEQEND")
    (setq eg (entget n))
    (setq typ (cdr (assoc 0 eg)))
    (if (= typ "ATTRIB")
     (progn
      (prompt (strcat "\n" (itoa i) ". Jmeno: " (cdr (assoc 2 eg)) "     Hodnota: " (cdr (assoc 1 eg))))
      (setq i (1+ i))
     )
    )
    (setq n (entnext n))
   )
  )
 )
)
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4189:VIPVrácení posunutých atributů bloku na původní místo.
Tip 3817:Jak rozložit bloky AutoCADu se zachováním hodnoty atributů?
Tip 7363:Jak dostat bloky do Z-souřadnice dané atributem?
Tip 2443:Jak nastavit Z-souřadnici bodů podle hodnoty jejich atributu "Výška"?
Tip 7660:Snadné přejmenování atributu bloku.
Tip 2516:Jak snadno vymazat jediný 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,547 sekund.