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ů.
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   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoHromadný Refedit -2

 Odpovědět Odpovědět archiv
Autor
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (JM)
Používám:
AutoCAD2004 (EN) na Windows XP
Stav: Offline
Bodů: 1906
Přímý odkaz na tuto zprávu Téma: Hromadný Refedit -2
    Zasláno: 12.úno.2009 v 08:18
Znova otevírám toto téma. Mám vybranou sekvenci z lispu
(defun...
...
(setq DWG (cadr (fnsplitl (getvar "dwgname"))))
(setq DWGC (strcat DWG "_C"))
;;1-podrutina-vl.ent. bloku obrysu -zmena barvy&ltype=ByBlock
(defun C:zmena_EC (/ 1PZ 1E 1S0 PE62 PE6 NE62 NE6)
  (setq 1PZ (ssget "_X"
     (list (cons -4 "<OR")
    (cons 0 "LWPOLYLINE")
    (cons 62 6)
    (cons 6 "center")
    (cons -4 "OR>")
    (cons -4 "<OR")
    (cons 0 "LINE")
    (cons 62 6)
    (cons 6 "center")
    (cons -4 "OR>")
     )
     )
  )
 
;;2-cyklus-zmena vl. ent. bloku obrysu
(setq N 0)
(while (< N (sslength 1PZ))
  (setq 1E (ssname 1PZ N))
  (setq 1S0 (entget 1E))
  (setq PE62 (assoc 62 1S0))
  (setq PE6 (assoc 6 1S0))
  (setq NE62 (cons 62 0))
  (setq NE6 (cons 6 "ByBlock"))
  (setq 1S0 (subst NE62 PE62 1S0))
  (setq 1S0 (subst NE6 PE6 1S0))
  (entmod 1S0)
  (entupd 1E)
  (setq N (1+ N))
)
)
 
;;3-proces-zmena vl. ent. bloku obrysu
(command "_snap" "_OFf")
(progn
  (command "_refedit")
  (while (> (getvar "cmdactive") 0) (command pause))
  (C:zmena_EC)
  (command "_refclose")
  (while (> (getvar "cmdactive") 0) (command "_S"))
)
 
;;4-blok obrysu -zmena barvy=magenta & ltype=center
(if (tblsearch "block" DWGC)
  (progn
    (setq 0PZ
    (ssget
      "_X"
      (list (cons 0 "INSERT") (cons 2 DWGC))
    )
    )
    (setq 0E (ssname 0PZ 0))
    (setq 0S0 (entget 0E))
    (setq P62 (assoc 62 0S0))
    (setq P6 (assoc 6 0S0))
    (setq N62 (cons 62 6))
    (setq N6 (cons 6 "center"))
    (setq 0S0 (subst N62 P62 0S0))
    (setq 0S0 (subst N6 P6 0S0))
    (entmod 0S0)
    (entupd 0E)
  )
  nil
)
(command "_qsave")
...
)
 
Pokud sekvence 1-, 2-, 3-, 4- postupně nakopiruju do p.ř. tak se to provede. Pokud ale to chci aplikovat jako kompaktní volaný lisp, tak to provede jen 1-,2-,3- a qsave, bez chybové hlášky, 4- vynechá.
-FerTh-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 4049:REFEDIT a anonymní bloky.
Tip 6346:Nelze editovat objekt: "1 nebyl v pracovní sadě"
Tip 604:Při pokusu o RefEdit se objeví chyba: Object reference missing: AcDbLayerTableRecord, to AcDbPlaceHolder
Tip 2809:Mohu nějak použít příkaz REFEDIT i v AutoCADu LT?
Tip 1088:Jakým způsobem editovat blok tak, aby se globálně ve výkresu změnily všechny bloky téhož jména?
Tip 2426:Jak přebarvit blok vložený do výkresu?


 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,367 sekund.