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 119.000 registrovaných u nás, celkem 1.097.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ů.
Autodesk Fusion 360 - cloudový CAD/CAM/CAE - v CZ
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řenoČištění výkresů dle adresáře

 Odpovědět Odpovědět archiv
Autor
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6206
Přímý odkaz na tuto zprávu Téma: Čištění výkresů dle adresáře
    Zasláno: 17.čvc.2007 v 12:46
Dobrý den,
potřeboval bych zase pomoc od zkušenějších kolegů programátorů. Často čistím výkresy v zakázke, které se nachází v jednom adresáři. A nechce se mi jeotvírat a plikovat na ně makro. Navíc potřebuji vymazat z razítek, které s enachází v rozvržení nebo modelu bloky podpisů.
 
Nemá prosím někdo LISPík, který by po uměl vyčistit všechny výkresy a vymazat v nih jen určité jména bloků (které jsou samozřejmě dány) a to ve všech výkresech ve vybraném adresáři aniž by bylo nutné otevírat soubroy jednotlivě?
Další problém co se týče těch podpisů je ten, že seznam názvů bloků obsahuje cca 30 jmen a ne všechny jsou v každém výkrese obsaženy, takže by bylo potřeba aby se funkce nepřerušila, když ve výkrese některý z bloků nenalezne.
 
Trošku podobnou funkci má strojařská nadstavba proBlbec, jejíž ukázku přikládám, jen neumí vybrat ten adresář a neumí vymazat ty podpisy. Nicméně ten dialog bych si představoval nějak podobně, tzn aby bylo možné zvolit co všechno se bude čistit.
 
 
Pokud by se našel někdo ochotný to vytvořit nebo poskytnout, byl bych moc rád a myslím, že by se něco podobného hodilo i ostatním.
 
Moc díky
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 12:56
Podle mne to jde jen generováním scriptu (demo-souboru).
Jedním očkem jsem se podíval do toho lispu a mám pocit, že si taky vytváří script soubor.
Takže být vámi, bych se soustředil na odladění sekvence příkazů a/nebo lispu, který udělá požadované na jednom výkrese a pak použil generátor scriptu - o tom už se tady psalo několikrát.
Vítězslav Seiner

Chrudim
Zpět nahoru
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6206
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 13:16
No jo, ale pokud to udělám jako demo soubro, tak řeším problém přerušení skriptu právě při těch různých podpisech (viz popis výše). O generátoru skriptu vím a znám jej, ale rpoblém je, že to čištění nebudu provádět já,a le druzí a Ti jsou rádi, že otevřou soubor o nějakých pokročilejších souborových operacích nebo skriptech nemůže být ani řeč :)

Upravil PepaR - 17.čvc.2007 v 13:16
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 13:38
Já jsem jen chtěl upozornit, že lisp neumí pracovat s více soubory. Takže nic jiného, než vytvořit demo soubor a spustit ho vám nezbyde. Máte možnost to dělat jako v tom lispu, co jste poslal, ale já bych se spíš snažil o univerzálnější řešení. Vytvořit "něco", co vám to udělá na jednom výkrese a pak spouštět pro vybrané výkresy.
  Problém existence mazaných entit musíte IMHO vyřešit tak jako tak.
  Co se týká spouštění skriptů - záleží, jak to uživatelům připravíte. U nás mají tlačítko, kterým spustí generátor, ze seznamu vyberou uloženou akci (třeba "Vytisknout ve formátu A3 na Xerox") a pak dají spustit vytvořený skript příkazem Demo.
Vítězslav Seiner

Chrudim
Zpět nahoru
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6206
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 13:47
Ok, takže asi máte pravdu, úpřes skript by to bylo nejlepší. Ale jak vyřešit tu možnou existenci vs absenci v návaznosti na nepřerušení.
 
PS: Nemohle bych Vás poprosit o poskytnutí alespoň části toho o čem se zmiňujete v předchozím příspěvku pro případnou inspiraci?
Původně odeslal(a) Seiner Seiner napsal(a):

Co se týká spouštění skriptů - záleží, jak to uživatelům připravíte. U nás mají tlačítko, kterým spustí generátor, ze seznamu vyberou uloženou akci (třeba "Vytisknout ve formátu A3 na Xerox") a pak dají spustit vytvořený skript příkazem Demo.
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 13:58

Úplně jsem nepochopil záměr. Potřebujete bloky mazat a/nebo čistit?

popisovaný generátor je na www.chrudim.cz/seiner.
řádka menu pro jeho spouštění vypadá u nás:
ID_davka         [&Dávkové zpracování]^C^C(startapp "//SBS-TRANSYS/cad/support/Davka2002.exe"  "//SBS-TRANSYS/cad/support/prikazy2.txt")
Vítězslav Seiner

Chrudim
Zpět nahoru
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6206
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 14:03
Šikovný generátorek, jen co je pravda, děkuji za odkaz. Já prvně myslle, že máte na mysli program Autodesku ScriptPro - o tomhle jsem neměl páru.
 
Myslíte, že bych mohl být tak moc otravný a požádat Vás ještě o ikonku k té funkci?
 
A další dotaz, funguje Davka2002.exe spolehlivě i když ji na druhé PC jen nakopíruju a neprovedu instalaci? 
 
Ještě jednou díky
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
ARKANCE

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21952
Přímý odkaz na tuto zprávu Zasláno: 17.čvc.2007 v 14:13
Ano, i makro ve ScriptPro se dá spustit "jedním čudlíkem".
 
Chcete-li volitelně mazat určitý blok ve výkresu, dejte do skriptu něco jako:

(if (setq ss (ssget "_X" '((0 . "INSERT")(2 . "MUJBLOK"))))(command"_ERASE" ss ""))
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
PepaR Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 29.lis.2004
Lokalita: ČR (ZL)
Používám:
ruky a hlavu (občas ;)
Stav: Offline
Bodů: 6206
Přímý odkaz na tuto zprávu Zasláno: 18.čvc.2007 v 08:11
Tuším, že bych to měl přidat na ten řádek co je tučně, ale přesto bych požádal o radu.
Původně odeslal(a) CISTI_VN CISTI_VN napsal(a):

(defun c:cisti_vn ( / sezn_soub sez_togg sez_eb p_s CR I adr_es co_cistit KONEC
   vychozi_adresar)
 
****************************
(setq vychozi_adresar "c:/" )
****************************
 
(defun scri_pt ( / Pis_demo I )
 
(setvar "FILEDIA" 0)
 
(setq p_atr (cdr (nth 0 sez_eb)))
(setq Pis_demo (open (strcat adr_es "cisti_vn.scr") "w")) 
 
(write-line (strcat "_purge " co_cistit " * _n" ) Pis_demo)
(write-line "_qsave" Pis_demo)
 
(setq I 1)
(repeat (- (length sezn_soub) 1)
 
    (if (= (cdr (nth I sez_togg)) "1") 
  (progn
  (write-line (strcat "_open \"" adr_es (car (nth I sez_eb)) "\"") Pis_demo)
  (write-line (strcat "_purge " co_cistit " * _n" ) Pis_demo)
  (write-line "_qsave" Pis_demo)
       (if (> (atoi(substr(getvar "ACADVER") 2 1)) 4)
      (write-line "_close" Pis_demo)
         )
        )
 
      )
 (setq I (+ 1 I))
)
 
(write-line "_new " Pis_demo)
(write-line "FILEDIA 1 " Pis_demo)
(write-line "" Pis_demo)
 
(close Pis_demo)
 
(command "_script" (strcat adr_es "cisti_vn.scr"))
 
);defun
 
*************************************************
 
(defun zap_a_n ( j_n czr c_j_r / t_t)
 
(setq t_t (strcat "JM_SOUB" c_j_r))
 
(if (= j_n "1")(mode_tile t_t 0)(mode_tile t_t 1))
 
(setq sez_togg (subst (cons czr j_n) (assoc czr sez_togg) sez_togg))
 
);defun
*********************
 
 
 
************************
(defun MEM_radky ( / )
 
(action_tile "T1" "(zap_a_n $value CR \"1\")")
 
(action_tile "T2" "(zap_a_n $value (+ 1 CR) \"2\")")
 
(action_tile "T3" "(zap_a_n $value (+ 2 CR) \"3\")")
 
(action_tile "T4" "(zap_a_n $value (+ 3 CR) \"4\")")
 
(action_tile "T5" "(zap_a_n $value (+ 4 CR) \"5\")")
 
(action_tile "T6" "(zap_a_n $value (+ 5 CR) \"6\")")
 
(action_tile "T7" "(zap_a_n $value (+ 6 CR) \"7\")")
 
(action_tile "T8" "(zap_a_n $value (+ 7 CR) \"8\")")
 
(action_tile "T9" "(zap_a_n $value (+ 8 CR) \"9\")")
 
(action_tile "T10" "(zap_a_n $value (+ 9 CR) \"10\")")
 
(action_tile "T11" "(zap_a_n $value (+ 10 CR) \"11\")")
 
(action_tile "T12" "(zap_a_n $value (+ 11 CR) \"12\")")
 
(action_tile "T13" "(zap_a_n $value (+ 12 CR) \"13\")")
 
(action_tile "T14" "(zap_a_n $value (+ 13 CR) \"14\")")
 
(action_tile "T15" "(zap_a_n $value (+ 14 CR) \"15\")")
 
);defun
******************************
(defun zobraz_jm_s ( cislo / c_r t_p jed_rad sl_1 t_ps)
 
(if (= cislo 1)(mode_tile "T1" 1)(mode_tile "T1" 0))
(setq c_r 1)
 
(repeat 15
  
 (setq t_ps (strcat "JM_SOUB" (itoa c_r)) )
 (setq jed_rad (nth (- cislo 1) sezn_soub))
 
      (if jed_rad (setq sl_1 jed_rad)(progn
     (setq sl_1 "")
     (mode_tile (strcat "T" (itoa c_r)) 1)
      ))    
        
      (set_tile t_ps sl_1)
 
 (setq t_p (strcat "T" (itoa c_r)) )
 (setq jed_rad (cdr(assoc cislo sez_togg)))
 
      (if jed_rad (setq sl_1 jed_rad)(setq sl_1 "1"))
      (set_tile t_p sl_1)
 
      (if (= sl_1 "0")(mode_tile t_ps 1)(mode_tile t_ps 0))
 
 (setq c_r (+ 1 c_r) cislo (+ 1 cislo))
)
 

);defun
 
************************************
(defun pri_ube_15 ( ktere_t /)
 
(if (< CR 0)(progn
  (setq CR 1)
  (if (= ktere_t 1)(mode_tile "but_1" 1))
  (mode_tile "but_2" 0)
))
 
(if (>= CR (- p_s 14))(progn
   (setq CR (- p_s 14))
   (if (= ktere_t 2)(mode_tile "but_2" 1))
          (mode_tile "but_1" 0)
))
 
(if (and (> CR 1)(< CR (- p_s 14)))(progn
     (mode_tile "but_1" 0)
     (mode_tile "but_2" 0)
))
 
(if (= CR 1)(mode_tile "but_1" 1))
 
(zobraz_jm_s CR)
);;;defun
 

************************************
 
(defun dia_opr_atr ( / Kam_d cdcl)
 
********** CESTA **************************
(setq cdcl (load_dialog "cisti_vn.dcl")) 
(if (not (new_dialog "cisti_vn" cdcl)) (exit)
 )
 
(set_tile "CE_STA" adr_es)
(set_tile "rb_all" "1")
(setq co_cistit "_a")
(mode_tile "but_1" 1)
(mode_tile "T1" 1)
(if (< p_s 16)(mode_tile "but_2" 1))
 
;;;;;;;;
(MEM_radky)
(zobraz_jm_s CR)
;;;;;;;;
 
(action_tile "rb_all" "(setq co_cistit \"_a\")")
(action_tile "rb_block" "(setq co_cistit \"_b\")")
(action_tile "rb_layer" "(setq co_cistit \"_la\")")
(action_tile "but_1" "(setq CR (- CR 15) Kam_d 1)(pri_ube_15  Kam_d)")
(action_tile "but_2" "(setq CR (+ 15 CR) Kam_d 2)(pri_ube_15  Kam_d)")
 
(action_tile "accept" "(done_dialog)(setq KONEC T)")
(action_tile "cancel" "(done_dialog)(setq KONEC nil)")
 
(start_dialog)
(unload_dialog cdcl)
 
);defun
********************************************************
(defun nacti_jmena ( / Cti Radek)
(setq Nazev (getfiled "Vyberte soubor jmena.txt" vychozi_adresar "txt" 8))
 
(if (< (strlen Nazev) 10)(setq Nazev (strcat (getvar "DWGPREFIX") Nazev)))
 
(setq Cti (open Nazev "r") sezn_soub nil adr_es (substr Nazev 1 (- (strlen Nazev) 9) ) )
 
(while
        (setq Radek (read-line Cti))     
 (setq sezn_soub (cons Radek sezn_soub))
)
(close Cti)
(setq sezn_soub (reverse sezn_soub))
 
);defun
 
*****************************************************************
 
 (setq adr_es (getvar "DWGPREFIX"))
 
 (if (> (atoi(substr(getvar "ACADVER") 2 1)) 4)
  (setq sezn_soub (vl-directory-files adr_es "*.dwg"))
  (nacti_jmena)
 )
 
 *!!!!!!!!!!
 (setq sezn_soub (acad_strlsort sezn_soub))
 *!!!!!!!!!!
 
 (setq p_s (length sezn_soub)
  CR 1 I 1 sez_togg nil sez_eb nil
 )
 
 (repeat p_s
  (setq sez_eb (cons (cons (nth (- I 1) sezn_soub) "") sez_eb))
  (setq sez_togg (cons (cons I "1") sez_togg) I (+ 1 I))
 )
 (setq sez_togg (reverse sez_togg) sez_eb (reverse sez_eb))
 

 (dia_opr_atr)
 
(if KONEC
 (scri_pt)
)
 
(princ)
 
);defun c:


Upravil PepaR - 18.čvc.2007 v 08:12
Zpět nahoru
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 Zasláno: 25.čvc.2007 v 15:19
-FerTh-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 14332:Bezplatný nástroj pro hromadné čištění DWG výkresů.
Tip 8470:VIPDávková oprava nebo čištění série DWG výkresů.
Tip 5194:VIPHromadné čištění AEC stylů v ADT.
Tip 6742:VIPHromadné čištění a nastavení výchozí tiskárny DWG výkresů.
Tip 2836:Jak snadno zjistit směr (orientaci) křivky?
Tip 6350:VIPDávkové čištění starších verzí dokumentů z úložiště Autodesk Vault.


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