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.098.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ů.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
archiv |
Autor | |
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() Zasláno: 20.čer.2008 v 12:35 |
To je přece logické - když už existuje pod tím jménem, není třeba ho přejmenovávat. Nejde mi o přejmenování - to je jen upřesňující krok, ale o předefinování. A protože to programově (zatím) neumím, potřebuji s tím pomoct.
Dík za pochopení. Upravil Ferdinand - 20.čer.2008 v 12:40 |
|
-FerTh-
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Ta "rovná se" právě slouží k tomu, aby ten původní blok se redefinoval k podobě nového vkládaného bloku (není to součást názvu, nýbrž syntaxe příkazu). Pokud bych nový blok vkládal bez "=", tak nebudu dotazován na to, zda chci blok předefinovat a vloží se aktuální podoba dle toho, jak je momentálně ve výkresu nadefinován.
Upravil Ferdinand - 16.čer.2008 v 12:43 |
|
-FerTh-
|
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Ale Vy v te funkci v souboru "20080613_103748_nvb.lsp" pred upravami (entmod) vkladate blok "FOE-LOGO0=" a ne "FOE-LOGO0" - stringy spojujete funkci (strcat NB "=") A dále pokud blok "FOE-LOGO0" ve výkrese je definovan pred prejmenovanim, tak prejmenovani neprobehne.Mel by jste na to pridelat test. |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Blok s názvem FOE-LOGO0 ve výkrese je (má být) - právě ten chci redefinovat vložením "nového" FOE-LOGO0.
Chci se vyhnout případu, kdy je třeba uživatelského vstupu (ukázání na něco, zadávání něčeho z klávesnice...), protože funkci chci aplikovat na mnoho výkresů (asi scriptem).
|
|
-FerTh-
|
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Takhle vypada kratka funkce:
vybere blok, funkce zvetsi meritko bloku na 2 (defun c:xx ( / objekt vlastnosti_objektu nove_vlastnosti_objektu) (setq objekt (car (entsel "ukazte na blok: "))) (setq vlastnosti_objektu (entget objekt)) ;(subst newitem olditem lst) (setq nove_vlastnosti_objektu (subst '(41 . 2) (assoc 41 vlastnosti_objektu) vlastnosti_objektu)) (entmod nove_vlastnosti_objektu) (princ) ) |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
chyba je v radce:
(command "._-insert" (strcat NB "=") "_y" nil "_regen") nebo mate ve vykrese blok s nazvem (strcat NB "=") - v tomhle pripade "FOE-LOGO0=" ? |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Někde mám asi chybu, ale nevím kde
|
|
-FerTh-
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Děkuji, jdu to zkoušet. V AutoCADu v Helpu nejsou (ale před časem ještě byly... ED: objeví se tato hláška:
a (po potvrzení YES anebo NO) nic se neděje... Upravil Ferdinand - 13.čer.2008 v 09:38 |
|
-FerTh-
|
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
chce to si vytvorit novy list s konkretni vlastnosti a spravnou hornotou - myslim prikaz "cons"
vymenit ho ve vlastnostech entity "subst" a "zapsat zmenu" - "entmod" a nakonec zregenerovat vykres Myslim, ze v napovede byl uveden jednoduchy priklad... |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Ano, jde to tak. Ovšem můj konkrétní dotaz je: chci změnit pouze měřítko vnořeného bloku z 1 na 15, nikoli modifikovat blok. Našel jsem, že jsou to klíče 41-42-43. Jak se přiřazují nové hodnoty těmto klíčům? |
|
-FerTh-
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Co v případě, když je těch vnořených bloků více a každý je jiný? To asi musím předem znát název hledaného bloku, který chci měnit?
Možná by stačilo vložit ten (již upravený) blok, odpovědět "_Yes" na dotaz zda to chci předefinovat a pak ho zas smazat - musím prvně vyzkoušet.
|
|
-FerTh-
|
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21958 |
![]() |
Závislý blok by se měl měnit samostatně - až "po". Definici ale můžete měnit i programově přímo ve výkresové databázi, nemusíte spouštět REFEDIT.
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Aha, to mne nenapadlo - a v tom cyklu pak najít ten blok, že. A tak potom lze měnit vlastnosti vnořeného bloku - ta změna má být provedena v těle cyklu anebo stačí až cyklus skončí, blok zdárně najde a teprv měnit?
|
|
-FerTh-
|
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21958 |
![]() |
Jde, ale ne nějakou jedinou geniální LISP funkcí - je potřeba projet definici bloku cyklem.
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Když se přece jenom stane, že součástí BLOKU je kromě jiných entit také nějaký jiný blok, lze ten vnořený blok identifikovat (v lispu)? Tj. aby se vytvořila nenulová výběrová množina obsahující entitu vnořeného bloku v tom jednom konkrétním BLOKU.
|
|
-FerTh-
|
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
|
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,246 sekund.