Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 119.000 registrovaných u nás, celkem 1.097.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
archiv |
Autor | |
BenaCZ ![]() Diskutér ![]() Přihlášen: 02.říj.2006 Lokalita: ČR (Pha) Používám: AutoCad2007 Stav: Offline Bodů: 60 |
![]() Zasláno: 09.říj.2006 v 13:19 |
Napsal jsem lisp na tvorbu křivky, která změní své koncové body o nějakou vzdálenost a nastaví se určitá šířka křivky. Všechno funguje supr, jen mám problém s nastavením správných úchopových bodů:
Když mám puštené všechny úchopové body, tak se to chytá správně. Pokud ale chci vybrat jen určitý úchopový bod (např přes nabídku pravého tlačítka nebo přes klávesovou zkratku), tak se to chytá špatně. vůbec nevím čím to je... Nevíte někdo? Díky Bena Zde je lisp: ;;; Vykreslí křivku o tloušťce určené globálním měřítkem mezi 2 body a odsune ji o 1 mm na výkrese (defun C:schema_auto (/ myline startpt endpt new_startpt new_endpt tloustka odpal uhel delta_x delta_y width ) (terpri) ;;; Definuje úsečku (setq odpal (+ (/ (getvar "ltscale") 2) (getvar "ltscale"))) (terpri) (setq startpt (getpoint "Z bodu: ")) (terpri) (terpri) (setq endpt (getpoint "Do bodu: ")) (command "_line" startpt endpt "") ;;; definice úhlu úsečky (setq myline (entget (entlast))) (setq startpt (assoc 10 myline)) (setq endpt (assoc 11 myline)) (setq delta_x (- (nth 1 endpt) (nth 1 startpt))) (setq delta_y (- (nth 2 endpt) (nth 2 startpt))) (setq uhel (atan delta_y delta_x)) ;;; posun počátečního bodu o "odpal" ve směru úsečky (setq new_startpt (list 10 (+ (nth 1 startpt) (* odpal (cos uhel))) (+ (nth 2 startpt) (* odpal (sin uhel))) (nth 3 startpt) ) ) (setq myline (subst new_startpt startpt myline)) ;;; posun koncového bodu o "odpal" ve směru úsečky (setq new_endpt (list 11 (- (nth 1 endpt) (* odpal (cos uhel))) (- (nth 2 endpt) (* odpal (sin uhel))) (nth 3 endpt) ) ) (setq myline (subst new_endpt endpt myline)) ;;; aktualizuje databázi Autocadu (entmod myline) ;;; Převede úsečku na křivku o zadané tloušťce (setq width (* (getvar "ltscale") 1)) (if (= (getvar "peditaccept") 0) (command "_pedit" "_last" "A" "") ) ;převede na křivku pokud musím potvrdit otázku zda to chci převést na křivku (if (= (getvar "peditaccept") 1) (command "_pedit" "_last") ) ;převede na křivku bez otázky na převod na křivku (setq mojekrivka (entget (entlast))) (setq mojekrivka (subst (cons 43 width) (assoc 43 mojekrivka) mojekrivka) ) ; tzv tečkový pár tvoří to cons ;;; aktualizuje databázi Autocadu (entmod mojekrivka) ;;; tichý odchod (princ) ) |
|
Bena
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
(terpri)
neznám... co to je? |
|
-FerTh-
|
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21952 |
![]() |
(terpri) jen odřádkuje na displeji...
|
|
![]() |
|
BenaCZ ![]() Diskutér ![]() Přihlášen: 02.říj.2006 Lokalita: ČR (Pha) Používám: AutoCad2007 Stav: Offline Bodů: 60 |
![]() |
Ono to nefunguje správně ani u tohoto jednoduchého příkladu:
(defun C:test (/ myline ) (terpri) ;;; Definuje úsečku (setq startpt (getpoint "Z bodu: ")) (terpri) (setq endpt (getpoint "Do bodu: ")) (command "_line" startpt endpt "") ;;; tichý odchod (princ) ) Zkuste si schválně nakreslit pár čar a pak kreslit novou pomocí funkce "test" a pustit si úchopový bod polovina a kolmo. Tato kombinace hodně zlobí a chytá se to prostě úplně jiných bodů... Vůbec nevím proč :( Bena |
|
Bena
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
A čím se liší od \n ?
|
|
-FerTh-
|
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Podíval jsem se - klasická tvorba křivky se děje takhle (například):
Command: PLINE Specify start point: Current line-width is 0.00 Specify next point or [Arc/Halfwidth/Length/Undo/Width]: W Specify starting width <0.00>: 10 Specify ending width <10.00>: Specify next point or [Arc/Halfwidth/Length/Undo/Width]: Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: A Specify endpoint of arc or [Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Second pt/Undo/Width]: Specify endpoint of arc or [Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Second pt/Undo/Width]: D Specify the tangent direction for the start point of arc: Specify endpoint of the arc: Specify endpoint of arc or [Angle/CEnter/CLose/Direction/Halfwidth/Line/Radius/Second pt/Undo/Width]: L Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: Specify next point or [Arc/Close/Halfwidth/Length/Undo/Width]: Úchopové body pak mohu posouvat jak je libo... Asi jsem málo chápavej, ale u tohoto Vašeho lispu mi také uniká smysl počínání... ![]() |
|
-FerTh-
|
|
![]() |
|
BenaCZ ![]() Diskutér ![]() Přihlášen: 02.říj.2006 Lokalita: ČR (Pha) Používám: AutoCad2007 Stav: Offline Bodů: 60 |
![]() |
Neliší se v ničem (aspoň myslím).
Už jsem vymyslel jak to vyřešit s těmi úchopovými body. Udělám to tak, že se zadám příkaz _line a kliknu na 2 body a ty se mi pak načtou jakou startpt a endpt , které budu pak upravovat. Rozdíl je v tom, že před tím se mi úsečka vytvářela automaticky z dříve zadaných bodů, zatímco teď to bude naopak. Pak to bude fungovat... |
|
Bena
|
|
![]() |
|
BenaCZ ![]() Diskutér ![]() Přihlášen: 02.říj.2006 Lokalita: ČR (Pha) Používám: AutoCad2007 Stav: Offline Bodů: 60 |
![]() |
Tato funkce se mi hodí na kreslení statických schemat, kde kreslím nosníky jako tlusté čáry a potřebuji,aby nebyli nebyli spojené s kolmými čarami. Ještě jsem si to upravil tak aby se mi ten "odpal" a šířka čáry automaticky volila podle aktuálního globálního měřítka. Tzn. zadávám jen 1. a koncový bod a zbytek se dělá automaticky.
|
|
Bena
|
|
![]() |
|
Vladimír Michl ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21952 |
![]() |
|
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
|
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,280 sekund.