_

[Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Forum poświęcone flagowemu produktowi oraz aplikacjom pochodnym Autodesku. To jedyne forum mające w tytule nazwę programu, a to ze względu na jego olbrzymią popularność w Polsce. Można tutaj umieszczać również posty z ogólnie pojętej tematyki "Kreślarskie 2D".

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez ziele_o2k » sie 04, 2017 17:11

To jak dopieszczamy i pakujemy jakoś?
Swoją drogą jestem zdania, że lepiej zrezygnować z label dla popup i editbox, i zrobić to za pomocą textu. Na różnych wersjach cada, czy innych chińczyków różnie to działa. A jak labele jako text będziemy mieć w jednej kolumnie, a popuplisty editboxy i inne w drugiej, to będzie się zawsze bardzo ładnie wyświetlało. Jak zbadałem temat na necie, to tak raczej wszyscy działają.

Druga sprawa, może jeszcze dorzucić funkcję obsługującą popuplist tak jak mamy z buttonem?
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 505
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez kruuger » sie 10, 2017 17:35

ziele_o2k napisał(a):To jak dopieszczamy i pakujemy jakoś?
Swoją drogą jestem zdania, że lepiej zrezygnować z label dla popup i editbox, i zrobić to za pomocą textu. Na różnych wersjach cada, czy innych chińczyków różnie to działa. A jak labele jako text będziemy mieć w jednej kolumnie, a popuplisty editboxy i inne w drugiej, to będzie się zawsze bardzo ładnie wyświetlało. Jak zbadałem temat na necie, to tak raczej wszyscy działają.

Druga sprawa, może jeszcze dorzucić funkcję obsługującą popuplist tak jak mamy z buttonem?

hej, ciezko zasiasc do tego :(
wrzucicsz mi przyklad jakis z nowa funkcja cd:DCL_StdQuickOptionsDialog?
jak dokladnie zapodajesz poszczegolne argumenty.
dz.
Avatar użytkownika
kruuger
 
Posty: 4779
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez kruuger » sie 10, 2017 17:41

czyli przeniosles _CheckVal do osobnego pliku cd:DCL_CheckEditBoxValue
i usunales zmienna fl ktora bylo odpiwiedzialna za wyswietlanie error? jesli dobrze patrze.
chyba wiec cd:DCL_CheckEditBoxValue bylby z glowy...
Avatar użytkownika
kruuger
 
Posty: 4779
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez ziele_o2k » sie 11, 2017 11:33

W długi weekend usiądę do tego wszystkiego, bo sam sobie muszę przypomnieć co i jak :D. Zrobię też dokładny opis funkcji i wprowadzę jakieś zmiany, które jeszcze chodzą mi po głowie.
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 505
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez kruuger » sie 11, 2017 17:34

ziele_o2k napisał(a):W długi weekend usiądę do tego wszystkiego, bo sam sobie muszę przypomnieć co i jak :D. Zrobię też dokładny opis funkcji i wprowadzę jakieś zmiany, które jeszcze chodzą mi po głowie.

wydaje sie ze obie funkcje sa ok (CheckEdit i EditBox). ma to wszystko sens.
przeslal bys mi tylko jakies test tej nowej funkcji.
chodzi o skladnie zmiennej DATA. tu sie chyba najwiecej dzieje.
dz
Avatar użytkownika
kruuger
 
Posty: 4779
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez kruuger » wrz 15, 2017 09:36

ziele_o2k napisał(a):W długi weekend usiądę do tego wszystkiego, bo sam sobie muszę przypomnieć co i jak :D. Zrobię też dokładny opis funkcji i wprowadzę jakieś zmiany, które jeszcze chodzą mi po głowie.

wrzuc co masz.z grubsza bylo ok. ja chcialem tylko sample jak wywolujesz ta funkcje.
dz
Avatar użytkownika
kruuger
 
Posty: 4779
Dołączył(a): paź 27, 2005 20:14
Lokalizacja: Kraków

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez ziele_o2k » wrz 15, 2017 09:49

kruuger napisał(a):
ziele_o2k napisał(a):W długi weekend usiądę do tego wszystkiego, bo sam sobie muszę przypomnieć co i jak :D. Zrobię też dokładny opis funkcji i wprowadzę jakieś zmiany, które jeszcze chodzą mi po głowie.

wrzuc co masz.z grubsza bylo ok. ja chcialem tylko sample jak wywolujesz ta funkcje.
dz

Tutaj jakiś kod do aktualizacji kot wysiokościowych
Kod: Zaznacz cały
(defun c:gtak ( / *error* kw PZ:DataKoty ss in blkBase Poz0Kot PozWKot Accur Unit
                  llp ulp urp lrp plineobj plinelst)
  (PZ:IfArdSettingsLoaded)
  (defun pz:KotyDialog nil
    (cd:DCL_StdQuickOptionsDialog
      (list
        (list
          2
          "Button_1"
          "Zmień punkt bazowy:"
          '(
            "&Zmień <"
           (setq *pz:KotyPtBazowy* (getpoint "\nWskaż nowy punkt bazowy "))
          )
        )
        (list
          1
          "Edit_1"
          "Poziom względny punktu bazowego:"
          '(3 25 nil nil nil 2 3)
        )
        (list
          0
          "Popup_1"
          "Ilość miejsc po przecinku:"
          '("0.0" "0.00" "0.000")
        )
        (list
          1
          "Edit_2"
          "Rzędna bezwzględna punktu bazowego:"
          '(3 25 nil nil nil 2 3)
        )
        (list
          0
          "Popup_4"
          "Jednostka rzędnych bezwzględnych:"
          '("m n.p.m." "m np0W" "Brak")
        )
        (list
          0
          "Popup_3"
          "Rzędne do aktualizowania"
          '("Względne" "Bezwzględne" "Obie")
        )
      )
      *pz:KotyUstawienia*
      "GT-CAD - Aktualizacja kot wysokościowych"
      12 12 15 '("&Ok" "&Anluluj") T
    )
  )
  (if (not *pz:KotyUstawienia*)
    (setq *pz:KotyUstawienia* (list nil "0.00" "0.00" "0.00" "m n.p.m." "Względne"))
  )
  (if (not *pz:KotyPtBazowy*)
    (setq
      *pz:KotyPtBazowy* (getpoint "\nWskaż punkt bazowy: ")
      *pz:KotyUstawienia* (pz:KotyDialog)
    )
  )
  (while (/= kw "Dalej")
    (setq kw (cd:USR_GetKeyWord "\nAktualizuj koty wysokościowe: " '("Dalej" "Punkt bazowy" "Ustawienia") "Dalej"))
    (cond
      ( (= kw "Punkt")
        (setq *pz:KotyPtBazowy* (getpoint "\nWskaż punkt bazowy: "))
      )
      ( (= kw "Ustawienia")
        (if (setq tmp (pz:KotyDialog))
          (setq *pz:KotyUstawienia* tmp)
        )
      )
      ( (not kw) (exit) )
    )
  )
  (if (and kw *pz:KotyUstawienia* *pz:KotyPtBazowy*)
    (setq PZ:DataKoty
      (list
        (- (cadr *pz:KotyPtBazowy*) (* (distof (cadr *pz:KotyUstawienia*) 2) (caddr PZ:ArdSettingsList)))
        (- (distof (cadddr *pz:KotyUstawienia*) 2) (distof (cadr *pz:KotyUstawienia*) 2))
      )
    )
    (exit)
  )
  (if (setq ss (ssget '((0 . "INSERT") (2 . "EKOT*,PKOT*") (66 . 1))))
    (repeat (setq in (sslength ss))
      (setq
        in (1- in)
        blkBase (trans(cdr  (assoc 10 (entget (ssname ss in)))) (ssname ss in) 1)
        Poz0Kot (/ (- (cadr blkBase) (car PZ:DataKoty)) (caddr PZ:ArdSettingsList))
        PozWKot (+ (cadr PZ:DataKoty) Poz0Kot)
        Accur (- (strlen (caddr *pz:KotyUstawienia*)) 2)
        Unit (if (= (cadr (reverse *pz:KotyUstawienia*)) "Brak") "" (strcat " " (cadr (reverse *pz:KotyUstawienia*))))
      )
      (cond
        ( (= (last *pz:KotyUstawienia*) "Względne")
          (cond
            ( (equal 0 Poz0Kot 0.001)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat "%%p" (cd:CON_Real2Str Poz0Kot 2 Accur))
              )
            )
            ( (< 0 Poz0Kot)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat "+" (cd:CON_Real2Str Poz0Kot 2 Accur))
              )
            )
            ( (> 0 Poz0Kot)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat (cd:CON_Real2Str Poz0Kot 2 Accur))
              )
            )
          )
        )
        ( (= (last *pz:KotyUstawienia*) "Bezwzględne")
          (cd:BLK_SetAttValueVLA
            (ssname ss in) "POZIOM"
            (strcat (cd:CON_Real2Str PozWKot 2 Accur) Unit)
          )
        )
        ( (= (last *pz:KotyUstawienia*) "Obie")
          (cond
            ( (equal 0 Poz0Kot 0.001)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat "%%p" (cd:CON_Real2Str Poz0Kot 2 Accur) "=" (cd:CON_Real2Str PozWKot 2 Accur) Unit)
              )
            )
            ( (< 0 Poz0Kot)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat "+" (cd:CON_Real2Str Poz0Kot 2 Accur) "=" (cd:CON_Real2Str PozWKot 2 Accur) Unit)
              )
            )
            ( (> 0 Poz0Kot)
              (cd:BLK_SetAttValueVLA
                (ssname ss in) "POZIOM"
                (strcat (cd:CON_Real2Str Poz0Kot 2 Accur) "=" (cd:CON_Real2Str PozWKot 2 Accur) Unit)
              )
            )
          )
        )
      )
      (setq
        llp (car(LM:boundingbox (ssname ss in)))
        ulp (cadr(LM:boundingbox (ssname ss in)))
        urp (caddr(LM:boundingbox (ssname ss in)))
        lrp (cadddr(LM:boundingbox (ssname ss in)))
      )
      (if (ssget "_C" llp urp (list (cons 0 "LWPOLYLINE") (cons 8 (cdr (assoc 8 (entget (ssname ss in)))))))
        (progn
          (setq
            plineobj (vlax-ename->vla-object (ssname (ssget "_C" llp urp (list (cons 0 "LWPOLYLINE") (cons 8 (cdr (assoc 8 (entget (ssname ss in))))))) 0) )
            plinelst (vlax-get plineobj 'Coordinates)
          )
          (vlax-put plineobj 'Coordinates (cd:LST_ReplaceItem 0(cd:LST_ReplaceItem 2  plinelst (car (trans urp 1 0))) (car (trans llp 1 0))))
        )
        nil
      )
    )
    ;(exit)
  )
   (princ)
)


I na wszelki wypadek wersja, której używam, ale chyba nic nie zmieniałem w odniesieniu do tego co wcześniej na forum zamieściłem.

Kod: Zaznacz cały
(defun cd:DCL_StdQuickOptionsDialog (Data Default Title WidthColA WidthColB BtnsWidth BtnsLabel DPos
                                     / *error* inc keys_A keys_B fd tmp dc defval res _CheckVal)

  (defun _ButtonAction (Key)
    (cadr (last (nth (vl-position Key (mapcar 'cadr Data)) Data)))
  )
  (defun _CheckVal (Key Val / _Error DataCV Code Bit ErrLst err)
    (defun _Error (b) (setq err b))
    (setq
      DataCV (last (nth (vl-position Key (mapcar 'cadr Data)) Data))
      Code (car DataCV)
      Bit (cadr DataCV)
    )
    (setq ErrLst
      (cond
        ( (= Code 0)
          (list
            (cons 1 "Wypelnij pole")
            (cons 8 "Bez samych spacji")
          )
        )
        ( (= Code 1)
          (list
            (cons 1 "Wypelnij pole")
            (cons 2 "Niepoprawna nazwa")
            (cons 3 "Nazwa już istnieje")
            (cons 8 "Bez samych spacji")
            (cons 16 "Nie pasuje do wzorca")
            (cons 32 "Nie wystepuje na liscie")
          )
        )
        ( (member Code (list 2 3))
          (list
            (cons 1 "Wypelnij pole")
            (cons 2 "Nie może być 0")
            (cons 4 "Nie może być <0")
            (cons 8 "Bez samych spacji")
            (cons 16 "Tylko liczby")
            (cons 32 "Wartość za mała")
            (cons 64 "Wartość za duża")
          )
        )
      )
    )
    (if
      (numberp (setq err (cd:DCL_CheckEditBoxValue Code Bit Val DataCV)))
      (progn (set_tile "error" (cdr (assoc err ErrLst))) (mode_tile Key 2))
      (progn (set_tile "error" "") (set_tile Key err))
    )
  )
  (if (not DPos) (setq *cd-TempDlgPosition* (list -1 -1)))
  (setq
    keys_A (mapcar '(lambda (%1) (cons (strcat "A_" (cadr %1)) (caddr %1))) Data)
    flag 2
  )
  (cond
    ( (not
        (and
          (setq fd
            (open
              (setq tmp (vl-FileName-MkTemp nil nil ".dcl")) "w"
            )
          )
          (foreach %
            (list
              (strcat
                "_BUTTON : button { width = " (if BtnsWidth (cd:CON_Real2Str BtnsWidth 2 3) "13") "; fixed_width = true; }"
                "_POPUP : popup_list { edit_width = " (if WidthColB (cd:CON_Real2Str (- WidthColB 0.8) 2 3) "20") "; }"
                "_EDITBOX : edit_box { edit_width = " (if WidthColB (cd:CON_Real2Str WidthColB 2 3) "20") "; }"
                "_TEXT : text { width = " (if WidthColA (cd:CON_Real2Str WidthColA 2 3) "20")";}"
                "_BUTTON2 : button { width = " (if WidthColB (cd:CON_Real2Str (+ WidthColB 2) 2 3) "20") ";fixed_width = true;}"
                "StdQuickOptionsDialog : dialog {"
                (if Title (strcat "label = \"" Title "\";") "")
              )
              (cd:STR_ReParse
                (mapcar
                 '(lambda (%1)
                    (cond
                      ( (= (car %1) 0)
                        (strcat ": _POPUP { key = \"" (cadr %1) "\"; label = \"" (caddr %1) "\"; }")
                      )
                      ( (= (car %1) 1)
                        (strcat
                          ": _EDITBOX { key = \"" (cadr %1) "\"; label = \"" (caddr %1) "\";"
                          (if  (caddr (last %1)) (strcat "edit_limit = " (itoa (caddr (last %1))) ";") "")
                          "}"
                        )
                      )
                      ( (= (car %1) 2)
                        (strcat
                          ": row {"
                          (strcat ": text { key = \"" (strcat "A_" (cadr %1)) "\";label = \"" (caddr %1) "\";}" )
                          ": _BUTTON2 { key = \"" (cadr %1) "\"; label = \"" (car (last %1)) "\";"
                          "}}"
                        )
                      )
                      (T nil)
                    )
                  )
                  Data
                )
                " "
              )
              (strcat
                ": spacer_1 {}"
                ": row { alignment = centered; fixed_width = true;"
                " : _BUTTON { key = \"" (car BtnsLabel) "\";"
                "   label = \"" (car BtnsLabel) "\"; is_default = true; }"
                " : _BUTTON { key = \"" (cadr BtnsLabel) "\";"
                "   label = \"" (cadr BtnsLabel) "\"; is_cancel = true; }"
                "} "
                (if (member 1 (mapcar 'car Data)) "errtile;" ":   spacer_1 {}")
                "}"
              )
            )
            (write-line % fd)
          )
          (not (close fd))
          (< 0 (setq dc (load_dialog tmp)))
        )
      )
    )
    ( T
      (while (> flag 1)
        (if
          (not
            (new_dialog "StdQuickOptionsDialog" dc ""
              (cond
                ( *cd-TempDlgPosition* )
                ( (quote (-1 -1)) )
              )
            )
          )
          (exit)
        )
        (mapcar
         '(lambda (%1 %2)
            (cond
              ( (= (car %1) 0)
                (cd:DCL_SetList (cadr %1) (cadddr %1) (vl-position %2 (cadddr %1)))
              )
              ( (= (car %1) 1)
                (set_tile (cadr %1) %2)
              )
              ( T nil )
            )
          )
          Data
          Default
        )
        (foreach %1 Data
          (cond
            ( (= (car %1) 1)
              (action_tile (cadr %1)
                (vl-prin1-to-string
                  (quote
                    (progn
                      (_CheckVal $key $value)
                    )
                  )
                )
              )
            )
            ( (= (car %1) 2)
              (action_tile (cadr %1)
                (vl-prin1-to-string
                  (quote
                    (progn
                      (setq func (_ButtonAction $key))
                      ;(_ButtonAction $key)
                      ;(eval (_ButtonAction $key))
                      (setq Default
                        (mapcar
                         '(lambda (%1)
                            (cond
                              ( (= (car %1) 0)
                                (nth (atoi (get_tile (cadr %1))) (cadddr %1))
                              )
                              ( (= (car %1) 1)
                                (get_tile (cadr %1))
                              )
                            )
                          )
                          Data
                        )
                      )
                      (setq *cd-TempDlgPosition* (done_dialog 2))
                    )
                  )
                )
              )
            )
            ( T nil )
          )
        )
        (action_tile (car BtnsLabel)
          (vl-prin1-to-string
            (quote
              (progn
                (foreach %1 Data
                  (cond
                    ( (= (car %1) 1)
                      (_CheckVal (cadr %1) (get_tile (cadr %1)))
                    )
                    ( T nil )
                  )
                )
                (if (or (= (get_tile "error") "") (not (member 1 (mapcar 'car Data))))
                  (progn
                    (setq res
                      (mapcar
                       '(lambda (%1)
                          (cond
                            ( (= (car %1) 0)
                              (nth (atoi (get_tile (cadr %1))) (cadddr %1))
                            )
                            ( (= (car %1) 1)
                              (get_tile (cadr %1))
                            )
                            ( (= (car %1) 2)
                              (get_tile (cadr %1))
                            )
                          )
                        )
                        Data
                      )
                    )
                    (setq *cd-TempDlgPosition* (done_dialog 1))
                  )
                )
              )
            )
          )
        )
        (action_tile (cadr BtnsLabel) "(setq res nil) (done_dialog 0)")
        (setq flag (start_dialog))
        (if (> flag 1)
          (eval func)
        )
      )
    )
  )
  (if (< 0 dc) (unload_dialog dc))
  (if (setq tmp (findfile tmp)) (vl-file-delete tmp))
  (if (not DPos) (setq *cd-TempDlgPosition* (list -1 -1)))
  res
)

(defun cd:DCL_CheckEditBoxValue (Code Bit Val Data / _Logand _IsBlank _IsSpaces _Pattern _UserList
                                 _Error _StrUnit _Nth _IsNumb res)

  (defun _Logand (b) (= b (logand Bit b)))
  (defun _IsBlank (s) (= s ""))
  (defun _IsSpaces (s) (not (vl-remove '32 (vl-string->list s))))
  (defun _Pattern (s) (not (wcmatch s (_Nth 4))))
  (defun _UserList (s) (member (strcase Val) (mapcar (quote strcase) (_Nth 5))))
  (defun _Error (b) (setq res b))
  (defun _StrUnit (s) (distof s 3))
  (defun _Nth (n / p)
    (if (setq p (vl-catch-all-apply (quote nth) (list n Data)))
      p
      (vl-catch-all-error-p p)
    )
  )
  (defun _IsNumb (s b / r)
    (if (setq r (_StrUnit s))
      (cond
        ( (and (= 1 (logand 1 b)) (numberp r)) ) ; liczba / number
        ( (and (= 2 (logand 2 b)) (zerop r)) )   ; zero   / zero
        ( (and (= 4 (logand 4 b)) (minusp r)) )  ; ujemna / negative
        ( T nil )
      )
    )
  )
  (cond
    ( (= Code 0) ; dowolny lancuch / any string
      (cond
        ( (and (_Logand 1) (_IsBlank Val)) (_Error 1) )  ; bez ""            / no ""
        ( (and (_Logand 8) (_IsSpaces Val)) (_Error 8) ) ; bez samych spacji / no spaces
        ( T (setq res Val) )
      )
    )
    ( (= Code 1) ; lancuch zgodny z nazwa tablicy / string consistent with table name
      (cond
        ( (and (_Logand 1) (_IsBlank Val)) (_Error 1) )           ; bez ""                  / no ""
        ( (and (_Logand 2) (not (snvalid Val))) (_Error 2) )      ; bez zlej nazwy snvalid  / no bad name
        ( (and (_Logand 4) (tblsearch (_Nth 3) Val)) (_Error 4) ) ; bez istniejacych nazw   / no existing name
        ( (and (_Logand 8) (_IsSpaces Val)) (_Error 8) )          ; bez samych spacji       / no spaces
        ( (and (_Logand 16) (_Pattern Val)) (_Error 16) )         ; pasujacy do wzorca      / match pattern
        ( (and (_Logand 32) (_UserList Val)) (_Error 32) )        ; nie wystepuje na liscie / does not appear in the list
        ( T (setq res Val) )
      )
    )
    ( (member Code (list 2 3)) ; INT = 2, REAL = 3
      (cond
        ( (and (_Logand 1) (_IsBlank Val)) (_Error 1) )                ; bez ""            / no ""
        ( (and (_Logand 2) (_IsNumb Val 2)) (_Error 2) )               ; bez zera          / no zero
        ( (and (_Logand 4) (_IsNumb Val 4)) (_Error 4) )               ; bez ujemnych      / no negative
        ( (and (_Logand 8) (_IsSpaces Val)) (_Error 8) )               ; bez samych spacji / no spaces
        ( (and (_Logand 16) (not (_IsNumb Val 1))) (_Error 16) )       ; tylko liczby      / only number
        ( (and (_Logand 32) (> (_Nth 3) (_StrUnit Val))) (_Error 32) ) ; liczba za mala    / number to small
        ( (and (_Logand 64) (< (_Nth 4) (_StrUnit Val))) (_Error 64) ) ; liczba za duza    / number to big
        ( T
          (setq res
            (if (_IsNumb Val 1)
              (if (= Code 2)
                (itoa (fix (_StrUnit Val)))
                (cd:CON_Real2Str (_StrUnit Val) (_Nth 5) (_Nth 6))
              )
              Val
            )
          )
        )
      )
    )
    ( T nil )
  )
  res
)
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 505
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez wilda » wrz 15, 2017 19:40

Polecenie: GTAK
; błąd: zły typ argumentu: stringp nil
; błąd: no function definition: PZ:IFARDSETTINGSLOADED
wilda
 
Posty: 195
Dołączył(a): gru 18, 2007 21:41

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez ziele_o2k » wrz 15, 2017 22:58

wilda napisał(a):
Polecenie: GTAK
; błąd: zły typ argumentu: stringp nil
; błąd: no function definition: PZ:IFARDSETTINGSLOADED

Nie no wiadomo, że to nie ruszy. Przecież, żeby to zapodać to musiałbym sporo swoich lispów udostępnić.
Tam jest tylko przykład wywołania. jak chcesz zobaczyć podgląd okienka dialogowego to daj na twardo:
Kod: Zaznacz cały
(setq *pz:KotyUstawienia* (list nil "0.00" "0.00" "0.00" "m n.p.m." "Względne"))

a potem
Kod: Zaznacz cały
(cd:DCL_StdQuickOptionsDialog
      (list
        (list
          2
          "Button_1"
          "Zmień punkt bazowy:"
          '(
            "&Zmień <"
           (setq *pz:KotyPtBazowy* (getpoint "\nWskaż nowy punkt bazowy "))
          )
        )
        (list
          1
          "Edit_1"
          "Poziom względny punktu bazowego:"
          '(3 25 nil nil nil 2 3)
        )
        (list
          0
          "Popup_1"
          "Ilość miejsc po przecinku:"
          '("0.0" "0.00" "0.000")
        )
        (list
          1
          "Edit_2"
          "Rzędna bezwzględna punktu bazowego:"
          '(3 25 nil nil nil 2 3)
        )
        (list
          0
          "Popup_4"
          "Jednostka rzędnych bezwzględnych:"
          '("m n.p.m." "m np0W" "Brak")
        )
        (list
          0
          "Popup_3"
          "Rzędne do aktualizowania"
          '("Względne" "Bezwzględne" "Obie")
        )
      )
      *pz:KotyUstawienia*
      "GT-CAD - Aktualizacja kot wysokościowych"
      12 12 15 '("&Ok" "&Anluluj") T
    )
Ziele
Avatar użytkownika
ziele_o2k
 
Posty: 505
Dołączył(a): mar 18, 2014 11:33
Lokalizacja: Poznań

Re: [Lisp] CadPack propozycja DCL_StdQuickOptionsDialog

Postprzez wilda » wrz 16, 2017 12:49

No nie każdemu od razu wiadomo że nie ruszy. :oops:
wilda
 
Posty: 195
Dołączył(a): gru 18, 2007 21:41

Poprzednia strona

Powrót do AutoCAD

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników