Vytisknout stránku | Zavřít okno

Nahradit (command) za (command-s)

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=19884
Datum vytištění: 13.kvě.2026 v 22:48


Téma: Nahradit (command) za (command-s)
Odeslal: zdrk
Předmět: Nahradit (command) za (command-s)
Datum odeslání: 10.zář.2014 v 11:03
Používám tento lisp ma spojování do křivek

(defun C:Krivspoj( / ss index n Ano tepent) ;spoj "krivky" s mezerou do 2
(command "_select" pause)
(setq ss (ssget "_p"))
    (setq index 0
   n (sslength ss))
    (repeat n
      (setq typent (cdr (assoc 0 (entget (ssname ss index)))))
       (if (or (equal typent "LINE") (equal typent "ARC"))
(setq Ano T))
       (setq index (+ 1 index)))

(command "_pedit" "_m" "_p" "")
(if Ano (command "_y")) ;Kdyz je cara nebo oblouk
(command "_j" "_j" "_e" "2.00" "")
(princ)
)

Vypisuje tuto chybu:
Chyba: Neznámé selhání příkazů (command-s)
Nelze vyvolat (command) z *chyba* bez předchozí volání (*push-error-using-command*).
Doporučuje se převést volání příkazu (command) na (command-s).

Který nahradit nebo všechny. Zkoušek už jsem skoro vše, ale výpis je pořád stejný.



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 10.zář.2014 v 13:24
Pokud to vadí, tak raději všechny. Nicméně nedělá ta aplikace totéž co příkaz SPOJ?

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: zdrk
Datum odeslání: 10.zář.2014 v 16:14
Možná dělá, ale ne úplně podle představ.
Něco mi na SPOJ vadí, ale teď si nevzpomenu co.


Odeslal: johny
Datum odeslání: 10.zář.2014 v 16:21
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

Nicméně nedělá ta aplikace totéž co příkaz SPOJ?

:) 
Taky jsem měl svůj lisp, s přechodem na vyšší verzi přestal trochu fungovat, tak jsem vzal na milost _join, který tehda "signifikantně" vylepšili.. Mno, ten příkaz opravdu vylepšili.. ale pořád bych řekl, že ten lisp býval spolehlivější, ikdyž už né tak výrazně... takže jsem asi trochu rezignovaně zůstal u _join.


Odeslal: zdrk
Datum odeslání: 10.zář.2014 v 16:26
Klasické zlepšení k horšímu.
Když to v tom lispu zaměním, píše to pořád stejnou chybu.
Tady u toho lispu mi vyhovovalo, že jsem mohl vybrat cokoliv, kdekoliv a on spojil vše co mohl.
U příkazu SPOJ mi to tak úplně nedaří. Snad si časem zvyknu, nebo budu používat jiný list z GG menu.


Odeslal: Vladimír Michl
Datum odeslání: 10.zář.2014 v 18:05
Ale tenhle LISP můžete používat i nadále. Sám o sobě funguje i ve verzi 2015 (ověřeno). To proč vám hlásí onu chybu, je způsobeno kolizí s nějakou jinou aplikací (resp. jejím "errorhandlerem").

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: johny
Datum odeslání: 10.zář.2014 v 18:47
;Nemám acad2015, vlastně teď žádný acad k dispozici, tak nevím jestli to pomůže vašemu problému, kód lze zjednodušit s setvar "peditaccept" 1. 

(defun C:Krivspoj ( / ss) ;spoj "krivky" s mezerou do 2
  (setq ss (ssget (list '(0 . "LWPOLYLINE,ARC,LINE"))))  
  (setvar "PEDITACCEPT" 1)
  (command "_pedit" "_m" ss "" "_j" "_j" "_e" "2." "")
  (princ)
)


Odeslal: zdrk
Datum odeslání: 10.zář.2014 v 21:15
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):


Ale tenhle LISP můžete používat i nadále. Sám o sobě funguje i ve verzi 2015 (ověřeno). To proč vám hlásí onu chybu, je způsobeno kolizí s nějakou jinou aplikací (resp. jejím "errorhandlerem").


Začarovaný kruh s povým PC opět.
Na určité věci používám raději holý cad než ACA. Snažil jsem se mít vše jako v původním cadu 2009, kde bylo vše OK.
Mam tam přidané GG menu, ST, a par klasických aplikací zde stažených.
Trvale načtené mam Jobtime, ADDV a hodně dávno tady z diskuce stažen lisp pro zobrazení velikosti výkresu ve stavovém řádku. ADDV a velikost je načten přes aktovku. Jobtime přes menu soubor.
Občas se mi zdálo, že když byl v aktovce, tak se po načtení ADDV JobTime nenačetl. Uvedena chyba, ale uz si nepamatuji jaká. Po odendání z aktovky bez problému. Ale v tom asi ta chyba nebude.



Vytisknout stránku | Zavřít okno