Šipka - směr - pomocí PLINE
Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: AutoCAD
Popis fóra: Otázky kolem aplikací AutoCAD a AutoCAD LT, AutoCAD web, prohlížečů, DWG a DXF, Design Review, Navisworks, nadstavby, Drive a cloud Autodesk
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=5546
Datum vytištění: 27.čer.2026 v 13:36
Téma: Šipka - směr - pomocí PLINE
Odeslal: Radim Cech
Předmět: Šipka - směr - pomocí PLINE
Datum odeslání: 25.lis.2007 v 17:39
|
Dostal jsem výkres a v něm byly šipky - směry kresleny pomocí PLINE. To mě docela zaujalo a dávám k dobru sekvenci třeba pod tlačítko
Šipka vpravo
^C^C_PLINE \_L -0 _W 0 1 _L -1 _W 0.5 0.5 _L 1 ;
Šipka vlevo
^C^C_PLINE \_L 0 _W 0 1 _L 1 _W 0.5 0.5 _L 1 ;
L -0 , resp. L 0 řídí směr vykreslování vlevo resp. vpravo
W 0 1 první část z šířky 0 na šířku 1
L -1 délka první části
W 0.5 0.5 druhá část šířky 0.5
L 1 délka druhé části
Předpokládá FILLMODE=1, aby byly vyplněné
Pro označení vstupů do objektů pak stačí jen první část šipky, vlastně trojúhelník
Vstup vpravo
^C^C_PLINE \_L -0 _W 0 1 _L -1 ;
Třeba to někomu příjde k dobru jako mně.
------------- R.C.
OSTRAVA
|
Odpovědi:
Odeslal: zisoun
Datum odeslání: 26.lis.2007 v 14:42
Celkem šikovná věc, ale je to omezené pouze na určitý směr. Užitečnější by to bylo, kdyby se třeba po vložení mohl zadat směr šipky např. myší. Ale nedaří se mi to upravit.
------------- Zisounek
|
Odeslal: Radim Cech
Datum odeslání: 26.lis.2007 v 14:59
S tím omezením souhlasím. Je potřeba natočit souřadný systém. Dalo by se tam ještě vložit přímo natočení USS 3 body, přičemž směr X by znamenal směr šipky, ale jestli je to lepší, nedokážu posoudit. NAvíc by se neptal na směr šipky, ale na body USS. Jinak asi LISP, ale ten nevyužijí LTčkáři, tohle s drobným omezením ano.
------------- R.C.
OSTRAVA
|
Odeslal: zisoun
Datum odeslání: 26.lis.2007 v 16:16
Tak jsem se pořád snažil to natočení dostat přímo dovnitř příkazu _pline a nakonec stačí přidat na konci makra natočení. Takže pak to vypadá takhle : ^C^C_pline;\_l;-0;_w;0.5;0.5;_l;-1;_w;1;0;_l;1;;_rotate;_l;;$M=$(getvar,lastpoint);\ Ještě jsem změnil pořadí kreslení šipky, tak aby se jako poslední kreslil vrchol šipky a mohl otáčet právě v tom vrcholu a funguje to.
------------- Zisounek
|
Odeslal: Radim Cech
Datum odeslání: 26.lis.2007 v 16:39
Dobrý. Já nejsa progrmátor ani v náznaku, ten fígl s $M=$(getvar,lastpoint);\ neznám.
------------- R.C.
OSTRAVA
|
Odeslal: Radim Cech
Datum odeslání: 26.lis.2007 v 17:36
|
Akorát je trochu nepraktické, že se kreslí od bodu, který vyberu. Když jsem tam natvrdo zadal otáčení o 50g, ukážu a šipka je vlastně jinde.
Ale zkoušel jsem tam vložit ještě otočení celé šipky v polovině o 200g, což se mi zdařilo, ale už pak ne ten další krok s tím otáčením.
Možná to pro Vás bude hračka. Prostě po nakreslení se šípka v polovině své délky otočí o 200g a ten bod, o který se to otáčí, je vlastně první vybraný bod.
Ale neumí to poskládat.
------------- R.C.
OSTRAVA
|
Odeslal: zisoun
Datum odeslání: 26.lis.2007 v 22:56
Tak jsem si s tím pohrál a upravil jsem to takto :
^C^C_pline;\_l;-0;_w;0;1;_l;-1;_w;0.5;0.5;_l;1;;_rotate;_l;;\\_scale;_l;;$M=$(getvar,lastpoint);\
Po vložení se to zeptá na referenční bod otáčení, tzn. je možno vybrat
vrchol šipky, polovinu nebo konec a po vybrání ukážu směr nebo vyberu
bod na který chci ukázat. Nakonec jsem tam dal ještě změnu měřítka,
protože pokaždé se mi hodí jiná velikost, kterou zadám bud ručnš nebo
prostě táhnu myší až se mi to líbí. Pokud nechci měřítko měnit,zrušim
ESC. Pro samotný trojúhelník je to podobné : ^C^C_pline;\_l;-0;_w;0;1;_l;-1;;_rotate;_l;;\\_scale;_l;;$M=$(getvar,lastpoint);\
------------- Zisounek
|
Odeslal: Radim Cech
Datum odeslání: 27.lis.2007 v 04:57
|
Už jen pro pořádek by to mělo být pro šipku s polovičními hodnotami, aby při zadání měřítka "1" měla šipka skutečně délku 1 j.
^C^C_pline;\_l;-0;_w;0;0.5;_l;-0.5;_w;0.25;0.25;_l;.5;;_rotate;_l;;\\_scale;_l;;$M=$(getvar,lastpoint);\
U trojúhelníku to může zůstat
^C^C_pline;\_l;-0;_w;0;1;_l;-1;;_rotate;_l;;\\_scale;_l;;$M=$(getvar,lastpoint);\
Ještě by stálo za upřesnění, že když příkaz z modifikuji
^C^C_pline;\_l;-0;_w;0;0.5;_l;-0.5;_w;0.25;0.25;_l;.5;;_rotate;_l;;\50;_scale;_l;;$M=$(getvar,lastpoint);2;
Tak se šipka po určení bodu otáčení otočí o 50g a 2x zvětší.
Pokud si to chce někdo natvrdo nastavit na různá otočení a velikosti.
Díky za pomoc. Snad jsem to nezmrvil
------------- R.C.
OSTRAVA
|
Odeslal: Radim Cech
Datum odeslání: 27.lis.2007 v 05:27
|
Ještě drobnost. Aby se při spuštění PLINE pro kreslení nekreslilo v poslední zadané tloušťce, je potřeba vložit do příkazu
^C^C_pline;\_l;-0;_w;0;0.5;_l;-0.5;_w;0.25;0.25;_l;.5;;plinewid;0;_rotate;_l;;\\_scale;_l;;$M=$(getvar,lastpoint);\
------------- R.C.
OSTRAVA
|
Odeslal: Sedláček
Datum odeslání: 27.lis.2007 v 08:04
|
Jen pro doplnění. Místo $M=$(getvar,lastpoint) stačí @
^C^C_pline;\_l;-0;_w;0.5;0.5;_l;-1;_w;1;0;_l;1;;_rotate;_l;;@;\
|
Odeslal: alfred
Datum odeslání: 27.lis.2007 v 08:08
|
Nechci vypadat jako kverulant, ale v cem je sipka z krivky lepsi nez blok? Meritko bloku lze menit zvlast X a Y a natoceni je take snadne...
|
Odeslal: zisoun
Datum odeslání: 27.lis.2007 v 08:24
Radim Cech napsal(a):
.....Snad jsem to nezmrvil
|
Určitě ne. Upravit se to dá takto jednoduše podle svých potřeb.
Sedláček napsal(a):
Místo $M=$(getvar,lastpoint) stačí @
|
Ano vím, že se to dá nahradit, ale nějak mi to uniklo. Takto je to kratší a elegantnější.
------------- Zisounek
|
Odeslal: zisoun
Datum odeslání: 27.lis.2007 v 08:41
alfred napsal(a):
Nechci vypadat jako kverulant, ale v cem je sipka z krivky lepsi nez blok? Meritko bloku lze menit zvlast X a Y a natoceni je take snadne... |
Lepší asi nebude, ale ve výsledku to vyjde +- na stejno.
Šipka z křivky je rozdělená na dvě části, které si můžu libovolně natáhnout podle potřeby . A aspoň má člověk dobrej pocit, že to udělal nějak nestandartně.
------------- Zisounek
|
Odeslal: Radim Cech
Datum odeslání: 27.lis.2007 v 08:47
Můj osobní názor, ale samozřejmě neobjektvní, že čím je bloků ve výkrese míň, tím líp. Hlavně při sdílení s jinými projektanty. A hlavně velmi lehce mohu tento tip dát i ostatním kolegům bez složitého vysvětlování
------------- R.C.
OSTRAVA
|
Odeslal: Radim Cech
Datum odeslání: 27.lis.2007 v 08:48
Sedláček napsal(a):
Jen pro doplnění. Místo $M=$(getvar,lastpoint) stačí @
^C^C_pline;\_l;-0;_w;0.5;0.5;_l;-1;_w;1;0;_l;1;;_rotate;_l;;@;\ |
Kde na ty nápady chodíte 
------------- R.C.
OSTRAVA
|
Odeslal: Kackac
Datum odeslání: 28.lis.2007 v 05:15
Radim Cech napsal(a):
čím je bloků ve výkrese míň, tím líp |
Tak to já naopak bloky preferuju, hlavně z důvodu velmi jednoduché globální editace vzhledu a velikosti. Když připravujete výkres pro 1:200, máte třeba 50 bloků v nějakém měřítku, když pak v dalším stupni projektu děláte 1:50, jen změníte měřítko bloku a je to. Kdyby to byly křivky, tak musíte na každou zvlášť, brrr :)
------------- Kackac
|
Odeslal: Ferdinand
Datum odeslání: 28.lis.2007 v 11:23
V podstatě souhlasím s alfrédem a s Kackac. Já v tom vidím také riziko: pokud se ta "šipka" - třeba nějakým nedopatřením či při "globálním rozbitím všeho" - rozbije, zbydou po ní 2 navazující linky a "šipka" je v ... Pokud se rozbije blok (který bych osobně vytvořil jako 3 entity _solid - ten se taky nedá rozbít), zbyde po něm opět šipka.
------------- -FerTh-
|
Odeslal: Ferdinand
Datum odeslání: 28.lis.2007 v 14:50
Viz můj dnešní příspěvek http://www.cadforum.cz/forum/forum_posts.asp?TID=5563 - sipka1 v sekci CAD programování
------------- -FerTh-
|
|