ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
Přes 123.000 registrovaných u nás, celkem 1.130.000 registrovaných (CZ+EN). Tipy pro AutoCAD 2027, pro Inventor 2027 a pro Revit 2027. Nový Kalkulátor nosníků, Spirograf generátor a Regresní křivky v sekci Převodníky. Kompletní příkazy a proměnné AutoCADu 2027.
Be.Smart Connector - ACC-Bluebeam
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 emea.support.arkance.world
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoUprava Lispu

 Odpovědět Odpovědět archiv
Autor
Augur Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 24.led.2005
Stav: Offline
Bodů: 103
Přímý odkaz na tuto zprávu Téma: Uprava Lispu
    Zasláno: 03.zář.2007 v 10:40
Chcel by som poziadat o radu, pri modifikacii tohoto lispu.
Vysledok by mal byt taky, ze pri nezadani hodnoty na prepisanie sa pouzije predvolena hodnota napr. "X"

(defun c:repstring ()
(SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: "))
(SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH: "))
(REPSTRING OSTRING NSTRING)
)

Snazil som sa to zapisat nejako takto, ale nech robim, co robim, stale to nejde.

(defun c:repstring ()
(SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: "))
(if (= "") (SETQ "x") (GETSTRING T "\nSTRING TO BE REPLACED: ")))
(REPSTRING OSTRING NSTRING))
Designer/Projektant/Ucitel
Autocad 2007
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ů: 22215
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 11:10
(defun c:repstring ()
(SETQ OSTRING (GETSTRING T "\nSTRING TO BE REPLACED: "))
(SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH <něco>: "))
(if (= NSTRING "")(setq NSTRING "něco"))
(REPSTRING OSTRING NSTRING)
)
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz emea.support.arkance.world)
Zpět nahoru
Augur Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 24.led.2005
Stav: Offline
Bodů: 103
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 11:34
Dakujem, funguje.
Designer/Projektant/Ucitel
Autocad 2007
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD
Stav: Offline
Bodů: 1919
Přímý odkaz na tuto zprávu Zasláno: 03.zář.2007 v 16:47
Ve stařičké Učebnici Autolispu je následující řešení:
 
;B...implicitni hodnota
;C...vyzva uzivateli (to, co bude v zavorkach tj. <C>)
;D...typ promenne (real, int, str)
(defun default (B C D / TEMP)
  (cond ((= D "real")
  (if (= B nil)
    (setq B 1)
  )
  (prompt (strcat C " <" (rtos B 2 2) "> "))
  (setq TEMP (getreal))
  (if (= TEMP nil)
    B
    TEMP
  )
 )
 ((= D "int")
  (if (= B nil)
    (setq B 1)
  )
  (prompt (strcat C " <" (rtos B 2 0) "> "))
  (setq TEMP (getint))
  (if (= TEMP nil)
    B
    TEMP
  )
 )
 ((= D "str")
  (if (= B nil)
    (setq B "")
  )
  (prompt (strcat C " <" B "> "))
  (setq TEMP (getstring t))
  (if (= TEMP "")
    B
    TEMP
  )
 )
  )
  ;(princ)
)
;;
;;Priklady volani implicitni hodnoty:
;;
;;  (setq PROM (default BB CC DD)) ;obecny tvar - v prikazovem radku se objevi:
;;[retezec CC:] <hodnota BB>
;;kde format BB bude DD
;;  (setq A1 (default 10 "\nZadejte cele cislo: " "int")) ;<default> pro promennou A1 bude hodnota <10> tj. Integer
;;  (setq A2 (default A1 "\nZadejte realne cislo: " "real")) ;<default> pro promennou A2 bude promenna <A1> a to Real
;;  (setq A3 (default "doleva" "\nSmer bude: " "str")) ;<default> pro promennou A3 bude retezec <doleva> tj. String
;;
-FerTh-
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD
Stav: Offline
Bodů: 1919
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 16:30
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

(defun c:repstring ()
...
Mně to nefunguje:
Command: _appload repstring.lsp successfully loaded.
Command: repstring
STRING TO BE REPLACED: ABCDE
STRING TO REPLACE WITH <něco>: Enter
; error: no function definition: REPSTRING
 
-FerTh-
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ů: 22215
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 16:50
To byl jen fragment kódu - definice funkce (repstring) tam není.
Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz emea.support.arkance.world)
Zpět nahoru
Ferdinand Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD
Stav: Offline
Bodů: 1919
Přímý odkaz na tuto zprávu Zasláno: 08.led.2008 v 17:16
Původně odeslal(a) Augur Augur napsal(a):

...
(SETQ NSTRING (GETSTRING T "\nSTRING TO REPLACE WITH: "))
(if (= "") (SETQ "x") (GETSTRING T "\nSTRING TO BE REPLACED: ")))
(REPSTRING OSTRING NSTRING))
Pro tuto formu zápisu bych to spíše napsal:
 
;;predvolena hodnota:
(setq DFT (strcat "<ABC>"))
 
(setq OSTRING (getstring "\nSTRING TO BE REPLACED: "))
(setq NSTRING (getstring (strcat "\nSTRING TO REPLACE WITH: " DFT)))
(if (= NSTRING nil) (setq NSTRING DFT))
 
;;zamena OSTRING na NSTRING: (nevim jak)
(???? ???? ????)

Co to je "T" ?
 
Jinak je to řešeno - např. chgtext.lsp


Upravil Ferdinand - 08.led.2008 v 17:17
-FerTh-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 3834:Jak lze zabránit modifikaci nástrojových panelů?
Tip 3610:Tlačítka nástrojových panelů mi připadají malá. Lze je zvětšit?
Tip 4305:Co jsou soubory .XPG AutoCADu?
Tip 3359:Jak poznám, že mám nainstalovánu 'Tool Palettes Extension'?
Tip 10361:VIPJak pomocí Lispu rozšířit prohledávací cesty AutoCADu?
Tip 5802:VIPPřevodník hladin a dávkové operace.


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