🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by szadok Sat, 14 Nov 2009 00:04
[Acad] [Lisp] Wstawienie tekstu
#53218
Author: szadok
Date: Sat, 14 Nov 2009 00:04
28 lines
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
#53219
Author: PiotrB.
Date: Sat, 14 Nov 2009 13:58
40 lines
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