Thread View: pl.comp.cad
2 messages
2 total messages
Started by szadok
Sat, 14 Nov 2009 00:04
[Acad] [Lisp] Wstawienie tekstu
Author: szadok
Date: Sat, 14 Nov 2009 00:04
Date: Sat, 14 Nov 2009 00:04
28 lines
1854 bytes
1854 bytes
Witam, niby prosta rzecz, chcę wstawić na rysunku z lispa kawałek tekstu. Ale w zależności od tego, czy używany styl tekstu posiada zadeklarowaną wysokość, czy też wysokość = 0 w czasie wpisywania komendy "text" autocad albo nie zapyta o wysokość tekstu, albo zapyta. Wobec czego w lispie linijki powinny wyglądać tak: (command "_.text" punkt wysokosc kat text "" ) lub tak: (command "_.text" punkt kat text "" ) Czy ktoś może wie, jak można sprawdzić, czy AC zapyta o wysokość tekstu? Zmienne przeglądałem, nic ciekawego nie znalazłem. W obu przypadkach zmienna textsize ma niezerową wartość. Jak ew. uodpornić Lispa na ww problem? Chodzi ofkoz o sposób najprostszy. Od razu odpowiadam: tak, tak - wiem, używanie "command" w lispie jest nieeleganckie, etc... ale na razie jakoś nie mam zapału [tylko czasem mnie dopada potrzeba napisania czegoś krótkiego] do uczenia się jakichś VBA, czy innych cudów o których istnieniu nawet nie wiem ;) pzdr, szadok -- 'To jest cnota nad cnotami - trzymać język za zębami' śp. babcia ANTYSPAM:usuń cyfry z adresu mail
Re: [Acad] [Lisp] Wstawienie tekstu
Author: PiotrB.
Date: Sat, 14 Nov 2009 13:58
Date: Sat, 14 Nov 2009 13:58
40 lines
1981 bytes
1981 bytes
Dnia 14-11-2009 o 01:04:40 szadok <szadok375@terramail.pl> napisał(a): musisz sprawdzić czy aktualny styl tekstu ma niezerową wysokość. a najlepiej użyć VBA np.: Sub textadd() Dim textString, insertionPoint, height Dim text As AcadText textString = ThisDrawing.Utility.GetString(True, "Wpisz tekst: ") insertionPoint = ThisDrawing.Utility.GetPoint(, "Wskaż punkt wstawienia: ") height = ThisDrawing.Utility.GetDistance(insertionPoint, "Podaj wysokość tekstu: ") Set text = ThisDrawing.ModelSpace.AddText(textString, insertionPoint, height) End Sub lub z mtext: Sub mtextadd() Dim textString, insertionPoint, height, width Dim text As AcadMText textString = ThisDrawing.Utility.GetString(True, "Wpisz tekst: ") insertionPoint = ThisDrawing.Utility.GetPoint(, "Wskaż punkt wstawienia: ") Set text = ThisDrawing.ModelSpace.AddMText(insertionPoint, 0, textString) height = ThisDrawing.Utility.GetDistance(insertionPoint, "Podaj wysokość tekstu: ") text.height = height width = ThisDrawing.Utility.GetDistance(insertionPoint, "Podaj szerokość tekstu: ") text.width = width End Sub
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads