Zobrazit plnou verzi příspěvku: VBA / Název zobrazení příkazu

jerry00769
26.08.2023, 18:11
Ahoj všem hledal jsem na Googlu ale nezadařilo se. Obracím se na Vás s dotazem zápisu VBA kódu pro následující situaci. Naprogramoval jsem do extra souboru *.cuix menu nabídek, panelů nástrojů ale i karet s příkazy. U příkazů mám názvy, ale do názvu: Název zobrazení příkazu chystám doplnit název blocku. Příklad pro příkaz Sloup betonový JB (nový) > PB_N_PB_01 jako název blocku PN_N_PB_01.dwg.Potřeboval byl, aby v případě výběru tohoto příkazu se mi zobrazil název tohoto blocku (PB_N_PB_01) třeba do msgboxu pro kontrolu, pro jiný zase s jiným názvem, čímž bych mohl pak docílit vložení blocku do výkresu. Nechce se mi pro insert block definovat každy název extra. Těch vlastních příkazů je fakt hodně...Děkuji za zpětnou vazbu.Jerry 

Vladimír Michl
26.08.2023, 18:17
Pro vkládání sortimentu bloků je nejlépe použít Palety AutoCADu - máte blok rovnou i s náhledem a s možností ovlivnit hladinu, měřítko, atd. - i bez programování.Jinak požadavek je na nějakou funkci VLOZMUJBLOK se zadáním názvu jako parametru?

jerry00769
26.08.2023, 20:00
Ahoj,díky za zpětnou vazbu. Kolega naprogramoval pro Microstation, já předělávám do AutoCadu. Menu v obrázku. Každá položka má míto možnost vložení bloku ze struktury. Chci ale obecné makro pro vložení, kde by se název příkazu ztotožnil s názvem bloku (dwg). Jistě jdou bloky vkládat extra, to jde i v Microstation jako vkládání buněk z dialogu, ale máme to makrem ošetřené právě tímto systémem, kde přes ikonu se spustí vlastní příkaz pro vložení bloku (buňky), následně se předvolí měřítko, které pak násobíme přes rozbal seznam... např měřítko do výkresu elektro projektu sloupy (vední apod.) a rotace pak manuálně, aby se blok (buňka) mohla otočit podle volby uživatele. V Microstationu vše funguje, jen v AutoCadu musím najít vhodně VBA příkazy (něco už mi funguje na jiné věci jako klik na pozemek a odkaz do KN, mapy CZ ale i Google apod.)...Snad jsem to uměl dobře popsat :)

Vladimír Michl
27.08.2023, 08:29
Předpokládám, že blok vkládáte něčím jako:Set objBlockRef = ThisDrawing.ModelSpace.InsertBlock(varInsertionPoint, strBlkName, dblX, dblY, dblZ, dblRotation)ale způsob zjištění nebo výpočtu parametrů bude na vás.(vámi popisované funkce mi hodně připomínají náš starý PC-GEOdet, ale ten je v LISPu)

jerry00769
27.08.2023, 09:47
Asi tam obdoba bude. Microstation to má pěkně vyřešené, kdy se k příkazu z přiřazené tlačítka dá zvolit název aktivní buňky př. N_PB_01, na kterou se pak přes makro (obrázky níže) odkáže. Něco podobného bych chtěl, kdy navážu na Název Zobrazení  Příkazu obecně a protože bych jej pak zvolil vepíše se v podstatě do názvu ve VBA (zřejmě takový jaký jste mi poslal s děkuji ).