Vytisknout stránku | Zavřít okno

Posun entity o přesnou hodnotu

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=6709
Datum vytištění: 13.kvě.2026 v 14:01


Téma: Posun entity o přesnou hodnotu
Odeslal: Radim Cech
Předmět: Posun entity o přesnou hodnotu
Datum odeslání: 30.čer.2008 v 09:07
Dobrý den, obracím se na znalé LISPu s prosbou o drobnou pomoc. Při popisování příčných řezů jsou dvě výškové kóty nad sebou a překrývají se, musím vždy jednu posunout o 0.15 jednotek vlevo nebo vpravo podle polohy u obrubníku. Asi lze vytvořit nalou aplikaci, která by v sobě měla pevně danou vzálenost 0.15, zeptala se jen na entitu a ukázáním směru od vybrané entity by se provedlo posunutí.
Je mi někdo ochoten něco takového vyrobit?
Předem děkuji za pomoc.


-------------
R.C.

OSTRAVA



Odpovědi:
Odeslal: chlebovsky
Datum odeslání: 30.čer.2008 v 13:20
(defun c:pos-p ( / os en)
;;; nejprve nactu osmode
(setq os (getvar "osmode"))
(setvar "osmode" 0)
 
;;; provedu výběr entit
(setq en (ssget ()))
 
;;; posunu doprava
(command "_move" en "" (list 0.0 0.0 0.0)(list 0.15 0.0 0.0))
 
;;; nastavím zpátky osmode
(setvar "osmode" os)
)
 
(defun c:pos-l ( / os en)
;;; nejprve nactu osmode
(setq os (getvar "osmode"))
(setvar "osmode" 0)
 
;;; provedu výběr entit
(setq en (ssget ()))
 
;;; posunu doprava
(command "_move" en "" (list 0.0 0.0 0.0)(list -0.15 0.0 0.0))
 
;;; nastavím zpátky osmode
(setvar "osmode" os)
)
 
spouští se to pos-l nebo pos-p


-------------
Ing. Martin Chlebovský

www.kde-je-auto.cz

GPS monitoring provozu vozidel a osob.

WebDeveloper.

Programátor aplikací pro Autocad a MS Office.

Tvorba WWW aplikací.

Modelování domů a staveb.&l



Vytisknout stránku | Zavřít okno