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: 8747 
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řenoVýměna stylu písma

 Odpovědět Odpovědět archiv
Autor
j.ku Zobrazit panel
Nováček
Nováček

Přihlášen: 18.úno.2008
Lokalita: ČR (Pha)
Používám:
AutoCAD Mechanical 2009 + Invertor 2009
Stav: Offline
Bodů: 10
Přímý odkaz na tuto zprávu Téma: Výměna stylu písma
    Zasláno: 18.čer.2008 v 16:07

Existuje nějaký inteligentní způsob, jak je možné pomocí příkazu, nebo lispovského prográmku změnit styl písma v daném souboru?

 

Hladiny lze převést pomocí příkazu "_laytrans"

 

Označený kótovací styl "k1_10" lze převést na požadovaný styl  "ČEZ-EDU T 2.5-10" s využitím lispu  např.: 

 

(progn
     (prompt "Existuje kótovací styl (k1_10). " )
     (setq vkost (ssget "X" '((3 . "k1_10"))))
     (command "-dimstyle" "Obnov" "ČEZ-EDU T 2.5-10" "")
     (command "-dimstyle" "Použij" "Předchozí" "")
     )

 

Styl písma naposledy  vybrané entity lze změnit např. pomocí:

 

(defun C:Moss ( )

  (setq ed (entget (entlast)))                           ;  (1 . "123") (7 . "ISOCP-BPVL") (210 0.0 0.0 1.0)

  (setq oldtext (assoc 7 ed))                                          ;  (1 . "123")

  (setq newtext (cons 7 "ISOCP-BPVL"))       ;  (1 . "Nový text")

  (setq ed (subst newtext oldtext ed))              ; (Náhrada atomů)

  (entmod ed)                                             ; (Výměna stylů )

  )

 

Hromadná výměna stylů písma ovšem nefunguje.

(defun C:NP-S1 ( )

;  Výměna kótovacích stylů

  (progn    

  (setq vss (ssget "X" '((7 . "STANDARD"))))                 ;  Vybrány entity se stylem písma "STANDARD"

  (prompt "Existuje kótovací styl (STANDARD). " )      

  (setq oldtext (cons 7 "STANDARD"))                         ;  (7 . "STANDARD")

  (setq newtext (cons 7 "ISOCP-BPVL"))                       ;  (7 . "ISOCP-BPVL")

  (setq vss (subst newtext oldtext vss))                           ; (Náhrada atomů)

  (entmod vss)

     )

  )

 

Máte prosím někdo nějaký nápad? Díky.

 

JKU
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 19.čer.2008 v 08:22
Ale jo, funguje taky, jen je třeba tu změnu hodit do cyklu.
(setq vss (ssget "X" '((7 . "STANDARD")))) 
tímto vytvoříte pouze seznam entit. z toho pak musíte brát položku po položce a měnit.
 
Mělo by to vypadat nějak takto :
(defun C:NP-S1 (/)
  ;  Hromadná výměna textových stylů
  ;  Nefunguje např. na texty vnořené v blokách
  (setq vss (ssget "X" '((7 . "STANDARD"))))                 ;  Vybrány entity se stylem písma "STANDARD"
  (setq vsl (sslength vss))                                  ;  Zjistí počet entit ve výběrové množině
  (setq i 0)                                                 ;  Počítadlo
  (repeat vsl                                                ;  Začátek cyklu
    (setq ent (entget (ssname vss i)))                         ; Zjistí informace o i-té entitě
    (setq oldtext (assoc 7 ent))                               ;  (7 . "STANDARD")
    (setq newtext (cons 7 "ISOCP-BPVL"))                       ;  (7 . "ISOCP-BPVL")
    (setq ent (subst newtext oldtext ent))                     ;  Náhrada atomů
    (entmod ent)                                               ;  Oorava entity
    (setq i (1+ i))                                            ;  Navýšení počítadla
  )                                                          ;  Konec cyklu
)
 
při náčítání toho oldtext je lepší to přímo vytáhnout z ent než natvrdo přiřadit, je tady menší ryziko selhání velkých a malých písmen protože ten ssget nebere ohled na malá a velká písmena, furt je to jeden  zázev.
A pak v tom (cons 7 "STANDARD") je problém protože toto už zohledňuje velká a malá, proto je lepší to přímo tahat z toho seznamu pomoci (assoc 7 ent)
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l
Zpět nahoru
j.ku Zobrazit panel
Nováček
Nováček

Přihlášen: 18.úno.2008
Lokalita: ČR (Pha)
Používám:
AutoCAD Mechanical 2009 + Invertor 2009
Stav: Offline
Bodů: 10
Přímý odkaz na tuto zprávu Zasláno: 19.čer.2008 v 11:30
  Díky za doplnění cyklu.
  Tušil jsem, že tam asi bude chyba.
  I na fóru se mluvilo o tom, že jediná česky psaná učebnice je z minulého století. Vzhledem ke skutečnosti, že je zde jako autor uveden pan Jiří Hlavenka , který prodáním nakladatelství "Computer press" (podle zdrojů z  internetu) bude asi za vodou.
  .... asi ho už nebude trápit problematika Autolispu .... a případné zdroje informací a tipy bude potřebné hledat někde jinde ....
JKU
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 3710:Styl písma mi nenabízí volbu Kurzíva nebo Tučné.
Tip 3737:Změna měřítka kóty mi nezmění výšku kótovacího textu.
Tip 1957:Jak změnit velikost písma v rozpisce Inventoru?
Tip 5789:Nastavení písma (fontu) pro značky, např. značky drsnosti.
Tip 4229:Jak se zbavit dialogů "Zadejte písmo pro styl XXX"?
Tip 7786:Chyba kótovacího stylu při exportu z Revitu do DWG.


 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 2,641 sekund.