Zobrazit plnou verzi příspěvku: Problém s vypisováním textu ve smyčce
Řeším problém s vypisováním textu ve smyčce z jednotlivých řádků z listu vz excelu. Přestože se mění bod vložení, autocad vše vykresluje do počátku. Nezpůsobuje to vytvoření vždy stejného objektu, který se opakuje ve smyčce příkazem
set oText = thisdrawing.modelspace.addtext(text_obsah, text_bodvlozeni, text_vyska)
U vykreslování typu line s tímto problém není.
Děkuji za případné odpovědi.
Jan Liska
22.11.2004, 09:54
Dobrý den,
jakým způsobem nastavujete bod vložení? Jakou verzi AutoCADu používáte? Zkoušel jsem následujici test (verze AutoCADu 2005) a vše se zdá být v pořádku:
Sub Test() Dim height As Double height = 2.5 For i = 0 To 10 Dim pt(0 To 2) As Double pt(0) = 0# pt(1) = (height + 0.5) * i pt(2) = 0# ThisDrawing.ModelSpace.AddText "A", pt, height NextEnd Sub
S pozdravem,
Vladimír Michl
22.11.2004, 09:56
Není jednodušší tabulku rovnou vložit příkazem? (Vlož jako Entity AutoCADu)
Od ACAD 2004 jsem si navykl na tabulky používat MTEXT. Pracuje s tabelátory a tak již text pěkně zarovnává. Dále se jednoduše opravuje, edituje a hlavne se jednoduše vkládá. Čáry v tabulkách jsem vyloučil již dávno. Takže mi mtext opravdu vyhovuje.
Nejedná se o žádnou tabulku, text se vypisuje jednotlivě v různých částech výkresu na základě výpočtů a některý je třeba dodatečně otočit či změnit zarovnání. Proto používám příkaz set.
Problém se vyřešil při vynechání příkazu set oLine, jenomže pak se nedá s vytvořeným textem hned pracovat.
Napadá mě tedy k entitě přistupovat pomocí SelectionSet s vybráním té poslední a pak s ní pracovat. Je to jediný možný postup?tetref38313.441412037
Při připsání příkazu object.update za řádek Set oLine je při provádění makra vidět ve výkrese, že se text vykresluje správně, ale následně se přemístí z mě neznámých důvodů do počátku. Proč?
Jan Liska
22.11.2004, 10:56
Dobry den,
bohužel nevím, jak vypadá váš program pro vykreslovaní textu - podle toho co popisujete, provádíte další úpravy textu a při nich dojde ke změně umístění. Pokud budete ochoten uvést další podrobnosti (např. výpis kódu pro vykreslení), bude možné zjistit přesnou příčinu popisovaného chování.
S pozdravem,
Omlouvám se všem, kterým jsem pomotal hlavu mým problémem, zjistil jsem, že všechno tkví v přiřazení vlastnosti acAlignment a vůbec ne v příkazu set oLine. Nechce mi to vzít jednotlivé druhy zarovnání ať jsou stanoveny pevně nebo formou proměnné.
Nenastavil jsem TextAlignmentPoint a to zřejmě způsobilo, že se všechno zarovnalo do počátku, děkuji za Vaši pomoc. Otevřela mi oči v tom, že jsem se zaměřil na ostatní řádky než bylo definování samotného textu. Ty se mi zdály být v pořádku a proto jsem v nich chybu vůbec nehledal.