Vytisknout stránku | Zavřít okno

@ v lispu?

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=442
Datum vytištění: 12.kvě.2026 v 23:50


Téma: @ v lispu?
Odeslal: Ferdinand
Předmět: @ v lispu?
Datum odeslání: 08.úno.2005 v 15:19

Vkládám tentýž blok MKS (=kab. lávka o výšce 60 a o min. šíři 100). Chci ho v X-ové ose Stretchnout o délku SP, který je odstupňován po 100. Jak se nadefinuje @ (zavináč), aby ho nebral jako proměnnou ale symbol (konstantu?)

Zkoušel jsem, aby @->ZAV:

 (SETQ ZAV (GETSTRING ( "@")))

ale bere @ furt jako proměnnou.

Mohu ho nadefinovat snad přímo na řádku

(DEFUN C:MKS (/ MM ZB SP B2 LL AA @) ? Ale co dál?

Celé znění LISPu:

;;;Vložení kabelové lávky typu MKS (výška=60)
(DEFUN C:MKS (/ MM ZB SP B2 LL AA ZAV)

  (SETVAR "cmdecho" 0)
  (SETVAR "attdia" 1)
  (SETVAR "osmode" 0)


  (SETQ MM (GETINT "\nŠířka lávky bude[100-200-300-400-500-600]<100>:"))

 (PROMPT "\nZadejte bod :")
  (COMMAND "_insert" "MKS" pause ^c^c)
  (SETQ ZB (GETVAR "lastpoint"))

  (SETQ SP (- MM 100))
  (SETQ B2 (LIST (+ (CAR ZB) 50) (+ (CADR ZB) 60)))
  (SETQ ZAV (GETSTRING ( "@")))
  (SETQ AA (GETstring ( ZAV SP)))
  (SETQ LL (LIST ( AA 0)))

  (COMMAND "_-insert" "MKS" PAUSE 1 1 0)
  (COMMAND "_explode" _L "")
  (COMMAND "_stretch" _C ZB B2 "" ZB LL)

  (setvar "cmdecho" 1)
  (SETVAR "osmode" 39)

  (PRINC)
)

 



-------------
-FerTh-



Odpovědi:
Odeslal: Seiner
Datum odeslání: 08.úno.2005 v 20:34

Přiznám se, že studovat kód jsem nějak neměl čas. Nechápu ale, co vlastně chcete dosáhnout příkazem

(SETQ ZAV (GETSTRING ( "@")))

Setq - to je přiřazení, jasně. Getstring je pauza pro vstup stringu z klávesnice a první volitelný parametr určuje, jestli se ukončuje Enter nebo i mezerník a druhý volitelný je výzva na příkazovém řádku. ( "@") podle mne musí vyvolat jen chybu - neznámá funkce.

 



Odeslal: Mrázek
Datum odeslání: 09.úno.2005 v 08:19
To je zřejmý pokus o zadání relativních souřadnic.

-------------
Ing. Zdeněk Mrázek
Preciosa Ornela a.s.
AIP 2018, ACADM 2018, Vault Pro 2018


Odeslal: Jan Liska
Datum odeslání: 09.úno.2005 v 08:31

Dobrý den,

pokud potřebujete získat souřadnice posledního zadaného bodu, můžete použít funkci getvar "LASTPOINT". S takto získanými souřadnicemi můžete samozřejmě dále pracovat - je to seznam jako každý jiný.

S pozdravem



-------------
Jan Liška
Autodesk Consulting


Odeslal: Ferdinand
Datum odeslání: 15.bře.2005 v 11:41

OPAKUJI SVŮJ DOTAZ:  Jak se nadefinuje v lispu @ (zavináč), aby ho nebral jako proměnnou ale symbol (konstantu?)

Ví to někdo, prosím?

 



-------------
-FerTh-


Odeslal: Vladimír Michl
Datum odeslání: 15.bře.2005 v 11:51
Jdete na to ze špatného konce - jak vám již radili, chcete-li relativní souřadnice, je třeba je spočíst ze zadaného bodu, chcete-li poslední bod, dotažte se na LASTPOINT.
Nic takového jako konstanta "@" neexistuje.

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



Vytisknout stránku | Zavřít okno