Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk - od firmy Arkance Systems [www.cadforum.cz]
CZ | SK | EN | DE
Přihlášení
či registrace
   právě nás čte: 4643 
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

 

NápovědaCAD diskuze, rady, výměna zkušeností

 
CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion 360, 3ds Max a s dalšími CAD aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy Arkance Systems (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.cadstudio.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoAkce poklepáním

 Odpovědět Odpovědět Stránka  <123> archiv
Autor
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21493
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 08:07
To není úplně triviální a čistě přes menu to asi nepůjde. Ale třeba v LISPu to jde řešit třeba předáváním zadaných údajů přes (command) a testováním CMDACTIVE ve smyčce (jestli ještě příkaz běží), nebo třeba reaktorem.
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
BenaCZ Zobrazit panel
Diskutér
Diskutér

Přihlášen: 02.říj.2006
Lokalita: ČR (Pha)
Používám:
AutoCad2007
Stav: Offline
Bodů: 60
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 08:06
Včera jsem to zkoušel definovat např pro křivku, polygon obdélník nebo kótu. U těchto objektů to nefunguje, Nechtěli se načíst vlastnosti těchto objektů. U kót by to chtělo ještě dopsat, aby to přebíralo i vlastnosti kótovacího stylu (buď čistě jen kótovací styl nebo podrobně všechny možné nastavení kóty). I když přepíšu v akci poklepáním tu funkci (u těchto objektů) tak se mi furt spouští ta původní akce. Co s tím? Bena
Bena
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 07:52
Ještě obecnější dotaz, který mi při hraní si s touto fíčurou vystal:
 
Abych mohl do akcí, které se dějí na poklepání dát i návrat na původní nastavení, nemůžu použít normální volání příkazu např. _LINE, ale nějak to v listu obejít. Pokud bych chtěl zachovat plné možnosti příkazu (třeba u oblouku všechny možnosti zadání), bude to dost pracné a jistě i zdrojem chyb.
   Neví někdo, jak v menu zavolat standardní příkaz s předem neznámým počtem vstupů a pak se vrátit do menu a pokračovat nějakou akcí?
Vítězslav Seiner

Chrudim
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2023, SolidEdgeE 2023
Stav: Offline
Bodů: 223
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 07:13

:-(

Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 07:11
To bude asi tím, že se tady celou dobu bavíme o 2007 :-)
Vítězslav Seiner

Chrudim
Zpět nahoru
pavelstyl Zobrazit panel
Zasloužilý člen
Zasloužilý člen

Přihlášen: 06.říj.2004
Lokalita: Czech Republic
Používám:
AutoCAD Mech 2023, SolidEdgeE 2023
Stav: Offline
Bodů: 223
Přímý odkaz na tuto zprávu Zasláno: 04.říj.2006 v 07:08
Původně odeslal(a) Vladimír Michl Vladimír Michl napsal(a):

Pokud jen chcete spouštět příkaz v závislosti na typu poklepané entity, stačí vám na to standardní funkce v dialogu CUI (sekce "Akce poklepáním") - nastavíte typ entity a požadovaný příkaz, resp. makro.
Můžete být prosím trošku konkrétnější. Asi jsem slepý, ale v CUI dialogu žásnou sekci "Akce poklepáním" nevidím.
AutoCAD 2006 Mechanical EN
Děkuji Pavel Štyl
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 15:25
Třeba pro úsečku by to muselo vypadat nějak takhle:
 
na začátek Curr.lsp doplnit:
 
(defun C:CURR ()
(setq lastlayer (getvar "Clayer")
      lastweight (getvar "CELWEIGHT")
      lastcolor (getvar "CECOLOR")
      lastltype (getvar "CELTYPE"))
....
 
a místo _LINE použít nově definovanou funkci LINE1:
 
(Defun C:line1( )
(Setq a (getpoint "\nPočáteční bod:"))
(While (/= a nil)
(Setq a1 (getpoint a "\nBod:"))
(If (/= a1 nil)
(Command "_line" a a1 ""))
(setq a a1)
)
(setvar "CLAYER" lastlayer)
(setvar "CELWEIGHT" lastweight)
(setvar "CECOLOR" lastcolor)
(setvar "CELTYPE" lastltype)
)
Pozn.: je evidentní, že LINE1 je "hloupější", než _LINE, ale už se mi na tom nechce vyšívat.


Upravil Seiner - 03.říj.2006 v 15:26
Vítězslav Seiner

Chrudim
Zpět nahoru
BenaCZ Zobrazit panel
Diskutér
Diskutér

Přihlášen: 02.říj.2006
Lokalita: ČR (Pha)
Používám:
AutoCad2007
Stav: Offline
Bodů: 60
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:56
Supeeer takto je to parádní . I když máte pravdu, že kdyby se to pak vrátilo na původní nastavení, tak by to bylo úplně geniální. Kdyby jste na to přišli, napište to prosím sem. Díky moc Bena
Bena
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:48
Ještě by bylo pěkné, aby se to po akci vrátilo na původní nastavení. Ale to by bylo asi poněkud pracnější. Hlavně pro úsečku, pokud se má nakreslit předem neznámý počet segmentů. Ale jde to taky.
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:44
A lisp curr dát do automatického načítání (soubor mnl)
(AUTOLOAD "CURR" '("CURR"))
Vítězslav Seiner

Chrudim
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:43
Pak je to snadné:
(defun C:CURR ()
(setq ent(ssname (ssget"_I")0) )
(if ent
(progn
;tloustka cary
(setq edata (assoc 370 (entget ent)))
(if edata
   (setvar "CELWEIGHT" (cdr edata))
   (setvar "CELWEIGHT" -1); lineweight by LAYER
)
;hladina
(setq edata (assoc 8 (entget ent)))
   (setvar "CLAYER" (cdr edata))
 
;barva
(setq edata (assoc 62 (entget ent)))
(if edata
   (setvar "CECOLOR" (ITOA(cdr edata)))
   (setvar "CECOLOR" "256");  by LAYER
)
 
;typ čáry
(setq edata (assoc 6 (entget ent)))
(if edata
   (setvar "CELTYPE" (cdr edata))
   (setvar "CELTYPE" "DLEHLAD");  by LAYER
)
))
)
 
a
 
^C^Ccurr _line
Vítězslav Seiner

Chrudim
Zpět nahoru
BenaCZ Zobrazit panel
Diskutér
Diskutér

Přihlášen: 02.říj.2006
Lokalita: ČR (Pha)
Používám:
AutoCad2007
Stav: Offline
Bodů: 60
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:42
Jak mám nastavit, aby ty převzaté vlastnosti byly také aktuální? Zkoušel jsem to tam zadat a ono mi to vypíše v příkazovém řádku vlastnosti té poklepané entity, ale nenastaví je jako aktuální... Díky za radu Bena
Bena
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Dodáváme produkty Autodesk
Stav: Offline
Bodů: 21493
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 14:25

Spíše se asi používá opačná cesta - namalovat "nějakou" úsečku a pak přes Painter přenést požadované vlastnosti ze zdrojové entity, ale jde to i takto jak navrhujete.
Do akce poklepáním zadáte LISP rutinu, která zjistí vlastnosti poklepané entity a nakreslí příbuznou entitu. Vlastnosti poklepané entity zjistíte např. přes:
^C^C(entget(ssname (ssget"_I") 0));_LINE

Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 13:47
Pracné by to být nemělo, pokud existuje nějaký způsob, jak zjistit v lispu, na kterou entitu bylo poklepáno. Akce při dblclick jsou pro mne nová věc a nevím, jestli tudy vede cesta.
Vítězslav Seiner

Chrudim
Zpět nahoru
BenaCZ Zobrazit panel
Diskutér
Diskutér

Přihlášen: 02.říj.2006
Lokalita: ČR (Pha)
Používám:
AutoCad2007
Stav: Offline
Bodů: 60
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 13:23
Takto jak jste to napsal, to funguje na ty 3 kliknutí. Což není až tak špatné. Je to určitě rychlejší než mačkat na klavesnici zkratku pro převzetí vlastností a pak klikat na objekt. Moje původní představa byla taková jak jste to napsal, tzn. kliknu na objekt a z toho objektu se mi převezmou vlastnosti a začnu kreslit další.
Takto to totiž funguje v Allplanu (v tom jsem zatím kreslil). To by bylo úplně nejlepší. Jenže napsat takový lisp je asi dost složité, ne? Mě nenapadá jak by to mohlo jít , ale budu ještě přemýšlet. Pak by to byla úplná paráda . Bena
Bena
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 13:07
Tok Vašich myšlenek nějak nedovedu sledovat :-)
Pokud tedy máme definovanou funkci CURR, které nastavuje některé vlastnosti podle vybrané entity, dalo by se dát na poklepání
^C^Ccurr \_line
Jenže to mi nepřijde vůbec praktické. Poklepu na úsečku, pak vyberu vzor vlastností a pak teprve se začne kreslit úsečka s příslušnými vlastnostmi.
Já bych si představoval, že poklepu a hned tvořím entitu podle té, na kterou jsem poklepal.
Vítězslav Seiner

Chrudim
Zpět nahoru
BenaCZ Zobrazit panel
Diskutér
Diskutér

Přihlášen: 02.říj.2006
Lokalita: ČR (Pha)
Používám:
AutoCad2007
Stav: Offline
Bodů: 60
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 12:47
Kód takto funguje sám o sobe. Jak to spojit s akci poklepáním mě napadá jen takto: Udělat si novou funkci např ^C^C_line + funkci CURR a tyto 2 funkce spojit pomocí ´ aby mohli běžet souběžně. A výslednou funkci pak přiradit na kliknutí. V praxi by to pak bylo, tak ze bych kliknul např na úsečku aktivovala by se mi funkce kreslení úseček a zároveň CURR. Pak bych klikl ještě jednou na tu samou úsečku a tím bych z ní převzal vlastnosti a po skončení funkce CURR by byla nadále aktivní funkce úsečka. To by bylo možné ne? Nevím jen jak přesně napsat to spojení 2 funkcí. Bena
Bena
Zpět nahoru
Seiner Zobrazit panel
CAD/BIM manager
CAD/BIM manager

Přihlášen: 01.říj.2004
Lokalita: ČR (PA)
Používám:
Mechanical 2017, Inventor 2017 a starší
Stav: Offline
Bodů: 1662
Přímý odkaz na tuto zprávu Zasláno: 03.říj.2006 v 12:01
Ten kód by mohl pro ty hlavní vlastnosti asi vypadat nějak takhle:
(defun C:CURR ()
(setq ent (entsel "Vyber entitu pro nastavení vlastností: "))
(if ent
(progn
;tloustka cary
(setq edata (assoc 370 (entget(car ent))))
(if edata
   (setvar "CELWEIGHT" (cdr edata))
   (setvar "CELWEIGHT" -1); lineweight by LAYER
)
;hladina
(setq edata (assoc 8 (entget(car ent))))
   (setvar "CLAYER" (cdr edata))
 
;barva
(setq edata (assoc 62 (entget(car ent))))
(if edata
   (setvar "CECOLOR" (ITOA(cdr edata)))
   (setvar "CECOLOR" "256");  by LAYER
)
 
;typ čáry
(setq edata (assoc 6 (entget(car ent))))
(if edata
   (setvar "CELTYPE" (cdr edata))
   (setvar "CELTYPE" "DLEHLAD");  by LAYER
)
))
)
 
Problém ale je, jak ho použít v akci na poklepání. Jak se do lispu převezme entita, na kterou bylo poklepáno?
Vítězslav Seiner

Chrudim
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 7353:Editace šraf poklepáním v AutoCADu 2011.
Tip 9904:Poklepání na text vypíše: neznámý příkaz DDEDIT.
Tip 7197:Poklepáním změňte úsečku na křivku.
Tip 9277:Revit - změna chování při dvojitém kliknutí na rodinu.
Tip 4510:Jak zamezit editaci dynamických bloků? (přepnutí na Refedit)
Tip 2312:Jak otevírat DWG výkresy poklepáním v jediném okně AutoCADu?


 Odpovědět Odpovědět Stránka  <123> archiv

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 1,188 sekund.