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: 10653 
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řenoVisual LISP 2005

 Odpovědět Odpovědět archiv
Autor
skopal Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.lis.2004
Lokalita: ČR (OL)
Používám:
Inventor 2019
Stav: Offline
Bodů: 21
Přímý odkaz na tuto zprávu Téma: Visual LISP 2005
    Zasláno: 03.led.2005 v 09:38

Dobrý den

Mám ve Visual Lispu udělaný proram na kreslení příruby.

V AC2000 až AC2004 mě to fungovalo bez problémů ale v AC2005 to nefunguje

nevíte co se tu změnilo.

Posílám sintaxi programu:

(defun c:priruba ()
;#nulovani vstupnich hodnot
(setq Cx "" Cy "" Cz "") ;#
(setq id (load_dialog "priruba.dcl"))

(setq  what_next 5) ;#

    (while (< 2 what_next)        &n bsp;    ;# smyčka pro kontrolu v jaké fázi se dialog nachází
 (if (not (new_dialog "priruba" id))
  (exit))

  (set_tile "Cx" Cx)
  (set_tile "Cy" Cy)
  (set_tile "Cz" Cz)


;#  nastaveni obr


(setq x (dimx_tile "obr")) ;rozměr obrazku v dialogu
(setq y (dimy_tile "obr")) ;rozměr obrazku v dialogu
(start_image "obr")
(fill_image 0 0 x y -2)   ; vyplnění obr -2 pozadí obrazovky
    ;   -15 pozadí dialog panelu
    ; -16 barva popředí dialog panelu (text)
    ;-18 barva obrysu dialog panelu

(slide_image 0 0 (- x 1) (- y 1) "priruba-I" ) ; (slide_image x1 y1 sirka vyska jmeno snimku
      ; snimek
(end_image)
 
  (action_tile "Cx"
         "(setq Cx $value)")
  (action_tile "Cy"
         "(setq Cy $value)")  
  (action_tile "Cz"
         "(setq Cz $value)")
 


  (action_tile "VnejPr"
         "(setq P1 $value)") ;vnější průměr
 
  (action_tile "VnitrPr"
         "(setq P2 $value)") ;vnitřní průměr
 
  (action_tile "RPr"
         "(setq P3 $value)") ;roztečá kružnice
 
  (action_tile "PrDi"
         "(setq P4 $value)") ;průměr díry
 
  (action_tile "PcD"
         "(setq Pd $value)") ;počet děr

  (action_tile "stred" "(done_dialog 4)");tlačítko střed
 
 
  (action_tile "accept" "(done_dialog 1)")
               ;;; je-li zmáčknuto tlačítko "OK" zavolej
               ;;; funkci done_dialog s hodnotou 1
  (action_tile "cancel" "(done_dialog 0)")
               ;;; je-li zmáčknuto tlačítko "CANCEL" zavolej
               ;;; funkci done_dialog s hodnotou 0
 

(setq what_next (start_dialog)) ;# start dialogu
 
  (if (= what_next 4)(progn
             (initget 1)
             (setq bod_pt (getpoint "Zadej bod vložení: "))
     (setq Cx (rtos (car bod_pt)))
    ; car-x souradnice rtos je převedeni na řetězec
    (setq Cy (rtos (cadr bod_pt)))
    (setq Cz (rtos (caddr bod_pt)))
    ; POKUD JSEM ODTUD CHTEL NASTAVIT ROVNOU DIALOG
    ; TAK TO NESLO - ASI SPATNY MOD DIALOGU
         )
 )
 
 (if (= what_next 2) (progn
    (done_dialog)
   (unload_dialog dcl_id)
       )
 )
 
);;konec nacteni stredu
;načtení středu
 
  (setq C (list (atof Cx) (atof Cy) (atof Cz)))
  (setq VnejsiPr (atof P1))
  (setq VnitrniPr (atof P2))
  (setq RoztecPr (atof P3))
  (setq PrDiry (atof P4))
  (setq PcDer (atoi Pd))
  (setq PcD (atof Pd)) 

 


   (unload_dialog  id) ;;; odstraní dialog id z paměti

 

 

 
      
         ;;; funkce pro nastavení hodnot souřadnic středu
         ;;; do globální proměnné C2 hodnoty
(setq C2 (list (car C) (+ (cadr C) (/ RoztecPr 2.0)) (caddr c))) 
 
;body usečky osy odkud kam

 
(setq U1 (list (car C) (+ (+ (cadr C) (/ RoztecPr 2.0)) (* PrDiry 0.7)) (caddr c)))
(setq U2 (list (car C) (- (+ (cadr C) (/ RoztecPr 2.0)) (* PrDiry 0.7)) (caddr c)))
 
;body pro výběr okna pro rotaci díry

  (setq W1 (list (- (car C) (* PrDiry 0.8)) (- (+ (cadr C) (/ RoztecPr 2.0)) (* PrDiry 0.8)) (caddr c)))
  (setq W2 (list (+ (car C) (* PrDiry 0.8)) (+ (+ (cadr C) (/ RoztecPr 2.0)) (* PrDiry 0.8)) (caddr c)))
;;body pro centralni osy

  (setq W3 (list (- (car C) (* VnejsiPr 0.6)) (cadr C) (caddr c)))
  (setq W4 (list (+ (car C) (* VnejsiPr 0.6)) (cadr C) (caddr c)))
  (setq W5 (list (car C) (- (cadr C) (* VnejsiPr 0.6)) (caddr c)))
  (setq W6 (list (car C) (+ (cadr C) (* VnejsiPr 0.6)) (caddr c)))
;;body pro centralni osy 

  (setq W10 (list (- (car C) (* VnejsiPr 0.7)) (- (cadr C) (* VnejsiPr 0.7)) (caddr c)))
  (setq W11 (list (+ (car C) (* VnejsiPr 0.7)) (+ (cadr C) (* VnejsiPr 0.7)) (caddr c)))
 
 (setq AH(getvar "clayer"))                 ; do promene AH si ulozi aktualni hladinu


;;vypnuti OSNAPu nastaveni bitu 16384
(setvar
  "OSMODE"
  (logior
    (getvar "OSMODE")
    16384
  ) ;logior
) ;setvar

 

 

 


 
 
;;nepoužívat
; na začátku si zapamatovat původní nastavení
;;(setq old_osmode (getvar "OSMODE"))
; nastavit pož. hodnotu
;;(setvar "OSMODE" 0)


 
 
;;kreslení
  (command "_clayer" "silna" "")
  (command "_circle" C (/ VnejsiPr 2.0))
  (command "_circle" C (/ VnitrniPr 2.0))
  (command "_circle" C2 (/ PrDiry 2.0))

  (command "_clayer" "osy" "")
  (command "_circle" C (/ RoztecPr 2.0))
  (command "_line" U1 U2 "")
  (command "_array" "o" W1 W2 "" "k" C PcDer 360 "_y" )
  (command "_rotate" "_w" W10 W11 "" C (/ 180 PcD))
  (command "_line" W3 W4 "")
  (command "_line" W5 W6 "")

;;zapnuti OSNAPu vypnutim bitu 16384
(setvar
  "OSMODE"
  (logand
    (getvar "OSMODE")
    (~ 16384)
  ) ;logior
) ;setvar
 
(setvar "clayer" AH)                         ;; nastavi zpet puvodni hladinu
 

 )

Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21489
Přímý odkaz na tuto zprávu Zasláno: 03.led.2005 v 11:10
nemyslím, že by tam byly nějaké změny - je opravdu dostupný ten DCL soubor?
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
skopal Zobrazit panel
Diskutér
Diskutér

Přihlášen: 10.lis.2004
Lokalita: ČR (OL)
Používám:
Inventor 2019
Stav: Offline
Bodů: 21
Přímý odkaz na tuto zprávu Zasláno: 05.led.2005 v 10:09

Jo ten mi funguje

Omlouvám se opožděnou reakci ale mám to tu nějak divně nastaveno.

dialog se zobrazí lze ho doplnit bez problémů akorát  při zadání 2 děr  to nakreslí 180 děr které jsou 2x na sobě

Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 7325:Design Review hlásí chybu "Microsoft Visual C++ 2008 SP1 required".
Tip 5865:Mohu použít Visual Studio 2008 pro tvorbu aplikací pro AutoCAD?
Tip 9018:Chyba Microsoft Visual C++ 2005: Command line option syntax error.
Tip 3523:Jak vytvářet ARX aplikace pro AutoCAD?
Tip 6936:Po instalaci Navisworks 2010 mi nefunguje prostředí Visual LISP.
Tip 5946:Chyba: Spuštění této aplikace se nezdařilo


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