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: 14764 
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

Výber objektu - jak upravit efekty

 Odpovědět Odpovědět archiv
Autor
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2024
Stav: Offline
Bodů: 384
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Téma: Výber objektu - jak upravit efekty
    Zasláno: 11.kvě.2023 v 14:38
Děkuji za nakopnutí. Teď už je to rychlejší.

(defun C:posx (/ cmdsave ss1 ss2 p1 enN)
    (setq cmdsave (getvar "cmdecho"))
   (setvar "cmdecho" 0)
   (setq ss1 (ssget "_I"))
   (command-s "_.undo" "_m")
   (command-s "_.undo" "_be")
   (setq temperr *error*)
   (setq *error* ErrorTrap)
   
   (if (null ss1)
      (progn
         (princ "\nVyberte objekty: ")
         (Command "_.SELECT")
         (while (= (getvar "CMDNAMES") "SELECT")
            (command pause)
         )
      )
   )
   (setq ss1 (ssget "_P"))
   (setq ss2 (ssadd))
;   (setq enN (entlast))
   (setq enN (lastent))
   (command-s "_.copy" ss1 "" "_non" '(0 0) "")
   (while (entnext enN)
      (setq enN (entnext enN))
      (ssadd enN ss2)         
   )
   
   (princ "\n")
   (setq p1 (getpoint "\nUrčete výchozí bod: "))
   (command "_.move" ss1 "" "_non" p1 "_non" pause)
   (command-s "_.erase" ss2 "")
   (Command-s "._regen")
   (command-s "_.undo" "_e")
   (setvar "cmdecho" cmdsave)
   (setq *error* temperr)
   (princ)
)

(defun lastent (/ a b)
   (if (setq a (entlast))
      (while (setq b (entnext a))
         (setq a b)
      )
   )
  a
)

(defun ErrorTrap (errmsg)
   (if (not (member errmsg '("console break" "Function Cancelled")))
      (princ (strcat "\nError: " errmsg))
   )                
   (command-s "_.undo" "_b")
   (Command-s"._regen")
   (setvar "cmdecho" cmdsave)
   (setq *error* temperr)
   (princ)
)

(princ)


Upravil Petr75 - 11.kvě.2023 v 15:18
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Možnosti příspěvku Možnosti příspěvku   Poděkování (1) Poděkování1   Citace johny Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 11.kvě.2023 v 13:42
Asi nejjednodušší je uložit si (entlast), udělat kopii a do nové ss dát všechny (entnext) od uloženého entlast. Příklad třeba toto:

(defun c:Coalign ( / s e)
    
  (if (and (setq s (ssget "_:L"))
   (setq e (entlast))
   (setq e (progn (while (entnext e) (setq e (entnext e))) e))
   (vl-cmdf "_.copy" s "" "_non" '(0 0 0) "_non" '(0 0 0))
   (setq s (ssadd))
   )
    (progn
      (while (setq e (entnext e)) (ssadd e s))
      (command-s "_.align" s "")))
  (princ)
  )

Je dobré si taky uvědomit, že (entlast) nemusí být nutně poslední entita ve výkresu. Pokud máte blk s att, tak entlast je blk, entity att pak následují. 


Upravil johny - 11.kvě.2023 v 13:46
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2024
Stav: Offline
Bodů: 384
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 11.kvě.2023 v 12:59
Původně jsem myslel, že zkopíruji celou skupinu najednou, ale problém je ten, že zatím nevím, jak vybrat celou skupinu zkopírovaných objektů. Parametr "Poslední" (_Last) vybere jen poslední nakreslený objekt a paramter "Předchozí" (_Previous) vyber původní skupinu.
Moc neplánuji toto používat. AutoLisp se po zhruba 20 letech znovu učím, co do AutoCADu LT přidali AutoLisp.
Teď mně napadlo, že bych mol udělat dočasný blok, ten už bych mohl vložit jako celek.
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace johny Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 11.kvě.2023 v 12:29
Původně odeslal(a) Petr75 Petr75 napsal(a):

Vzpomněl jsem si na toto téma a vytvořil modifikovaný příkaz v AutoLispu na posun.

V podstatě to funguje tak, že napřed zkopíruji vybrané entity na stejné místo, pak původní  entity přesunu a nakonec zkopírované entity smažu. Není to sice dokonalé, ale v některých případech to může být lepší jak původní příkaz pro posun.


(defun C:posx (/ cmdsave ss1 ss2 i p1) ...


Byl bych s něčím takovým HODNĚ opatrný. Já sice používám lispy na kde co, ale na toto teda bacha. Pokud upravujete takto základní příkaz a předpokládáte jeho každodenní používání namísto jeho základní verze, tak ten LISP opravdu MUSÍ být dokonalý. Používá se to furt, používá se to na všechny typy entit, a někdy třeba i na celý výkres o 100000 entit. A pokud ten příkaz namísto prostého posunu udělá i kopii každého objektu (a pěkně jednoho po druhém a nikoliv "najednou")... naprosto si odrovnáte celý autocad.
Abych jen neblábolil... zkusil jsem to na výkresu s 27000 entit. Klasický posun je prakticky mžikem. POSX jsem po pár minutách killnul.
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2024
Stav: Offline
Bodů: 384
Možnosti příspěvku Možnosti příspěvku   Poděkování (2) Poděkování2   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 10.kvě.2023 v 16:01

Vzpomněl jsem si na toto téma a vytvořil modifikovaný příkaz v AutoLispu na posun.

V podstatě to funguje tak, že napřed zkopíruji vybrané entity na stejné místo, pak původní  entity přesunu a nakonec zkopírované entity smažu. Není to sice dokonalé, ale v některých případech to může být lepší jak původní příkaz pro posun.


(defun C:posx (/ cmdsave ss1 ss2 i p1) (setq cmdsave (getvar "cmdecho")) (setvar "cmdecho" 0) (setq ss1 (ssget "_I")) (command-s "_.undo" "_m") (command-s "_.undo" "_be") (setq temperr *error*) (setq *error* ErrorTrap) (if (null ss1) (progn (Command "_.SELECT") (while (= (getvar "CMDNAMES") "SELECT") (command pause) ) ) ) (setq ss1 (ssget "_P")) (setq ss2 (ssadd)) (setq i 0) (repeat (ssLength ss1) (command "_.copy" (ssadd (ssname ss1 i)) "" "_non" '(0 0) "") (ssadd (ssname (ssget "_L") 0) ss2) (setq i (1+ i)) ) (princ "\n") (setq p1 (getpoint "\nUrčete výchozí bod: ")) (command "_.move" ss1 "" "_non" p1 "_non" pause) (command "_.erase" ss2 "") (Command "._regen") (command-s "_.undo" "_e") (setvar "cmdecho" cmdsave) (setq *error* temperr) (princ) ) (defun ErrorTrap (errmsg) (if (not (member errmsg '("console break" "Function Cancelled"))) (princ (strcat "\nError: " errmsg)) ) (command-s "_.undo" "_b") (Command-s"._regen") (setvar "cmdecho" cmdsave) (setq *error* temperr) (princ) ) (princ)

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ů: 21434
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Vladimír Michl Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 15.dub.2023 v 12:37
Jemné doladění barvy pozadí (tmavší nebo barevné) je asi jediná rozumná cesta. Nemožnost nastavení barvy pro skryté objekty v náhledu je určitě chyba a opomenutí, protože jinak jde nastavovat uživatelské barvy pro každou blbůstku, které je podstatně méně důležitá.
Vladimír Michl (moderátor)
Arkance Systems s.r.o. - www.arkance-systems.cz
(podpora viz hd.cads.cz)
Zpět nahoru
johny Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 24.led.2006
Lokalita: ČR (JM)
Používám:
C3D 2022
Stav: Offline
Bodů: 1671
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace johny Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 20:45
Zpět nahoru
Lufttechnik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 18.led.2021
Lokalita: Slovensko
Používám:
Autocad 2012
Stav: Offline
Bodů: 37
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lufttechnik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 15:35
Takže budeme zachranovat nedokonalost vývojarov v Autodesk-u : - )
Skusim to , už ked to máme , ale vopred vidím jeden háček – že ten kdo používa tmavú obrazovku , používa barvy , ktoré na bilem podklade nebudú konfortné - žltá 3 , svetlomodra 4 , svetlozelena 5.
A pri každém príkaze Stretch prepinat barvu ! No ,ale aspoň sa cosi deje.

Dik.
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2024
Stav: Offline
Bodů: 384
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 14:04
Tak jsem si našel jednoduchý Lisp program, který jedním příkazem změní pozadí na bílé a druhým spuštěním na černé. Takže toto může v některých případech docela pomoci.

(defun c:tbg ( / col )
    (if tbg:flg
        (setq col 16777215 tbg:flg nil)
        (setq col 0        tbg:flg  t )
    )
    (foreach prp '(graphicswinmodelbackgrndcolor modelcrosshaircolor)
        (vlax-put-property (acdisp) prp (setq col (- 16777215 col)))
    )
    (princ)
)
(defun acdisp nil
    (eval
        (list 'defun 'acdisp 'nil
            (vla-get-display (vla-get-preferences (vlax-get-acad-object)))
        )
    )
    (acdisp)
)
(vl-load-com) (princ)
Zpět nahoru
Lufttechnik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 18.led.2021
Lokalita: Slovensko
Používám:
Autocad 2012
Stav: Offline
Bodů: 37
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lufttechnik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 12:39
No , je to hrozné.   Momentálne sa rozhodujeme , či nepresedláme na autocad LT , pretože v autocade aj tak používame len 2-d a plný autocad sme držali len kvoli Autolispu. Na a ak v LT už funguje lisp , tak finančne to vypadá , že Autocad nepotrebujeme ak je LT za tretinu. Ale ak to bude i tam takto zprasené , tak to už snad zkusím i nejaký Bricscad či co je to. Uf .
Skúšal som nastavenie monitora. Pri zmene parametra Gama je to trocha vditelnejšie , ale neni to ok.
Zpět nahoru
splonk Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 25.lis.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD/ACA'21, RVT'21
Stav: Offline
Bodů: 1252
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace splonk Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 10:28
Původně odeslal(a) Lufttechnik Lufttechnik napsal(a):

Ešte tu pátram po nastavení toho výberu.
Prikladám tu dva obrázky.
Jeden je z Autocad 12 a druhý z Autocad 21.
Dva objekty- kružnicu a 4-hran presúvam (stretch ).
V acad12 je stará poloha viditelná ako čiarkovaná čiara.
V acad 21 je to takmer neviditelné šedé. Však to je problém sa trafit.

Možná v nastavení grafické karty... vypnout vyhlazování.. apod. ... asi nějaká změna bude ale zbytek kresby/zobrazení se Vám zhorší... hodně to záleží na typu GPU tudíž těžko říct přesně... (horší PC by to co chcete, řekl bych, uměl líp než nabušená mašina... )

... a nebo... :-) ...  zkuste... při kopírování je ten odstín světlejší než při posouvání... :-)
JASponza

ACA (AutoCAD) 2021,
RVT 2021

Win 10 x64
Zpět nahoru
Petr75 Zobrazit panel
TOP uživatel
TOP uživatel

Přihlášen: 16.úno.2007
Lokalita: ČR (JM)
Používám:
AutoCAD LT 2024
Stav: Offline
Bodů: 384
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Petr75 Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 14.dub.2023 v 08:49
Po nastavení, jak to vrátit zpět jsem již pátral před několika lety. Bohužel bez výsledně.
Pokud můžete, tak používejte posouvání entit pomocí uzlů. Vybrat entity, vybrat jeden uzel, zmáčknout mezerník a posouvat. Barvy původních objektů se nezmění. Pro otáčení zmáčknout mezerník 2x.
Pokud tato možnost není možná, tak buď si před posunem udělat pomocnou čáru nebo si dočasně změnit barvu papíru na bílou, tam je ta šedá ještě slušně vidět.
Zpět nahoru
Lufttechnik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 18.led.2021
Lokalita: Slovensko
Používám:
Autocad 2012
Stav: Offline
Bodů: 37
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lufttechnik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 12.dub.2023 v 18:54
Ešte tu pátram po nastavení toho výberu.
Prikladám tu dva obrázky.
Jeden je z Autocad 12 a druhý z Autocad 21.
Dva objekty- kružnicu a 4-hran presúvam (stretch ).
V acad12 je stará poloha viditelná ako čiarkovaná čiara.
V acad 21 je to takmer neviditelné šedé. Však to je problém sa trafit.
Neni možno to prestavit na iný efekt ?
Připojené náhledyPřihlaste se pro zobrazení plné verze - 100760/prnscrACAD12_2023-04-12_18-53-46.jpg Přihlaste se pro zobrazení plné verze - 100760/prnscrACDA21.png

Zpět nahoru
Lufttechnik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 18.led.2021
Lokalita: Slovensko
Používám:
Autocad 2012
Stav: Offline
Bodů: 37
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lufttechnik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 16.bře.2023 v 22:09
Ano , ďakujem. Našiel som to aj vpravo dole na lište - v System variable monitor.
Zpět nahoru
splonk Zobrazit panel
CAD/BIM manager
CAD/BIM manager
Avatar

Přihlášen: 25.lis.2006
Lokalita: ČR (Pha)
Používám:
AutoCAD/ACA'21, RVT'21
Stav: Offline
Bodů: 1252
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace splonk Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 16.bře.2023 v 22:01
zkuste SELECTIONPREVIEW (osobně mám nastaveno na 2)

Efekt zvýraznění si nastavíte v Options / Selection / Selection Preview Effect button... nebo tak něco... a pozor, efekt zvýraznění záleží i na nastavení grafické karty... např., ono modré zabarvení je pro lepčí GPU a jen čárkované zvýraznění je pro slabší GPU.
JASponza

ACA (AutoCAD) 2021,
RVT 2021

Win 10 x64
Zpět nahoru
Lufttechnik Zobrazit panel
Diskutér
Diskutér

Přihlášen: 18.led.2021
Lokalita: Slovensko
Používám:
Autocad 2012
Stav: Offline
Bodů: 37
Možnosti příspěvku Možnosti příspěvku   Poděkování (0) Poděkování0   Citace Lufttechnik Citace  OdpovědětOdpověď Přímý odkaz na tuto zprávu Zasláno: 16.bře.2023 v 21:18
V autocade 21 akonáhle nabehnem myšou na objekt , tak sa zvýrazí , ešte pred tým než ho vyberem. Je to možné vypnút ? ( mám anglický autocad ) Skúšam premennú Highlight , selectionefect a .t.d. , ale neni to ono.
+ pri príkaze Erase sa pri výbere mení barva objektu. Je to možné zmenit vypnút a nastavit na zmenu na čárkovanú čiaru ? Hladam to v Options – colors , ale neúspešne.
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 9809:Jak potlačit zářivě modré zvýraznění vybraných objektů?
Tip 9411:Jak vypnout ztlušťování čar při náhledu výběru objektů oknem.
Tip 5240:Jak vypnout pomalé zvýrazňování tloušťkou při výběru objektů?
Tip 2968:Výběr objektů mimo obrazovku oknem.
Tip 4120:Jak vybrat všechny objekty výkresu protínající nebo dotýkající se zvoleného objektu?
Tip 3532:Nejde postupně označovat více objektů najednou. Vybere se vždy jen jeden.


 Odpovědět Odpovědět

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



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