Vytisknout stránku | Zavřít okno

Problém s vypisováním textu ve smyčce

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=191
Datum vytištění: 11.kvě.2026 v 00:12


Téma: Problém s vypisováním textu ve smyčce
Odeslal: tetref
Předmět: Problém s vypisováním textu ve smyčce
Datum odeslání: 22.lis.2004 v 08:09

Ř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.




Odpovědi:
Odeslal: Jan Liska
Datum odeslání: 22.lis.2004 v 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
    Next
End Sub

S pozdravem,



-------------
Jan Liška
Autodesk Consulting


Odeslal: Vladimír Michl
Datum odeslání: 22.lis.2004 v 09:56
Není jednodušší tabulku rovnou vložit příkazem? (Vlož jako Entity AutoCADu)

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz helpdesk.arkance-systems.cz)


Odeslal: Honza
Datum odeslání: 22.lis.2004 v 10:03
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.


Odeslal: tetref
Datum odeslání: 22.lis.2004 v 10:33

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?



-------------
Robin Hála, VRV a.s.


Odeslal: tetref
Datum odeslání: 22.lis.2004 v 10:46
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č?

-------------
Robin Hála, VRV a.s.


Odeslal: Jan Liska
Datum odeslání: 22.lis.2004 v 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,



-------------
Jan Liška
Autodesk Consulting


Odeslal: tetref
Datum odeslání: 22.lis.2004 v 12:28

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é.



-------------
Robin Hála, VRV a.s.


Odeslal: tetref
Datum odeslání: 22.lis.2004 v 12:35
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.

-------------
Robin Hála, VRV a.s.



Vytisknout stránku | Zavřít okno