Vytisknout stránku | Zavřít okno

Dynamické kopírovanie objektu.

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=22935
Datum vytištění: 13.kvě.2026 v 09:15


Téma: Dynamické kopírovanie objektu.
Odeslal: michaelflyer
Předmět: Dynamické kopírovanie objektu.
Datum odeslání: 24.čer.2016 v 08:18
Zdravým,
poprosil by som radu, čo sa týka tohto programu. 
Popis programu:
Po výbere objektov a zadaní súradníc bodu "a" a "b" sa v danom smere (a->b) začnú kopírovať objekty v ľubovoľnom počte na základe kurzoru myši na obrazovke.
Chyba:
Program funguje správne ak myšou pohybujem po obrazovke pomaly. Ako náhle trhnem myšou, program následne vyhodí chybu a skončí.
uploads/2183/dynamic-copy-object.LSP" rel="nofollow - uploads/2183/dynamic-copy-object.LSP

Ďakujem.


-------------
Michal MUCHA



Odpovědi:
Odeslal: Vladimír Michl
Datum odeslání: 24.čer.2016 v 08:22
Funkce není kompletní takže nejde vyzkoušet, ale zřejmě není ošetřen nějaký stav, který může být vrácen z grread.

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


Odeslal: michaelflyer
Datum odeslání: 24.čer.2016 v 08:28
Akurát som to zbadal.
Chýba tam:
(defun mm:cops_vykresliD2 ( bod_A pt_posun ss / ss lst pp )
  (repeat (setq i (sslength ss))
    (setq lst (append (list (vla-copy (vlax-ename->vla-object
(ssname ss (setq i (1- i)))))) lst))
    )
  (foreach u lst (vla-move u (vlax-3D-point bod_A) (vlax-3D-point pt_posun)))
  lst
  )

uploads/2183/dynamic-copy-object_2016-06-24_08-25-36.LSP" rel="nofollow - uploads/2183/dynamic-copy-object_2016-06-24_08-25-36.LSP


-------------
Michal MUCHA


Odeslal: Vladimír Michl
Datum odeslání: 24.čer.2016 v 08:38
Havaruje to na tom vla-delete, stačí upravit na:
 
(vl-catch-all-apply 'vla-delete (car lst_all))
 
ale je třeba odladit, proč se tam dostane hodnota nil.


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


Odeslal: michaelflyer
Datum odeslání: 24.čer.2016 v 09:06
Ďakujem, netuším ako sa tam dostane hodnota nil. Iba toho nil sa týka to odladenie?

-------------
Michal MUCHA


Odeslal: Vladimír Michl
Datum odeslání: 24.čer.2016 v 09:33
Ten nil je důsledek nějakých kroků před tím - vy nebo kdo ten program tvořil si musí projít posloupnost plnění oněch seznamů a symbolů (asi přidat kontrolní výpisy, krokování v tomto případě nepomůže).

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



Vytisknout stránku | Zavřít okno