Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 4633 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD 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 360, 3ds Max a s dalšími CAD 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 Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoLISP - ukončení funkce

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

Přihlášen: 01.říj.2004
Lokalita: ČR (MS)
Používám:
Autodesk Civil 2020
Stav: Offline
Bodů: 848
Přímý odkaz na tuto zprávu Téma: LISP - ukončení funkce
    Zasláno: 22.zář.2006 v 15:41
Obracímse s prosbou. Mám LISP na popis poloměru obloku, velikost písma a odsazení je závislé na proměnné USERR1, vše je funkční, až na jednu věc. Po popsání poloměru se funkce znovu spustí a vypíše nesmyslné hlášky. Můžete mi někdo poradit, kde je chyba? Jsem v LISPu laik, tak k přiloženému kódu prosím o shovívavost
 
;Popis poloměru oblouku
(defun C:POLOMER ( / pt1 cen mid end D1 p)
 (if (= 0 (getvar "USERR1"))     ; kontrola nastaveni hodnoty USERR1, nesmi byt 0
      (progn
         (setq def_userr1 1)
         (setq def_userr1 (getreal "\nZadej userr1: "))
         (setvar "USERR1" def_userr1)
      ) ;progn
   ) ;if

 (setq  Ods  (* 3.5 (getvar "USERR1")) ; odsazeni textu od osy
         VT  (* 2.5 (getvar "USERR1")) ; velikost pisma
         Uhly  (getvar "AUNITS") 
  Delky  (getvar "LUNITS")
  Smer  (getvar "ANGDIR")
  Nula  (getvar "ANGBASE")
  Mista  (getvar "LUPREC")
  KonNul  (getvar "DIMZIN")
  Uchop  (getvar "OSMODE")
  
 )        ;setq
 
 (setvar "AUNITS" 2)
 (setvar "LUNITS" 2)
 (setvar "ANGDIR" 0)
 (setvar "ANGBASE" 0)
 (setvar "LUPREC" 2)
 (setvar "DIMZIN" 1)
 (setvar "OSMODE" 0)
 (setvar "UCSFOLLOW" 0) 

  (setq pt1 (cadr (entsel "Ukaž oblouk: "))
              cen (osnap pt1 "_CEN")
              mid (osnap pt1 "_MID") 
              end (osnap pt1 "_END")
               D1 (distance cen mid)
        IP (list 0 (- D1 Ods) 0)
  )
 (COMMAND "_UCS" "3" cen mid end)
 (COMMAND "_UCS" "Z" "300")
; (COMMAND "TEXT" "J" "C" "0,0,0" VT "0" (STRCAT "R"(RTOS D1 2 1)) "") ;popis na střed oblouku
 (COMMAND "TEXT" "J" "C" IP VT "0" (STRCAT "R"(RTOS D1 2 1)) "")      ;popis přímo k oblouku s odsazením 
 (COMMAND "_UCS" "W") 
 (setvar "AUNITS" Uhly)
 (setvar "LUNITS" Delky)
 (setvar "ANGDIR" Smer)
 (setvar "ANGBASE" Nula)
 (setvar "LUPREC" Mista)
 (setvar "DIMZIN" KonNul)
 (setvar "OSMODE" Uchop)
  
)
(princ "C:POLOMER - měření poloměru oblouku (CZ V/1997)" )
(princ)
R.C.

OSTRAVA
Zpět nahoru
vknop Zobrazit panel
Zasloužilý člen
Zasloužilý člen

.

Přihlášen: 04.říj.2004
Lokalita: Czech Republic
Stav: Offline
Bodů: 181
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 16:44
Ty uvozovky za (STRCAT "R"(RTOS D1 2 1)) jsou jaksi navíc
Zpět nahoru
Radim Cech Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (MS)
Používám:
Autodesk Civil 2020
Stav: Offline
Bodů: 848
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 16:53

Nechápu proč se na konci se pak objeví to 33. Ničemu to nevadí, ale prostě nechápu.

Command: TEXT
Current text style:  "ARIALNARROW"  Text height:  1.50
Specify start point of text or [Justify/Style]: J Enter an option
[Align/Fit/Center/Middle/Right/TL/TC/TR/ML/MC/MR/BL/BC/BR]: C
Specify center point of text:
Specify height <1.50>: 1.500000000000000
Specify rotation angle of text <0g>: 0
Enter text: R3.6
Command: _UCS
Current ucs name:  *NO NAME*
Specify origin of UCS or [Face/NAmed/OBject/Previous/View/World/X/Y/Z/ZAxis]
<World>: W
Command: 33

 
 
R.C.

OSTRAVA
Zpět nahoru
vknop Zobrazit panel
Zasloužilý člen
Zasloužilý člen

.

Přihlášen: 04.říj.2004
Lokalita: Czech Republic
Stav: Offline
Bodů: 181
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 17:16
Původně odeslal(a) Radim Cech Radim Cech napsal(a):

Nechápu proč se na konci se pak objeví to 33. Ničemu to nevadí, ale prostě nechápu.
...
Command: 33
Protože je nastaven úchop konec + průsečík :-)
Ale je to proto, že lisp funkce vrací výsledek, v tomto případě 33 z přiřazení OSMODE. Proto se na konec lispu píše (princ), protože princ "nic", vrací taky nic a proto se pak na konci nic nezobrazí.
Zpět nahoru
Radim Cech Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (MS)
Používám:
Autodesk Civil 2020
Stav: Offline
Bodů: 848
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 17:24
Tam přece (princ) je? Tomu "vracení" 33 rozumím, ale proč se objeví na příkazové řádce, tomu ne. Co tam má tedy ještě dopsat?
R.C.

OSTRAVA
Zpět nahoru
vknop Zobrazit panel
Zasloužilý člen
Zasloužilý člen

.

Přihlášen: 04.říj.2004
Lokalita: Czech Republic
Stav: Offline
Bodů: 181
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 17:36
Původně odeslal(a) Radim Cech Radim Cech napsal(a):

Tam přece (princ) je? Tomu "vracení" 33 rozumím, ale proč se objeví na příkazové řádce, tomu ne. Co tam má tedy ještě dopsat?
(princ), ale na konec funkce. To (princ), které už tam je, má vliv jen při načítání ze souboru, ale na (C:Polomer) nemá vůbec žádný vliv.
Zpět nahoru
Radim Cech Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 01.říj.2004
Lokalita: ČR (MS)
Používám:
Autodesk Civil 2020
Stav: Offline
Bodů: 848
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 17:43
Vždyť říkám, že jsem laik. Máš hned říct, že to patří o dva řádky víc a je to.  Prostě jak pro méně chápavého
Díky, už to funguje, resp. už se tam nic nesmyslného neobjevuje
R.C.

OSTRAVA
Zpět nahoru
vknop Zobrazit panel
Zasloužilý člen
Zasloužilý člen

.

Přihlášen: 04.říj.2004
Lokalita: Czech Republic
Stav: Offline
Bodů: 181
Přímý odkaz na tuto zprávu Zasláno: 22.zář.2006 v 18:05
Původně odeslal(a) Radim Cech Radim Cech napsal(a):

Máš hned říct, že to patří o dva řádky víc a je to. 
To by jistě šlo, ale lepší je i pochopit proč.
 
Původně odeslal(a) Radim Cech Radim Cech napsal(a):

Prostě jak pro méně chápavého
No, no... Zas tak bych se nezhazoval :-)
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ů: 1904
Přímý odkaz na tuto zprávu Zasláno: 06.říj.2006 v 14:43
Pokud máte rozumně nastavený styl kótování, tak by přece stačilo použít klasicky

Command: _dimradius
  (KLIK-na oblouk)
Select arc or circle:
...
Specify dimension line location or [Mtext/Text/Angle]: 
(KLIK-výběr lokace popisu)

Ovšem, když máte nakreslený "nějaký" oblouk např. R=10 a chcete, aby byl nakótován jako R=286,95 tak to já vůbec ale vůbec nemiluju...Dead

-FerTh-
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 5286:VIPVrácení vypůjčené síťové licence (předčasné ukončení výpůjčky).
Tip 5567:Snazší orientace ve velkých 3D modelech.
Tip 5952:VIPZachování AutoSave (.sv$) souborů AutoCADu i po uložení/ukončení.
Tip 11361:Proč mi zmizel přístup k licenci aplikace Fusion 360?
Tip 10778:Kde se berou soubory ve složce TEMP\proteinrun ?
Tip 3235:VIPNedokumentovaná funkce v Express Tools.


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